第一范文网 - 专业文章范例文档资料分享平台

Fortran模拟试卷1-8

来源:用户分享 时间:2025/6/6 12:47:43 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

REAL X,Y,A,B,T INTEGER N READ*,X

T= (21) B=1.0 Y=T N=2

DO WHILE( (22) ) A=X**(2*N-1)/(2*N-1) B= (23) T=A*B Y=Y+T N=N+1 ENDDO

PRINT'(1X,F5.2,I3,F12.7)',X,N-1,Y END

10.下面程序的功能是输入十个任意四位整数A,用来检验inver子程序的可靠性。其中CALL

inver(A,B)应能将A中四位数倒过来成为B(如A=1966,可得B=6691)。最后计算并输出由具体数字构成的算式C=A+B。 INTEGER A,B,C,I DO I=1,10 READ*,A

DO WHILE(A<1000 .OR. A>9999) READ*,A ENDDO

CALL inver(A,B) C=A+B

PRINT'(1X,I5,\ENDDO END

SUBROUTINE inver(M,N) IMPLICIT NONE (24) A=M

DO I=1,4

NN(I)=MOD(A,10) (25) ENDDO B=0

DO J=1,4

K=NN(J)*10**(4-J) B=B+K ENDDO

(26) END

29

11.下面的程序建立一个链表,子程序fmax()的功能是:求出链表所有结点中数据成员值最大的结

点的位置,并由参数s返回给主函数。该函数的第一个参数是链表的首指针。 MODULE AA TYPE NODE

INTEGER DATA

TYPE(NODE),POINTER::NEXT END TYPE NODE CONTAINS

SUBROUTINE FMAX(HEAD,S,I) 27 INTEGER:: I,J=0 P=>HEAD;S=>P

IF(.NOT.(ASSOCIATED(P)))RETURN DO WHILE(ASSOCIATED(P)) J=J+1

IF( (28) )THEN I=J;S=>P ENDIF

(29) ENDDO

END SUBROUTINE

SUBROUTINE PRINTL(H)

TYPE(NODE),POINTER::H,P P=>H

DO WHILE(ASSOCIATED(P)) PRINT*,P.DATA P=>P.NEXT ENDDO

END SUBROUTINE END MODULE AA

PROGRAM MAIN (30)

TYPE(NODE),POINTER::H,P,P1 INTEGER A,I NULLIFY(P)

PRINT*,'INPUT DATA' READ*,A

DO WHILE(A/=-1) ALLOCATE(P) P.DATA=A

IF(.NOT.(ASSOCIATED(H)))THEN H=>P;P1=>P ELSE

P1.NEXT=>P;P1=>P

30

ENDIF

PRINT*,'INPUT DATA' READ*,A ENDDO

NULLIFY(P) CALL PRINTL(H) CALL FMAX(H,P,I) PRINT*,'DDD'

IF(ASSOCIATED(P))PRINT*,P.DATA,I END

FORTRAN90模拟试题四(上机部分)

一、 改错题

【题目】本程序的功能是:求100到999之间所有三位同构数。所谓三位同构数就是该数出现在其平方的末三位。含错误的程序为:

SUBROUTINE FIND(NT,FLAG,MT) IMPLICIT NONE LOGICAL FLAG

INTEGER::N,NT,MT,K FLAG=FALSE N=NT MT=N*N K=1 DO N=N/10

IF(N/=0)EXIT K=K+1 ENDDO

IF(MOD(MT,10)==NT)FLAG=.TRUE. END

PROGRAM MAIN LOGICAL FLAG

OPEN(1,FILE=?MYF1.OUT?) DO N=100,999

CALL FIND(N,FLAG,M)

IF(FLAG)WRITE(1,\END

【要求】1、必须将上述源程序录入到文件MYF1.F90中,然后根据题目的要求以及程序中前后语句

的逻辑关系,改正程序中的错误。

2、改错时,除可以增加说明语句和可调换语句顺序外,不允许增加或删除任何语句。 3、改正后的程序存放在考试盘MYF1.F90文件中,并将运行结果以MYF1.OUT为文件名存于考盘中。

【注意】本题完成后必须将文件MYF1.*拷贝到考试盘中供阅卷使用。

二、 编程题

【题目】函数f(x)的展开式如下:

1cos3x

f(x)?cosx??2313cos5x135cos7x?????????245246731

?(2n?1)!!cos(2n?1)x?cosx??,0?x??

(2n?1)n?1(2n)!!

其中,(2n-1)!!=1·3·5·7·9·?·11·(2n-1), (2n)!!=2·4·6·8·10·12·?·2n。

将上式编写成外部函数。当通项的绝对值小于EPS时,计算停止。 在主程序中从数据文件内读出三组X和EPS的值如下:

0.071068, 1E-10; 0.8660254, 1E-9; 1.5707963, 1E-9。 并将三个计算结果写入输出文件。

【要求】1.按要求编写程序,并将源程序录入到文件myf2.f90中。

2.建立数据文件myf2.dat,将三组输入数据在程序运行前输入到该文件中,程序从该文件中读取数据。

3.将程序运行结果存放于myf2.out文件中。

4.数据文件的打开、读写、关闭均要求用FORTRAN 90语言文件操作语句实现。

【注意】本题完成后必须将myf2.f90、myf2.dat、myf2.out和myf2.exe拷贝到考试盘中。

? 32

搜索更多关于: Fortran模拟试卷1-8 的文档
Fortran模拟试卷1-8.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c42xnz0dd8n44s0w0dxze_8.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top