Протабулировать функцию и найти сумму значений функции в каждой точке - Free Pascal
Формулировка задачи:
Условие задания:
Протабулировать функцию в интервале от a до b с шагом 0,01. Сама функция f(x)=4x-2. Найти сумму значений функции в каждой точке.
Помогите, пожалуйста написать программу
Решение задачи: «Протабулировать функцию и найти сумму значений функции в каждой точке»
textual
Листинг программы
uses crt;
function f(x:extended):extended;
begin
f:=exp(ln(4)*(x-2))
end;
var a,b,h,x,s:extended;
begin
clrscr;
write('Начало интервала a=');
readln(a);
repeat
write('Конец интервала b>',a:0:2,' b=');
readln(b);
until b>a;
repeat
write('Шаг табуляции h<',b-a:0:2,' h=');
readln(h);
until h<b-a;
x:=a;
s:=0;
while x<=b+h/2 do
begin
s:=s+f(x);
writeln('x=',x:0:2,' f(x)=',f(x):0:3,' s=',s:0:3);
x:=x+h
end;
readln
end.
Объяснение кода листинга программы
- Объявление функции f(x) с одним аргументом типа extended, которая возвращает значение типа extended.
- Объявление переменных a, b, h, x, s типа extended.
- Ввод начального значения интервала a с помощью функции readln().
- Повторяющийся блок, который позволяет пользователю вводить конечное значение интервала b, не позволяя ему быть меньше начального значения a.
- Повторяющийся блок, который позволяет пользователю вводить шаг табуляции h, не позволяя ему быть больше разности b-a.
- Инициализация переменной x значением a.
- Инициализация переменной s значением 0.
- Цикл while, который выполняет следующие действия:
- Вычисляет значение функции f(x) для переменной x.
- Выводит значения x, f(x) и s на экран.
- Увеличивает значение x на шаг h.
- Добавляет значение f(x) к переменной s.
- Завершающий блок программы, который ожидает ввода пользователя с помощью функции readln().