10.05.2017

Tích phân xác định

Lập trình để tính tích phân xác định của hàm f(x) từ a đến b (a,b nhập từ bàn phím). Thử với hàm f(x)=sin(x)+cos(x).
                                                                 Giải
Const e=0.00001;
Var a,b,h,X,k,Sn,Sn1:Real; n,k:Longint; Xong:Boolean;
Function f(x:Real):Real;
   Begin
        f:=sin(x)+cos(x);
    End;
BEGIN
       Write(' Nhap a,b:  '); Readln(a,b);
       n:=1; Sn:=(f(a)+f(b))*((b-a)/2); Xong:=False;
       Repeat
           n:=n+1; h:=(b-a)/n; Sn1:=h*(f(a)+f(b))/2;
           For k:=1 to (n-1) do
              Begin
                   Xk:=a+k*h; Sn1:=Sn1+f(Xk)*h;
               End;
           If Abs(Sn1 - Sn) > e Then
               Begin
                    Xong:=False; Sn:=Sn1;
               End
          Else Xong:=True;
       Until Xong;
       Writeln('=> Tich phan tu ',a:6:1,' den ',b:6:1,' cua ham so sinx+cosx = ',Sn:10:2); Readln;
END.

No comments:

Post a Comment

Cảm ơn bạn đã nhận xét