Вычислить интеграл методом трапеции - Pascal ABC
Формулировка задачи:
Найти
методом трапеций, разбивая
отрезок интегрирования на n = 22.
Так же найти с заданной точностью (выбрать e=0,001¸0,00001).
Есть наброски, но могу кинуть вечером.
Должны быть процедурки и менюшка. У меня там не получается, меньше и меньше числа.
Решение задачи: «Вычислить интеграл методом трапеции»
textual
Листинг программы
const a=0; b=pi/2; n=22; function f(x:real): real; begin f:=sqr(sin(x)); end; procedure ndd; var h,x,s,y:real; i:integer; begin s:=0; h:=(b-a)/n; for i:=1 to n-1 do begin x:=a+i*h; s:=s+f(x); end; y:=h*((f(a)+f(b))/2+s); writeln('При n=',n,' y=',y:0:5); end; procedure eoo(e:real); var m,i:integer; x,s,y:real; begin m:=round((b-a)/e); s:=0; for i:=1 to m-1 do begin x:=a+i*e; s:=s+f(x); end; y:=e*((f(a)+f(b))/2+s); writeln('При e=',e:0:5,' y=',y:0:5); end; begin ndd; eoo(0.001); eoo(0.00001); end.
Объяснение кода листинга программы
- const a=0; b=π/2; n=22;
- function f(x:real): real;
- begin f := sqr(sin(x)); end;
- procedure ndd; var h,x,s,y:real; i:integer; begin s := 0; h := (b-a)/n; for i := 1 to n-1 do begin x := a + ih; s := s + f(x); end; y := h ((f(a) + f(b))/2 + s); writeln('При n=',n,' y=',y:0:5); end;
- procedure eoo(e:real); var m,i:integer; x,s,y:real; begin m := round((b-a)/e); s := 0; for i := 1 to m-1 do begin x := a + ie; s := s + f(x); end; y := e ((f(a) + f(b))/2 + s); writeln('При e=',e:0:5,' y=',y:0:5); end;
- begin ndd; eoo(0.001); eoo(0.00001); end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д