Помогите, пожалуйста, написать программу на Паскале! очень срочно!
нужно составить программу численного интегрирования методом средних (пример метода на картинке)
поинтегральное выражение:

a=pi/3; b=pi/2; n=60
Приложения:

Ответы на вопрос
Ответил petyaGavrikov
0
var a,b,h,x,s:real; n:integer;
begin
a:=pi/3; b:=pi/2; n:=60;
h:=(b-a)/n;
s:=0;
x:=a+h/2;
repeat
s:=s+(sin(x)+cos(2*x))/(2+cos(x));
x:=x+h;
until x>b-h/4;
s:=s*h;
writeln(x);
end.
Результат:
1.575159649924877e+00
begin
a:=pi/3; b:=pi/2; n:=60;
h:=(b-a)/n;
s:=0;
x:=a+h/2;
repeat
s:=s+(sin(x)+cos(2*x))/(2+cos(x));
x:=x+h;
until x>b-h/4;
s:=s*h;
writeln(x);
end.
Результат:
1.575159649924877e+00
Ответил Аноним
0
Только вывести надо было s, а не х
Ответил petyaGavrikov
0
Конечно s. Спасибо.
...
s:=s*h;
writeln(s);
end.
Результат:
2.821598636378351e-02
...
s:=s*h;
writeln(s);
end.
Результат:
2.821598636378351e-02
Ответил Аноним
0
// PascalABC.NET 3.3.5, сборка 1636 от 10.03.2018
// Внимание! Если программа не работает, обновите версию!
begin
var (a,b,n):=(Pi/3,Pi/2,60);
var (h,s):=((b-a)/n,0.0);
var x:=a+h/2;
var f:real->real:=t->(Sin(t)+Cos(2*t))/(2+Cos(t));
repeat
s+=f(x); x+=h;
until x>b-h/4;
s*=h;
Writeln(s)
end.
Результат
0.0282159863637836 - подчеркнуты правильные цифры.
Во вложении - контрольный пример. Аналитическое решение и его приближенная с 20 знаками величина.
// Внимание! Если программа не работает, обновите версию!
begin
var (a,b,n):=(Pi/3,Pi/2,60);
var (h,s):=((b-a)/n,0.0);
var x:=a+h/2;
var f:real->real:=t->(Sin(t)+Cos(2*t))/(2+Cos(t));
repeat
s+=f(x); x+=h;
until x>b-h/4;
s*=h;
Writeln(s)
end.
Результат
0.0282159863637836 - подчеркнуты правильные цифры.
Во вложении - контрольный пример. Аналитическое решение и его приближенная с 20 знаками величина.
Приложения:

Новые вопросы