1、Fortran95程序设计实验报告50c5jFortran 95程序设计实验报告50c52014j学号: 20154244000 姓名: ABC 日期:2017/ 4 / 21 上机考试 教师:吴兴征 实验地点:B3-216 成绩: 测试题目1编程,求1-100之间能被6整除的整数,请将这些整数保存到一维动态数组中,最后请输出这些整数(被6整除的整数)的个数及这些整数的和,并将这些整数(被6整除的整数)输出到文件中(TestIntegersMod06.txt)。实验目的(一句话)编写程序,按指定要求输出实验要求实验代码PROGRAM TEST01!IMPLICIT NONEINTEGER:N,
2、S !N save number S save for summINTEGER:Iinteger,dimension(:),allocatable : numCharacter*21 : FILENAMEFILENAME=TestIntegersMod06.txtOPEN(UNIT = 1 ,FILE = FILENAME, STATUS =unknown)!find the number NS=0; N=0DO I=1,100 If (MOD(I,6)=0) THEN N=N+1 S=S+I END IFEND DO!define the data numallocate(num(N)N=0
3、DO I=1,100 If (MOD(I,6)=0) THEN N=N+1 num(N)=I WRITE (1,(1X,Integer=,I4) I END IFEND DO!PRINT*, N,SWRITE (1,(1X,Number of intergers=, I4,3X, Sum=, I6) N,Send实验结果考屏学号: 20154244000 姓名: ABC 日期:2017/ 4 / 21 上机考试 教师:吴兴征 实验地点:B3-216 成绩: 测试题目2任意输入12个实数,请编写程序用于统计每个正数(Positive)和负数(Negative)的个数,分别将请将这些实数保存到一维
4、动态数组中。并将这些实数输出到文件中(TestReals02.txt)。实验目的(一句话)编写程序,按指定要求输出实验要求实验代码program Test02implicit noneinteger: num(12),i,Num_P,Num_N,ninteger,dimension(:),allocatable : numPositive, numNegativeNum_P=0Num_N=0n=12!input and outputprint*, please input ,n, integersopen(1,file=TestReals02.txt,status=unknown)do i=1
5、,n read *, num(i)end do!do i=1,n write(1,(1x,12I4) (num(i),i=1,12)!end doclose(1)!loop for all integersdo i=1,n if(num(i)0) then Num_P=Num_P+1 else if(num(i)0) then Num_P=Num_P+1 numPositive(Num_P)=num(i) else if(num(i)=eps) n=n+1 Term=xx*n/n QQ=QQ+Termend doprint *, Q is ,QQ, number of terms is ,n!
6、write these terms into an allocatable data arrayallocate(Termss(n)n=0 !zeroTerm=xxQQ=Termdo while(abs(Term)=eps) n=n+1 Term=xx*n/n QQ=QQ+Term Termss(n)=Term print *, n, Term,Termss(n) end doend实验结果考屏学号: 20154244000 姓名: ABC 日期:2017/ 4 / 21 上机考试 教师:吴兴征 实验地点:B3-216 成绩: 测试题目5对两个同阶矩阵(行列,使用动态数组)进行相加,编写程序,
7、并将这些和的两个测试矩阵(ARR1和ARR2)之和输出到文件中(TestArrays05.txt)。测试矩阵ARR1=测试矩阵ARR2=实验目的(一句话)编写程序,按指定要求输出实验要求实验代码 PROGRAM Test05 real,DIMENSION(:,:),ALLOCATABLE : Arr1,Brr2,Crr3 INTEGER : S=2,T=3 ALLOCATE (Arr1(S,T),Brr2(S,T),Crr3(S,T) PRINT *, Input data of Arr1 and Brr2 ! !DO i=1,S ! READ *, (Arr1(i,j),j=1,T) !EN
8、D DO Arr1(1,1)=1.5 ; Arr1(1,2)=2.8 ; Arr1(1,3)=3.6 Arr1(2,1)=12.7 ; Arr1(2,2)=1.2 ; Arr1(2,3)=8.4 ! DO i=1,S! READ *, (Brr2(i,j),j=1,T)! END DO Brr2(1,1)=2.5 ; Brr2(1,2)=2.2 ; Brr2(1,3)=3.4 Brr2(2,1)=12.3 ; Brr2(2,2)=1.8 ; Brr2(2,3)=8.6 DO i=1,S DO j=1,T Crr3(i,j)=Arr1(i,j)+Brr2(i,j) END DO END DO P
9、RINT *, Output summation of Arr1 and Brr2 ! OPEN(2,FILE=TestArrays05.txt,status=unknown) DO i=1,S write(2,*) (Crr3(i,j),j=1,T) print *, (Crr3(i,j),j=1,T) END DO END实验结果考屏学号: 20154244000 姓名: ABC 日期:2017/ 4 / 21 上机考试 教师:吴兴征 实验地点:B3-216 成绩: 测试题目6下面程序的功能是从键盘上输入一个角度X,按下述关系,计算表达式Y的值: 当X小于10度时,Y= 当10大于等于小于
10、30度时,Y= 当30大于等于X小于45度时,Y=请给出测试结果并拷屏输出。实验目的(一句话)编写程序,按指定要求输出实验要求实验代码program Test06parameter(pi=3.1415926)real x,yprint *, please input x value (in degree):read *, xif(x=10 .and. x=30 .and. x10时,Y=1 当2X=10时,Y=X/2 当-1X=2时,Y=X-1当X=10) THEN ! Y=1 ELSE IF(X2) THEN Y=X/2 ELSE IF(X=-1) THEN ! Y=X-1 ELSE Y=2
11、*X ! END IF PRINT*,X,YEND PROGRAM实验结果考屏学号: 20154244000 姓名: ABC 日期:2017/ 4 / 21 上机考试 教师:吴兴征 实验地点:B3-216 成绩: 测试题目8判定学生成绩的等级: 给定 3 名学生的考试成绩(Score),评判每个学生的成绩等级(Grade),并输出。编写程序实现之。成绩按以下标准评定等级:A:85S100;B:60S85;C:S=85 .and. score=60 .and. score=0 .and. score60 ) then grade=E else grade=? end if write(*,( G
12、rade:,A1) grade!stopend实验结果考屏学号: 20154244000 姓名: ABC 日期:2017/ 4 / 21 上机考试 教师:吴兴征 实验地点:B3-216 成绩: 测试题目9超额累进税率,是指将应税所得额按照税法规定分解为若干段,每一段按其对应的税率计算出该段应交的税额,然后再将计算出来的各段税额相加,即为应税所得额应交纳的个人所得税。我国最新个人所得税计算方法规定按5%至45%的九级超额累进税率计算缴纳个人所得税。三级超额累进税率为:1)不超过500元的部分,税率5%;2)超过500元至2000元的部分,税率10%;3)超过2000元的部分,税率45%。如某人月
13、应纳税所得额为1500元,则应纳税额为:500*5%+1000*10%=125(元)试编写一个个人所得税计算器。实验目的(一句话)编写程序,按指定要求输出实验要求实验代码implicit none real X_shou,Y_shui write(*,*) Please input income SHOURU ! read(*,*) X_shou if (X_shou500 .and. X_shou=2000) then Y_shui=(X_shou-500)*10/100+25 else Y_shui=(X_shou-2000)*45/100 endif write(*,*) revenue
14、 to be submitted write(*,*) Y_shuiend实验结果考屏学号: 20154244000 姓名: ABC 日期:2017/ 4 / 21 上机考试 教师:吴兴征 实验地点:B3-216 成绩: 测试题目10下面程序的功能是从键盘上输入一个角度X,按下述关系,计算表达式Y的值: 当X小于45度时,Y= 当X大于等于45且小于90度时,Y= 当X大于等于90 且小于180度时,Y= 当其它度数时,Y=0。请给出测试结果并拷屏输出。实验目的(一句话)编写程序,按指定要求输出实验要求实验代码PROGRAM Test10 REAL : X,Y,Xarc parameter(p
15、i=3.1415928) PRINT *, Please input an angle in degree for X: READ *, X IF(X45) THEN Xarc=X*pi/180 Y=ABS(tan(Xarc) ELSE IF(45 =X .AND. X 90) THEN Xarc=X*pi/180 Y=LOG(0.8)*cos(Xarc)/2 ! !Y=cos(Xarc)/2 ELSE IF(90 =X .AND. X=180) THEN Xarc=X*pi/180 Y=5*TAN(SQRT(Xarc) ELSE Y=0 ENDIF PRINT *, The value of
16、 function (X) is ,Y PRINT*END实验结果考屏学号: 20154244000 姓名: ABC 日期:2017/ 4 / 21 上机考试 教师:吴兴征 实验地点:B3-216 成绩: 测试题目11编写程序实现以下要求:(1) 写一个函数或子程序 FunMod, 求出 1 到 m(含 m,比如m =210)中能被 7 整除的所有整数。(2) 主程序调用 FunMod 函数或子程序,并读入和显示这些整数。最终在屏幕上输出它们。实验目的(一句话)编写程序,按指定要求输出实验要求实验代码PROGRAM Test11IMPLICIT NONEINTEGER : iCharacter
17、*1,indexXindexX=DO i=1,210 call FunMod(i,indexX) !call external subroutine IF (indexX=T) THEN WRITE(*,*) i !the interger which can be moded with 7 END IFEND DOENDsubroutine FunMod(IntTmp,indexX) integer IntTmp Character*1, indexX IF (MOD(IntTmp,7)=0) THEN indexX=T else indexX=F END IFend subroutine实
18、验结果考屏学号: 20154244000 姓名: ABC 日期:2017/ 4 / 21 上机考试 教师:吴兴征 实验地点:B3-216 成绩: 测试题目12编写一个内部函数子程序求m个实数的平方和。并在屏幕上输出测试结果。实验目的(一句话)编写程序,按指定要求输出实验要求实验代码PROGRAM Test12 IMPLICIT NONE INTEGER:M !RES for result real Arr(5) Real S1 M=5 Arr(1)=1.5 Arr(2)=2.5 Arr(3)=3.5 Arr(4)=4.5 Arr(5)=5.5 S1=SumSquare(M,Arr) !inte
19、rnal function Print *, Summation of x2 is , S1 CONTAINS Real Function SumSquare(N,Arr) INTEGER:N,I Real : Arr(5) SumSquare=0.0 DO I=1,N SumSquare=SumSquare+Arr(I)*2 END DO end functionEND 实验结果考屏学号: 20154244000 姓名: ABC 日期:2017/ 4 / 21 上机考试 教师:吴兴征 实验地点:B3-216 成绩: 测试题目13编写一个外部子程序求一个一维数组(实数)的各元素的平方之和,并在
20、主程序中打印输出,最终在屏幕上打印输出结果。实验目的(一句话)编写程序,按指定要求输出实验要求实验代码PROGRAM Test13 IMPLICIT NONE INTEGER:N !RES for result real Arr(5) Real RES N=5 Arr(1)=1.5 Arr(2)=2.5 Arr(3)=3.5 Arr(4)=4.5 Arr(5)=5.5 call Square(N,Arr,RES) !external subroutine PRINT *, S= ,RESEND Subroutine Square(N,Arr,RES) INTEGER:N Real : RES,
21、Arr(5) RES=0.0 DO I=1,N RES=RES+Arr(I)*2 END DO END subroutine实验结果考屏学号: 20154244000 姓名: ABC 日期:2017/ 4 / 21 上机考试 教师:吴兴征 实验地点:B3-216 成绩: 测试题目14编写外部函数子程序MUL,其功能是求所有N(=5)个正整数之积。并在屏幕上输出测试结果。实验目的(一句话)编写程序,按指定要求输出实验要求实验代码PROGRAM Test14 IMPLICIT NONE INTEGER:N,S,MUL !S for result integer Arr(5) N=5 Arr(1)=18 Arr(2)=28 Arr(3)=48 Arr(4)=78 Arr(5)=21 S=MUL(N,Arr) !external function PRINT *,S=,SEND FUNCTION MU
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1