fortran90学习2012-20132学期期末试卷fortrana卷_第1页
fortran90学习2012-20132学期期末试卷fortrana卷_第2页
fortran90学习2012-20132学期期末试卷fortrana卷_第3页
fortran90学习2012-20132学期期末试卷fortrana卷_第4页
fortran90学习2012-20132学期期末试卷fortrana卷_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、专业班级:学号:一、选择题(用铅笔把选中的方格涂黑321=32 分)1234567891011121314151617181920212223242526272829303132二、填空题(每空占一行,每行写一个252=50 分)1. 2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.三、程序设计(29=18 分)1. 用递归函数求费波纳契数列第 n 项的值, 递归公式如下:1(n=1,2)F(n)=F(n-1)+F(n-2)(n2)在主程序中调用此函数过程,n 由键盘输入。ABCDABCDABCDABCDABCDA

2、BCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCD2. 编写一个子例行子程序CONVERT,使给定的一个44 的二维整型数组转置。利用主程序输入44的二维整型数组的元素值,并调用CONVERT子程序实现数组转置,然后输出转置后的数组。一、选择题(321=32 分)1FORTRAN90 工作空间文件的后缀名是。A. f90B. dswC. objD. opt2下列是合法的名称。A. 1-a-bB. progC. x&y&zD. _ma

3、in3.以下全部属于合法的实型常数的一组是。32.7_45.0E38.572E-3_41,234.54.8E483.6_6$2.4A. B. C. D. 4.下列程序段,循环体执行的次数为。eger:I=6.2,1.7,-1enddoA. 3B. 4C. 5D. 65.FORTRAN90 的一个程序可以由多个程序单元组成。下面不是 FORTRAN90 的程序单元。A子例行子程序B.数组C. 模块D. 递归子程序6、语句 CHARACTER(len=20):string 说明 string 是长度为 20 的字符变量,下述赋值语句中正确的是。A. string=abcd+14C. string

4、= My name is /simon7.下列的函数计算中,有错误的是。B. string =2*5+10D. string =ABASQRT(9)C. ABS(9)B. REAL(9)D. MOD(9,2)8.下列关于用 parameter 属性说明的符号常量说法正确的是。A.符号常量的定义应该放在所有语句之前 B.符号常量不可以是字符型常量C.在一个程序中定义一个符号常量后,不能再改变它的值D.符号常量定义语句与赋值语句一样,是可执行语句9. 梯形的上底为 A,下底为 B,高为 H,计算其面积的 FORTRAN 表达式中正确的是。A. 1/2*(A+B)*HB. (A+B)H/2C. (A

5、+B)/2HD. 0.5*(A+B)*H10. 假设 CH 是一个字符型变量,并且具有足够的长度,则对于 CH(3:7),下面说法正确的是。A.它是一个数组片段C.它是 CH 的一个子串,并且长度是 4B.它是一个数组定义形式D.它是 CH 的一个子串,并且长度是 511下列 FORTRAN 的表达式中值为 0.5 的是。A.MOD( 4.8 , 0.5 )B.100/20/10C.50.0/4/25D.MOD( 15 , 10 )/1012下列语句中,错误的语句是。A. PARAMETER ( PI=3.1415 )B. DIMENA ( -5:0)C.EGER : : A=10D. SEL

6、ECT CASE( 3.0 )13.子程序的可以是。A变量名、数组名、过程名 B变量名、数组名、过程名和符号常量名 C变量名、数组名、数组片段、过程名D任意符号名14.下面的模块中,错误的语句是。A.B.C.D.MODULE SWAP_MODREAL,DIMENA=125(5,5):A,BEND MODULE SWAP_MOD下面关于 FORTRAN90 派生类型的描述中,正确的是。派生类型的定义由关键字 TYPE 跟所定义类型名开始,由关键字 END 加上类型名结束在 FORTRAN90 中,派生类型的成员名可以与程序中变量同名C.派生类型变量的成员时,在%号两边必须有空格D. FORTRA

7、N90 允许两个派生类型变量进行相互赋值16、若有语句列:EGER,DIMEN(1:2,1:4):aa=RESH(/1,3,5,7,2,4,6,8/),(/2,4/)则 SUM(a,DIM=2)的值是。A.常量:36C.一维数组:14,22B.一维数组:4,12,6,14D.常量:2217.以下四种形式的数组:常数组、可调数组、假定形状数组、动态数组。其中不表的是。能出现在A.B.C.D.18.下面程序运行后的输出结果是。MODULE ABCEGOER:P,QEGER, END MODULE ABC PROGRAM TESTUSE ABC P=M;Q=N M=3;N=2P=MOD(P,N);Q

8、=P/N:M,NPR*,QEND PROGRAM TESTA .0B.1C .2D.319.下列表达式中,正确的。A. A*x+B*y+C*zCX100 = = .TRUE.BA=DHAPPYch P:A=3ER:POPR*,A,P自定义(派生)类型 sf 如下:TYPE sfCHARACTER (LEN = 20):_name,surname EGER:age,working_yearsEND TYPE sf以下能将变量A. sf:C. TYPE sf:29.关于数据对象的说明为 sf 类型的说明语句是。B. TYPE(sf):D. sf TYPE:ENT 属性,下列说法中不正确的是。A.B

