program Project423;

{$APPTYPE CONSOLE}

uses
SysUtils,
math;

function Rus(S:String):String;
var i:byte;
begin
Result:='';
for i:=1 to Length(S) do
case S[i] of
'А'..'п': Result:=Result+Chr(Ord(S[i])-64);
'р'..'я': Result:=Result+Chr(Ord(S[i])-16);
'Ё': Result:=Result+Chr(240);
'ё': Result:=Result+Chr(241);
else
Result:=Result+S[i];
end;
end;

var
a, b, x, y, S, dx, SL, SR, Sc, St,p:real;
n,k:integer;

begin
writeln (rus('введите a,b,n,k')); readln (a,b,n,k);
writeln;

//точное значение
S:=abs(((1/2)*b-(1/4)*sin(2*b)-((1/2)*a-(1/4)*sin(2*a))));
writeln (rus('точное значение'));
writeln ('S = ',S:k+3:k); writeln;

//таблица для метода приямоугольников
writeln (' ':14,rus('площадь'),' ',rus('абс. о.'),' ',rus('отн. о.')); writeln;

dx:=(b-a)/n;
x:=a;

//левый
SL:=0;
while xbegin
y:=sin(x)*sin(x);
SL:=y+SL;
x:=x+dx;
end;
SL:=abs(SL*dx);
write (rus('левый:'),' ':7); write (SL:k+3:k,' ':3); write (Abs(S-SL):k+3:k,' ':2); writeln (Abs((S-SL)/S):k+3:k,'%',' ':2);
writeln;

//правый
x:=a+dx;
SR:=0;
while x<=b do
begin
y:=sin(x)*sin(x);
SR:=SR+y;
x:=x+dx;
end;
SR:=abs(SR*dx);
write (rus('правый:'),' ':6); write (SR:k+3:k,' ':3); write (Abs(S-SR):k+3:k,' ':2); writeln (Abs((S-SR)/S):k+3:k,'%',' ':2);
writeln;

//центральная
x:=a+dx/2;
Sc:=0;
while x<=b do
begin
y:=sin(x)*sin(x);
Sc:=Sc+y;
x:=x+dx;
end;
Sc:=abs(Sc*dx);
writeln (rus('центральный: '),Sc:k+3:k,' ':3,Abs(S-Sc):k+3:k,' ':2,Abs((S-Sc)/S):k+3:k,'%',' ':2);
writeln;

//метод трапеции
St:=(sin(a)*sin(a)+sin(b)*sin(b))/2;
x:=a+dx;
while xbegin
y:=sin(x)*sin(x);
St:=St+y;
x:=x+dx;
end;
St:=St*dx;
write (rus('трапеция:'),' ':4);
write (St:k+3:k,' ':3); write (Abs(S-St):k+3:k,' ':2); writeln (Abs((S-St)/S):k+3:k,'%',' ':2);
writeln;

readln;
end.





Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.