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