Предмет: Информатика,
автор: Muffins
Составить процедуру-функцию и основную программу для вычисления значения выражения и вывода их на экран:
при x=0,1; 0; 1,5.
Написать программу нужно в Pascal ABC (важно именно ABC).
Аноним:
Эту программу можно и не в АВС писать, в ней нет никак особенностей. Ну разве что в функции использовать result...
Ответы
Автор ответа:
1
PascalABC.Net с максимумом "фишек":
function f(x:double):double;
begin
result:=(3*x+2*x+5)/(cos(x)-sin(x))+power(x,3)
{ Cкорее всего, в условии ошибка и должно быть не 3х, а 3x^2,
тогда надо числитель писать как (3*sqr(x)+2*x+5) }
end;
var
x:double;
begin
foreach x in [0.1,0,1.5] do
Writeln('x=',x:3:1,' y=',f(x):0:5)
end.
Результат выполнения программы:
x=1.5 y=-10.11288
x=0.1 y=6.14508
x=0.0 y=5.00000
Обратите внимание, что порядок следования х не такой,
как указан в программе: элементы множества
считаются неупорядоченными и компилятор вправе
располагать их произвольно.
Более традиционное решение
function f(x:double):double;
begin
result:=(3*x+2*x+5)/(cos(x)-sin(x))+power(x,3)
{ Cкорее всего, в условии ошибка и должно быть не 3х, а 3x^2,
тогда надо числитель писать как (3*sqr(x)+2*x+5) }
end;
const
a:array[1..3] of double=(0.1,0,1.5);
var
i:integer;
begin
for i:=1 to 3 do
Writeln('x=',a[i]:3:1,' y=',f(a[i]):0:5)
end.
Результат выполнения программы:
x=0.1 y=6.14508
x=0.0 y=5.00000
x=1.5 y=-10.11288
function f(x:double):double;
begin
result:=(3*x+2*x+5)/(cos(x)-sin(x))+power(x,3)
{ Cкорее всего, в условии ошибка и должно быть не 3х, а 3x^2,
тогда надо числитель писать как (3*sqr(x)+2*x+5) }
end;
var
x:double;
begin
foreach x in [0.1,0,1.5] do
Writeln('x=',x:3:1,' y=',f(x):0:5)
end.
Результат выполнения программы:
x=1.5 y=-10.11288
x=0.1 y=6.14508
x=0.0 y=5.00000
Обратите внимание, что порядок следования х не такой,
как указан в программе: элементы множества
считаются неупорядоченными и компилятор вправе
располагать их произвольно.
Более традиционное решение
function f(x:double):double;
begin
result:=(3*x+2*x+5)/(cos(x)-sin(x))+power(x,3)
{ Cкорее всего, в условии ошибка и должно быть не 3х, а 3x^2,
тогда надо числитель писать как (3*sqr(x)+2*x+5) }
end;
const
a:array[1..3] of double=(0.1,0,1.5);
var
i:integer;
begin
for i:=1 to 3 do
Writeln('x=',a[i]:3:1,' y=',f(a[i]):0:5)
end.
Результат выполнения программы:
x=0.1 y=6.14508
x=0.0 y=5.00000
x=1.5 y=-10.11288
Похожие вопросы
Предмет: Українська мова,
автор: terletskiydenis
Предмет: Русский язык,
автор: Mrsozic
Предмет: Русский язык,
автор: Dashyta2501
Предмет: Обществознание,
автор: lera1188
Предмет: Математика,
автор: Аноним