Язык программирования Pascal. Процедуры и функции. Рекурсия. Васильев В.В - 20 стр.

UptoLike

20
женное значение интеграла I
n
вычислять при n = n
o
, 2n
o
, 4n
o
и т.д. (где n
o
не-
которое начальное число отрезков разбиения, например , n
o
=10), тогда при
IIe
nn2
3−</
за искомую величину можно взять I
2n
.
Вычисление подынтегральной функции опишем в подпрограмме-
функции с именем f(x). Особый случай: при х =0 значением функции будем
считать единицу (первый замечательный предел). В процедуре Integral вычис-
лим I
n
по формуле трапеций. Правило Рунге реализуем в основной программе в
виде цикла , в теле которого вызывается процедура Integral. Цикл будет выпол-
няться , пока
IIe
nn2
3−≥/
.
Program Runge;
Uses crt;
Const n0=10;
Var n:integer; a,b,e,Ip,I:real;
Function f (x:real):real;
begin
if x=0
then f:=1
else f:=sin(x)/x;
end;{f}
Procedure Integral(n:integer; var S:real);
var i:integer; x,h:real;
begin
x:=a; S:=f(a); h:=(b-a)/n;
for i:=1 to n-1 do
begin
x:=x+h; S:=S+2*f(x);
end;
S:=S+f(b); S:=S*h/2
end;{Integral}
Begin
Textbackground(7); Textcolor(blue); Clrscr;
write('Введите пределы интегрирования:');
read(a);
repeat
readln(b) until b>a;
write('Введите точность вычислений:');
repeat
readln(e) until e>0;
{-------------------------------------------------}
Integral(n0,Ip); n:=2*n0; Integral(n,I);
while abs(I-Ip)/3>=e do
begin
Ip:=I; n:=2*n; Integral(n,I);
end;