我编写了一个用矩形方法解决积分X ^ 2 + 2的程序
program fourrr;
var a, b : real; { borders }
h : real; { increment argument }
s : real; { approximate value of the integral }
n : integer; { number of intervals }
x : real; { argument }
y : real; { function value at the beginning of interval }
i : integer;
begin
write('lower border a: '); read(a);
write('upper border b: '); read(b);
write('increment argument h: '); read(h);
n := (b - a) / (h + 1);
x := a;
s := 0;
i := 1;
while i <= n do
begin
y := x * x + 2; // function value at the beginning of interval
s := s + (y * h);
x := x + h;
end;
writeln('Integral value: ', s);
end.
但是当我运行它时,我无法解决数据类型转换的问题。
所以请帮助我,这非常重要。感谢
答案 0 :(得分:0)
(从一开始,抱歉我的英语不好)
一开始,您需要输入输出: 程序fourrr(输入,输出);
我看到你做了n:=(b - a)/(h + 1); 那不是/,你应该使用“div”: n:=(b - a)div(h + 1);
我不知道你为什么使用这个循环,我告诉你我不知道如何解决那个积分,但是,如果它像你一样,你不需要它。 你可以在循环中改变什么? 使用IF。
{If i<=n THEN
Begin
y:=x * x + 2; // function value at the beginning of interval
s := s + (y * h);
x := x + h;
end (*without the ; simbol*)
Else
writeln('ERROR'); (*The ELSE only read for him the writeln('error'), if you want to use more things , use the ELSE begin h:= ... ; alpha:=... If ...(<-for example) end;*)
}