program metotTriygilnikov;
var
n,i : integer;
a,b,shag,sum,itog : real;
function F(x:real):real;
begin
F:=cos(4*x)-x+1
end;
BEGIN
write('vvedite nizhnyuyu granitsu a = '); readln(a);
write('Vvedite verxnyuyu granitsu b = '); readln(b);
write('Kolichestvo razbivanii intervala n = '); readln(n);
shag:=(b-a)/n;
sum:=0;
for i:=1 to n-1 do
sum := sum + F(shag*i+a);
sum := sum + (F(a)+F(b))/2;
itog:=(b-a)/n * sum;
writeLn('Inregral = ', itog:0:5);
readln;
END.
Численное интегрирование
Пожалуйста напишите что бы в программе выводилось 2 результата: при n=32 и n=64
т.е. тебе не нужна возможность ввода n. А просто фиксировано. n=32 и n=64?
ну как бы да...можно зафиксировать или чтоб вводилось, но именно 2 , а не одно значение
Код:
program metotTriygilnikov;
var
a,b:real;
n,i : integer;
shag,sum,itog : real;
function F(x:real):real;
begin
F:=cos(4*x)-x+1
end;
BEGIN
write('vvedite nizhnyuyu granitsu a = '); readln(a);
write('Vvedite verxnyuyu granitsu b = '); readln(b);
write('Kolichestvo razbivanii intervala n = '); readln(n);
while n>0 do
begin
shag:=(b-a)/n;
sum:=0;
for i:=1 to n-1 do
sum := sum + F(shag*i+a);
sum := sum + (F(a)+F(b))/2;
itog:=(b-a)/n * sum;
writeLn('Inregral = ', itog:0:5);
readln;
write('Kolichestvo razbivanii intervala n = '); readln(n);
end;
END.
var
a,b:real;
n,i : integer;
shag,sum,itog : real;
function F(x:real):real;
begin
F:=cos(4*x)-x+1
end;
BEGIN
write('vvedite nizhnyuyu granitsu a = '); readln(a);
write('Vvedite verxnyuyu granitsu b = '); readln(b);
write('Kolichestvo razbivanii intervala n = '); readln(n);
while n>0 do
begin
shag:=(b-a)/n;
sum:=0;
for i:=1 to n-1 do
sum := sum + F(shag*i+a);
sum := sum + (F(a)+F(b))/2;
itog:=(b-a)/n * sum;
writeLn('Inregral = ', itog:0:5);
readln;
write('Kolichestvo razbivanii intervala n = '); readln(n);
end;
END.
MaitreDesir,Большое спасибо!