找不到与Pascal简单的积分

时间:2014-04-10 15:33:15

标签: integration pascal type-conversion freepascal turbo-pascal

我编写了一个用矩形方法解决积分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.

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

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

1 个答案:

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