(完整word版)fortran程序实例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1)实例3—求多个半径下的圆周长
! z3.f90 --Fortran95
! FUNCTIONS:
! z3 - Entry point of console application.
!************************************************************************* ! PROGRAM: z3
! PURPOSE: Entry point for the console application.
!************************************************************************ program z3
! 求多个半径下的圆周长
! 主程序
! PROGRAM Z3
PRINT *, 'R=',1.2,'C=',C(1.2)
PRINT *, 'R=',3.4,'C=',C(3.4)
PRINT *, 'R=',15.6,'C=',C(15.6)
PRINT *, 'R=',567.3,'C=',C(567.3)
END program z3
!子程序
FUNCTION C(R)
PI=3.1415926
C=2*PI*R
RETURN
! Body of z3
end
2)实例4—键盘与显示器输入/输出
a)Fortran 基本操作
b)程序指令
! ZXZ_I_O.f90
! FUNCTIONS:
! ZXZ_I_O - Entry point of console application.
! PROGRAM: ZXZ_I_O
! PURPOSE: Entry point for the console application.
!***************输入、输出样式种种************************** program ZXZ_I_O
implicit none
!变量声明的位置
INTEGER(2) i; INTEGER(4) j; INTEGER(4) m; REAL n
INTEGER A,B
! Variables
PRINT*,'输入整数A'; READ*, A
PRINT*,'输入整数B'; READ*, B
B=A+B
PRINT*,'B=A+B=',B
WRITE(*,*) 'A*B=',A*B
PRINT* ,'以上为计算机的计算结果,注意B的值'
!系统默认的输出样式
PRINT* ,'系统默认的输出样式'
!人为控制的的输出样式--格式化输出
i=21; j=53; m=5
n=(i+j*m*i**m)
WRITE(*,*) 'i,j,m 是常量,程序赋初值' PRINT*, i,j,m
WRITE(*,*) 'i,j,m 的计算结果:' PRINT*,'i+j*m*i**m=',n
PRINT* ,' '
! Body of ZXZ_I_O
end program ZXZ_I_O
程序说明:
程序赋值—初始化
i=21; j=53; m=5
键盘无格式输入
READ*, A
键盘有格式输入
READ(*, 100)A,B,C
100 FORMA T( 2F5.2,F5.3)
显示器无格式输出
PRINT* ,'系统默认的输出样式' WRITE(*,*) 'A*B=',A*B
显示器有格式输出
PRINT 100 ,A+B
WRITE(*,100) 'A*B=',A*B
100 FORMA T( F5.2)
c)调试运行
d)程序指令
带格式的输入输出
! ZXZ_I_O.f90
! FUNCTIONS:
! ZXZ_I_O - Entry point of console application.
! PROGRAM: ZXZ_I_O
! PURPOSE: Entry point for the console application.
!***************输入、输出样式种种************************** program ZXZ_I_O
implicit none
!变量声明的位置
INTEGER(2) i; INTEGER(4) j; INTEGER(4) m; REAL n
INTEGER A,B
REAL X,Y,Z
! Variables
PRINT*,'输入整数A'; READ*, A
PRINT*,'输入整数B'; READ*, B
PRINT*, '计算结果为:'
B=A+B
PRINT*,'B=A+B=',B
WRITE(*,*) 'A*B=',A*B
PRINT* ,'以上为计算机的计算结果,注意B的值'
!系统默认的输出样式
PRINT* ,'系统默认的输出样式'
PRINT*,'输入实数X'; READ(*,100) X
PRINT*,'输入实数Y'; READ(*,100) Y
100 FORMA T(F5.2)
PRINT*, '计算结果为:'
Z=X+Y
PRINT 200,Z
200 FORMA T(4X,'Z=X+Y=',F8.3)
WRITE(*,*)
WRITE(*,300) X*Y
300 FORMA T(4X,'Z=X*Y=',F8.3)
!人为控制的的输出样式--格式化输出
PRINT* ,'程序为常量赋了初值'
i=21; j=53; m=5
n=(i+j*m*i**m)
WRITE(*,*) 'i,j,m 是常量,程序赋初值'
PRINT*, i,j,m
WRITE(*,*) 'i,j,m 的计算结果:'
PRINT*,'i+j*m*i**m=',n
PRINT* ,' '
! Body of ZXZ_I_O