Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

de cuong fortran

1.VD 16: Tính tích phân theo công thức simpson khi đoạn [a,b] chia 2n phần bằng nhau

integer n,i,k

            real h,x,s,a,b

            intrinsic mod

            external f

            print *,'Nhap hai can tich phan'

            read *,a,b

            print *,'Nhap so diem chia'

            read *,n

            h=(b-a)/(2*n)

            s=f(a)+f(b)

            do 10 i=1,2*n-1

            if(mod(i,2).eq.0)then

            s=s+2*f(x)

            else

            s=s+4*f(x)

            end if

10        continue

            s=s*h/3

            print 20,s

20        format ('Tich phan xap xi=',f9.2)

            end

            real function f(x)

            real x

            f=1/(1+x*x)

            end

2. VD 29: dãy fibonacci

            integer i,f,f1,f2,n

            f1=1

            f2=1

            f=0

            print *,'Tim so fibonacci thu:'

            read *,n

            do 10 i=3,n

            f=f1+f2

            f1=f2

            f2=f

10        continue

            print *,f

            end

3.VD 15: Tính khai triển Taylor

            real x,n,k,emu

            print *,'Nhap so hang n'

            read *,n

            print *,'Nhap gia tri x'

            read *,x

            emu=1.0

            s=1.0

            do 10 k=1,n

            s=s*x/k

            emu=emu+s

10        continue

            write (*,20)emu

20        format ('emu x gan bang',f20.5)

            End

4.VD 17: TÌnh nghiệm gần đúng f(x)=0 bằng phương pháp Newton

            real x1,x0,err,efxilon,x

            intrinsic abs

            external f,df

            print *,'Nhap gia tri diem dau:'

            read *,x0

            print *,'Nhap gia tri chinh xac:'

            read *,efxilon

10        x1=x0-f(x0)/df(x0)

            err=abs(x1-x0)

            if(err.lt.efxilon)then

            print 20,x1

            else

            x0=x1

            goto 10

            end if

20        format('Nghiem xap xi=',f20.5)

            end

            real function f(x)

            real x

            f=x*2-4

            end

            real function df(x)

            real x

            df=2*x

end

5.VD11: Tình nghiệm gần đúng của phương trình f(x)=0 bằng phương pháp chia đôi (f(x) liên tục và F(a)*f(b)<0)

            real a,b,c,x,y

            intrinsic abs

            external f

            print *,'Nhap hai dau a,b:'

            read *,a,b

            print *,'Nhap do do chinh xac efxilon:'

            read *,c

            if(f(a).eq.0)then

            print *,'Nghiem=',b

            stop

            endif

10        y=(b+a)/2

            if(f(y).lt.0)a=y

            if(f(y).gt.0)b=y

            if(abs(a-b).lt.c) then

            print *,'Nghiem xap xi=',y

            else

            goto 10

            end if

            end

            real function f(x)

            real x

6. VD8: Giải phương trình bậc hai ax2 + bx + c=0

real a,b,c,x1,x2,delta

            intrinsic  sqrt

            print *,'Nhap cac he so a,b,c cua tam thuc'

            read *,a,b,c

            delta=b*b-4*a*c

            if(delta.gt.0) then

            x1=(-b+sqrt(delta))/(2*a)

            x2=(-b-sqrt(delta))/(2*a)

            write (*,10) x1,x2

            else

            if(delta.eq.0) then

            write (*,20) -b/(2*a)

            else

            print *,'Phuong trinh khong co nghiem thuc'

            endif

            endif

10        format ('Nghiem x1=',f10.2,'Nghiem x2=',f10.2)

20        format ('Nghiem kep=',f10.2)

            End

7.

8.VD26: Kiểm tra một số nguyên dương là một số nguyên tố, n nhập vào

real *8 n

            intrinsic sqrt,int,mod

            logical kiem_tra_nguyen_to

            print *,'Nhap mot so nguyen duong:'

            read *,n

            if(kiem_tra_nguyen_to(n))then

            print 30,n

            else

            print 40,n

            endif

30        format (f30.1,'la nguyen to')

40        format (f30.1,'Khong phai la nguyen to')

            end

            logical function kiem_tra_nguyen_to(m)

            integer *4 l

            real *8 m,k

            logical kt

            kt=.true.

            l=int (sqrt(m))

            do 10 k=2,l

            if(mod(m,k).eq.0.0)then      kt=.false.

            goto 20

10        continue

20        kiem_tra_nguyen_to=kt

            end

8.VD 27: Đếm các số nguyên tố <= n cho trước, n nhập vào

real *8 n,k

            integer dem

            intrinsic sqrt,int,mod

            logical dem_so_nt

            external dem_so_nt

            print *,'Nhap mot so nguyen duong:'

            read *,n

            dem=0

            do 10 k=1,n

            if(dem_so_nt(k))then dem=dem+1

10        continue

            print 30,dem,n

30        format ('so cac so nguyen to nho hon=',f10.1,'la:',i10)

            end

            logical function dem_so_nt(m)

            integer *4 l

            real *8 m,k

            logical kt

            kt=.true.

            l=int(sqrt(m)) 

            do 40 k=2,l

            if(mod(m,k).eq.0.0)then

            kt=.false.

            goto 50

            end if

40        continue

50        dem_so_nt=kt

            End

9. VD 20: Ma trận chuyển vị

integer i,j

            integer array(2,3),c(3,2)

            print *,'Nhap ma tran A'

            do 10, i=1,2

            read *,(array(i,j),j=1,3)

10        continue

            c=transpose(array)

            print *

            print *,'Ma tran chuyen vi'

            do 20 i=1,3

            write (*,40)(c(i,j),j=1,2)

20        continue

40        format(2i)

            End

Bạn đang đọc truyện trên: Truyen247.Pro

Tags: