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

dasa2208 dasa2208    3   01.07.2019 00:10    0

Ответы
bemasmile2004 bemasmile2004  24.07.2020 13:12
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
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика