0

我编写了一个程序来通过矩形方法求解积分 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.

但是当我运行它时,我无法解决数据类型转换的问题。

所以请帮助我,这非常重要。谢谢

4

1 回答 1

0

(从一开始,对不起我的英语不好)

一开始需要输入输出:programfourrr(input,output);

我看到你完成了 n := (b - a) / (h + 1); 那不是 / ,您应该使用“ div ”: n := (b - a) div (h + 1);

我不知道你为什么使用循环,我告诉你我不知道如何解决这个积分,但是,如果它像你一样,你就不需要它。你可以在循环中改变什么?使用中频。

{ 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;*)}

于 2014-04-10T18:55:51.703 回答