Составить процедуру-функцию и основную программу для вычисления значения выражения и вывода их на экран: при x=0,1; 0; 1,5. написать программу нужно в pascal abc (важно именно abc).
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