Нахождение интегралов в среде 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.