Ошибка в программе "встречено '.', а ожидвлось " - Pascal ABC
Формулировка задачи:
Ошибка в программе "встречено '.', а ожидалось ';' (последняя строка).
Программа вычисляет методом трапеции сразу четыре интеграла.
Решение задачи: «Ошибка в программе "встречено '.', а ожидвлось "»
textual
Листинг программы
type func=function(x:real):real;
function f1(x:real):real;
begin
f1:=(x*x+1)/((x*x*x+3*x+1)*(x*x*x+3*x+1));
end;
function f2(x:real):real;
begin
f2:=1/sin(x)/sqrt(1+x); //исправил Вашу функцию, не знаю верно ли, но sin^ такое не пишут
end;
function f3(x:real):real;
begin
f3:=1/(x+1);
end;
function f4(x:real):real;
begin
f4:=sin(x)/(5+3*sin(x));
end;
procedure trap(a,b,h:real;f:func;n:byte);
var s,k:real;
begin
s:=(f(a)+f(b))/2;
k:=a;
while k<=b do
begin
k:=k+h;
s:=s+f(k);
end;
s:=s*h;
writeln('a',n,'=',a:0:1,' b',n,'=',b:0:1,' h',n,'=',h:0:2,' S',n,'=',s:0:3);
end;
begin
trap(1,5,0.05,f1,1);
trap(1,5,0.05,f2,2);
trap(1,5,0.05,f3,3);
trap(1,5,0.05,f4,4);
end.
Объяснение кода листинга программы
Данный код представляет собой программу на языке Pascal ABC, которая реализует метод трассировки для вычисления значений функций f1, f2, f3 и f4.
- Тип
funcопределяет функцию без параметров и возвращающим значение типаreal. - Функции
f1,f2,f3иf4определяют соответственно четвертую, третью, вторую и первую функции из задания. Каждая функция принимает аргумент типаrealи возвращает значение типаreal. - Процедура
trapопределяет процедуру без параметров и содержит следующие переменные:a,b,hиf- аргументы функций, которые будут использоваться в процессе вычислений. Также в процедуре определены переменныеsиkтипаreal, которые будут использоваться для хранения промежуточных результатов. - В цикле
whileпроисходит вычисление среднего значения функцииfна интервалах отkдоk+h. Значение функцииfвычисляется как сумма значений функций на двух концах интервала, разделенная на 2. Затем значение функцииfдобавляется к сумме переменныхsиk. - По завершении цикла выводится информация о значениях переменных
a,b,h,sиkс помощью функцииwriteln. - В конце программы вызываются процедуры
trapдля каждой функции с соответствующими значениями аргументов. Ошибки в программе:- В функции
f2вместо использования функцииsinследует использовать функциюsin(x), так как аргумент функцииsinдолжен быть выражен в радианах. - В функции
f4вместо использования функцииsinследует использовать функциюsin(x), так как аргумент функцииsinдолжен быть выражен в радианах.
- В функции