Рефетека.ру / Информатика и програм-ие

Лабораторная работа: Нахождение интегралов в среде Pascal

Текст задания: найти интеграл функции sin (x+10)+x4=0 используя два метода: метод прямоугольников и метод трапеций; пользователь вводит значения и выбирает метод решения.


Нахождение интегралов в среде Pascal

Нахождение интегралов в среде Pascal


Текст программы:

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.

Рефетека ру refoteka@gmail.com