Нахождение
интегралов в среде Pascal
Текст задания:
найти
интеграл функции sin (x+10)+x4=0 используя два метода: метод прямоугольников и
метод трапеций; пользователь вводит значения и выбирает метод решения.
Текст программы:
program
LW_5;
uses
Crt;
var
dx,
x1, x2, e, i, c, s:real;
function
Fx (x:real):real;
begin
Fx:=sin
(x+10)+x*x*x*x; {function}
end;
procedure
CountViaBar;
var
xx1,
xx2:real;
c:longint;
begin
writeln
('–');
writeln
('–>MEthod PRYAMOUGOL''NIKOVVVV');
writeln
('vsego interaciy:', round (abs(x2-x1)/e));
i:=0;
for
c:=1 to round (abs(x2-x1)/e) do begin
write
('integration ', c, chr(13));
xx1:=Fx
(x1+c*e);
xx2:=Fx
(x1+c*e+e);
i:=i+abs
(xx1+xx2)/2*e;
end;
writeln
('–');
writeln
('INTEGRAL=', i);
end;
procedure
CountViaTrap;
var
xx1,
xx2, xx3:real;
c:longint;
begin
writeln
('–');
writeln
('–>MEthod TRAPECIY');
writeln
('vsego interaciy:', round (abs(x2-x1)/e));
i:=0;
for
c:=1 to round (abs(x2-x1)/e) do begin
write
('Integration ', c, chr(13));
xx1:=Fx
(x1+c*e);
xx2:=Fx
(x1+c*e+e);
if
xx2>xx1 then xx3:=xx1 else xx3:=xx2;
i:=i+abs
(xx2-xx1)*e+abs(xx3)*e;
end;
writeln
('–');
writeln
('INTEGRAL=', i);
end;
begin
clrscr;
writeln
('vvedite ishodniye zna4eniya:');
write
('NA4AL''NOYE ZNE4ENIYE x (x1)='); Readln(x1);
write
('KONE4NOYE ZNA4ENIYE x (x2)='); Readln(x2);
write
('TO4NOST'' VbI4ISLENIY (e)='); Readln(e);
writeln
('–======vvedite metod====== – :');
writeln
('DLYA METODA PRYAMOUGOL''NIKOV VVEDITE 1, DLYA METODA TRAPECIY VVEDITE 2');
//writeln
('DLYA METODA TRAPECIY VVEDITE 2');
readln
(s);
if
s=1 then begin
CountViaBar;
end;
if
s=2 then begin
CountViaTrap;
end;
readln;
end.