Вычислить интеграл по формуле прямоугольников - Pascal ABC
Формулировка задачи:
где
Помогите пожалуйста вычислить интеграл по формуле прямоугольников, на языке паскаль
Ответ выходит не тот(((
Решение задачи: «Вычислить интеграл по формуле прямоугольников»
textual
Листинг программы
Program INT ; var a,b,t,c,d,h,s,x:real ; k,n:integer; begin a := 0 ; For k:= 1 to 3 do a:= a+((k+4)/(k+2)); t:=4.3*cos(a); b:=3*sqr(t)+4; writeln('a/b=',a/b:0:4); c:=0; d:=1; write('Число разбиений n=');//чем больше k, тем выше точнсть readln(n); h:=(d-c)/n; x:=c+h/2; s:=0; for k:=1 to n do begin s := s+sin(a/b)*x; x := x+h; end; s:=s*h; writeln ( ' значение интеграла = ' , s:0:5 ); end .
Объяснение кода листинга программы
- Создание программы для вычисления интеграла по формуле прямоугольников.
- Объявление переменных: a, b, t, c, d, h, s, x - real числа; k, n - целые числа.
- Инициализация переменной a значением 0.
- Цикл for k:= 1 до 3 доставляет значение a, которое вычисляется по формуле a=a+((k+4)/(k+2)).
- Вычисление значения t=4.3*cos(a).
- Вычисление значения b=3*sqr(t)+4.
- Вывод строки 'a/b=', a/b:0:4, где a/b - это значение a деленное на b.
- Объявление переменных c, d, которые будут использоваться для вычисления чисел разбиений n.
- Чтение значения n от пользователя.
- Вычисление значения h=(d-c)/n, которое будет использоваться для разбиения интервала [c,d] на n равных частей.
- Вычисление значения x=c+h/2, которое будет использоваться в цикле for k=1 до n.
- Инициализация переменной s значением 0.
- Запуск цикла for k=1 до n. В каждой итерации цикла значение s увеличивается на sin(a/b)*x, а значение x увеличивается на h.
- После окончания цикла вычисляется значение s=s*h.
- Вывод строки ' значение интеграла = ' и значения s:0:5, где 5 - это максимальное значение, которое может быть представлено в виде десятичной дроби.
- Конец программы.