9、.C.D.ENE 属性只能用于子程序中,说明ENT 属性也可用于具有指针类型的的意图属性ENT 属性只能是 IN、OUT 和 INOUT 三种之一ENT 属性可用来说明多个,之间用逗号分开30.下列对有循环变量 DO 循环结构描述中,正确的是。A.B.C.D.循环变量的终值必须大于循环变量的初值循环变量的步长可以为 0循环变量在循环体内不能被赋以新值循环变量必须为整型31.关于数据对象的 OPTIONAL 属性,以下说法不正确的是。A.B.C.D.OPTIONAL 属性只能用于子程序或接口块中OPTIONAL 可以用于任何程序单元中可以用 PRESENT 函数测试已说明为 OPTIONAL 的

10、是否可用说明为 OPTIONAL 属性的可以没有实元对应32以下关于接口块说法不正确的。 A.当外部过程名作为实元时,一定要用接口块 B.超载运算符时,一定要用接口块C.调用子程序时,实元和的次序及个数不同时,一定要用接口块D.外部函数的返回值为数组时,一定要用接口块二、填空题(请将2=50 分)A、B 之一为零但不得同时为 0 的 FORTRAN 表达式为(1)。文件操作的一般步骤为打开文件、 (2)、关闭文件。下列程序执行后,输出的 s 是 (3),i 是 (4)。 eger:s,is = 0DOi = 10 , 1s = s + i END DO按空填写在答题纸上。每空占一行,每行写一个

11、25Pr*, s, i4. 下列程序执行后,输出的第一个数是(5),第二个数是(6) 。PROGRAM main ERFACERECURSIVE FUNCTION(m,n)RESULT(g_result)EGER:m,n,g_result END FUNCTIONERFACEENDWRITE(* ,*)(14,21),(21,18)END PROGRAM mainRECURSIVE FUNCTION(m,n)RESULT(g_result)EGER:m,n,g_result IF (n=0) THENg_result=m ELSEg_result= ENDIFEND FUNCTION(n,mo

12、d(m,n)5.下列程序执行后,输出的第一行是(7),第二行是(8)。PROGRAM mainEGER(2),PO EGER(2),ER:p1,p2:a=4,b=5,cp1=a; p2=b ;c=2*p1+3*p2 WRITE(* ,FMT=(I4) cCALL sp(p1,p2)c=2*p1+3*p2;WRITE(* ,FMT=(I4) cEND PROGRAM main SUBROUTINEsp(p1,p2)EGER(2),POER:p1,p2,p3p3=p1; p1=p2; p2=p3 END SUBROUTINE sp6.下列程序执行后,输出的第二行是(9),第三行是(10)。EGER

13、,DIMEN(3,4):mm=RESH(/1,2,3,4,5,6,7,8,9,1,2,3/),(/3,4/)PR PR PREND*,SH(m)*,SUM(m,DIM=2,MASK=m3)*, MAXLOC(m)7.以下程序执行后,输出的第一行是(11),第二行是(12)。PROGRAM mainIMPLICIT NONEEGER,dimen EGER:i=2,j=4,karray(3:7)=15(10):array=(/1,2,3,4,5,6,7,8,9,10/)WRITE(*,(4I4)(array(k),k=1,4)array(i-1:j+1)=array(6:i*j+2) WRITE(

14、*,(4I4)(array(k),k=1,4)END PROGRAM main以下程序执行后,输出的第一行是(13),第二行是(14)。PROGRAM string IMPLICIT NONECHARACTER(len=16):chr,khr,cEGER:i8.EGARAMETER:n=15,m=6chr=!ANIHC EVIL GNOL=1,mkhr(m-i+1:m-i+1)=chr(i:i) ENDDOPR*,khrkhr=chr(16:16)=1,nkhr=khr(1:i)/chr(n+1-i:n+1-i)ENDDOPR*,khrEND PROGRAM string9.下列程序执行后,输

15、出的第一行是 (15),第二行是 (16)。FUNCTION Number_reversed(x) RESULT(number_reversed_result)EGER,ENT(in):xEGER :i,temp,tmp,sum, number_reversed_result tmp=x; sum=0DO WHILE(tmp/=0)temp=MOD(tmp,10);sum=sum*10+temp;tmp=tmp/10 END DONumber_reversed_result=sumEND FUNCTION Number_reversedPROGRAM MainERFACE OPERATOR(.

16、NOT.)FUNCTION Number_reversed(x) RESUlT (number_reversed_result) IMPLICIT NONEEGER,ENT(in) :xEGER :emp,tmp,sum,number_reversed_resultEND FUNCTION Number_reversedENDERFACEEGER :testl=13579,test2=24680,test3test3=(.NOT.testl)+(.NOT. test2);PR*,test3test3=.NOT.(testl+test2);PR*,test3end10.编程验证一个整数是否为回文数。所谓回文数是指一个数从左

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论