Помогите отладить программу - Free Pascal
Формулировка задачи:
Помогите отладить пожалуйста
program kyrsov;
uses crt;
var
function f(x:real):real;
i:integer;
a,b,s:real;
begin
writeln ('vvod a,b:');
readln (a,b);
f:=sin(0.4*x)-3*ln(x);
t:array[1..5]of real=(0.832498,0.374541,0,-0.374541,-0.832498);
x:array[1..5]of real;
y:array[1..5]of real;
end;
s:=0
for i:=1 to 5 do
begin
x[i]:=(b+a)/2+(b-a)/2*t[i];
y[i]:=f[i];
s:=s+y[i];
end;
s:=s*(b-a)/2;
writeln('s=',s:10:7);
end.Решение задачи: «Помогите отладить программу»
textual
Листинг программы
program kyrsov;
uses crt;
function f(x:integer):real;
begin
f:=sin(0.4*x)-3*ln(x);
end;
var i:integer;
a,b,s:real;
t:array[1..5]of real=(0.832498,0.374541,0,-0.374541,-0.832498);
x:array[1..5]of real;
y:array[1..5]of real;
begin
clrscr; ;
writeln ('vvod a,b:');
readln (a,b);
s:=0;
for i:=1 to 5 do
begin
x[i]:=(b+a)/2+(b-a)/2*t[i];
y[i]:=f(i);
s:=s+y[i];
end;
s:=s*(b-a)/2;
writeln('s=',s:10:7);
readln
end.
Объяснение кода листинга программы
- Объявлены переменные: i, a, b, s, t, x, y.
- Пользователю предлагается ввести значения a и b.
- Инициализирован массив t.
- Задана формула для вычисления x и y.
- Выполняется цикл по i от 1 до 5.
- Каждый элемент массива x и y вычисляется по формуле.
- Каждый элемент y добавляется к переменной s.
- Переменная s умножается на (b-a)/2.
- Выводится значение s.
- Программа ожидает ввода пользователя для завершения работы.