у меня ошибка в паскале вылезает

Рейтинг: -2Ответов: 2Опубликовано: 27.04.2023
program tabulation;

const
  a = -3;   // начальное значение x
  b = 3;    // конечное значение x
  h = 0.3;  // шаг

var
  x, min_x, min_fi, fi: real;

begin
  fi := 0.0;
  min_fi := fi(a);  // инициализируем минимальное значение функции
  min_x := a;       // и соответствующий аргумент
  writeln('x':10, 'fi(x)':15);
  for x := a to b step h do
  begin
    fi := 3 * sqr(x) + 2 * cos(x);
    writeln(x:10:2, fi:15:4);
    if fi < min_fi then
    begin
      min_fi := fi;
      min_x := x;
    end;
  end;
  writeln('Минимальное значение функции равно ', min_fi:0:4,
          ' и достигается при x = ', min_x:0:2);
end.

main.pas(13,15) Fatal: Syntax error, ";" expected but "(" found Fatal: Compilation aborted Error: /usr/bin/ppcx64 returned an error exitcode вот ошибка

Ответы

▲ 2
min_fi := fi(a);

Здесь написано, будто fi - функция, а у вас это просто переменная.

По смыслу вы должны объявить и реализовать функцию вроде

function fi(u:double):double;
  здесь тело функции

Но далее в цикле у вас просто значение выражения для fi вычисляется без функции

P.S. step h - это где такое, в АБЦ из бейсика взяли?

цикл переделайте:

x := a;
while x <= b do begin
  ...
  x := x + h;
end;
▲ 0

Вы вызываете переменную fi, как функцию, отсюда и ошибка.