fortran Quiz(fortran测试题)

合集下载

Fortran练习经典题目

Fortran练习经典题目

Fortran练习经典题目a, 输入一个年、月、日并计算它是本年度的第几天。

b.输入任意一年份,给出该年出生人的属相,如1945年出生的人的属相为“鸡”。

c.显示输出2000~2099年的任何一年的某一月的月历,所要显示的年月有键盘输入。

如2002年5月的月历形式如下;5月2002年日一二三四五六1 2 3 4 5 6 78 9 10 11 12 13 1415 16 17 18 19 20 2122 23 24 25 26 27 2829 30 31d.显示输出2000~2099年的任何一年的年历,并写入一文本文件中。

e.以上功能都应从菜单中选择执行。

提示:a中若y为年份,d是该年的某月某日从1月1日开始经过的天数,则s=(y-1)*1.2425+d。

若s除以7后所得的余数取整后为0,则为周日,为1则周一。

program firstquestionimplicit noneinteger::q,i,ldayinteger::year,month,day,days,mday,dscharacter(len=2),dimension(1:37)::tem! 这个程序可以同时在屏幕和文本中输出计算结果。

为了计算不同的问题,引入变量q,当q=1时,计算某年月日是此年的第几天;! 当q=2时,计算某年的属相;当q=3时,计算月历;当q=4时,计算年历;当q=0时,退出此程序。

此外,此程序还设置了对输入! 年、月、日的判断,判断其是否合法。

print *,'when q=1,this program can resolve the question thatwhich day some day is in some year! this is the question one.' print *,'when q=2,this program can obtain the shengxiao of some year! this is the question two.'print *,'when q=3,this program can obtain the calendar of some month of some year(2000-2099)! this is the question three.' print *,'when q=4,this program can obtain the Almanac of some year(2000-2099)! this is the question four.'print *,'If you want to exit from this program,please input q=0.'doprint *,'input the number of q:'read *,qif(q==0) exitif (q==1) then2000 print *,'input the year, the month and the day:'read *,year,month,dayif (month>12.or.month<0) print *,'you input wrong month.' if (month>12.or.month<0) goto 2000call leapday(year,month,day,lday)if (lday==0) print *,'you input wrong day.'if (lday==0) goto 2000call numday(year,month,day,days)print '(a14,i3,a18)','The day is the',days,' day of this year.'open(25,file='days.dat',status='unknown')write(25,'(a14,i3,a18)') 'The day is the',days,' day of this year.' close(25)else if (q==2) thenprint *,'input the year:'read *,yearcall shengxiao(year)else if (q==3) then2001 print *,'input the year(2000-2099) and the month:'read *,year,monthif (year>2099.or.year<2000) print *,'you input wrong year,please input the year between 2000 and 2099.'if (year>2099.or.year<2000) goto 2001if (month>12.or.month<0) print *,'you input wrong month.' if (month>12.or.month<0) goto 2001open(27,file='yueli.dat',status='unknown')call nyli(year,month,mday,ds,tem)write(27, "(26x,i2,'月',3x,i4,'年')")month,yearwrite(27, '(18x,7a4)')'日','一','二','三','四','五','六'write(27, '(18x,7a4)')(tem(i),i=1,mday+ds)write(27,*)close(27)else if (q==4) then2002 print *,'input the year(2000-2099):'read *,yearif (year>2099.or.year<2000) print *,'you input wrong year,pleade input the year between 2000 and 2099.' if (year>2099.or.year<2000) goto 2002open(28,file='nianli.dat',status='unknown')do month=1,12call nyli(year,month,mday,ds,tem)write(28, "(26x,i2,'月',3x,i4,'年')")month,yearwrite(28, '(18x,7a4)')'日','一','二','三','四','五','六'write(28, '(18x,7a4)')(tem(i),i=1,mday+ds)write(28,*)end doclose(28)elseprint *,'you input the wrong number of q.' end ifend doend program firstquestionsubroutine shengxiao(year)implicit noneinteger::year,m,nm=year-1945if (m>=12.or.m<=-12) thenn=mod(m,12)elsen=mend ifopen(26,file='shengxiao.dat',status='unknown') if (n==0) thenprint *,'The shengxiao of this year is:鸡'write(26,*)'The shengxiao of this year is:鸡' else if(n==1.or.n==-11) thenprint *,'The shengxiao of this year is:狗'write(26,*)'The shengxiao of this year is:狗' else if(n==2.or.n==-10) thenprint *,'The shengxiao of this year is:猪'write(26,*)'The shengxiao of this year is:猪' else if(n==3.or.n==-9) thenprint *,'The shengxiao of this year is:鼠'write(26,*)'The shengxiao of this year is:鼠' else if(n==4.or.n==-8) thenprint *,'The shengxiao of this year is:牛'write(26,*)'The shengxiao of this year is:牛'else if(n==5.or.n==-7) thenprint *,'The shengxiao of this year is:虎'write(26,*)'The shengxiao of this year is:虎' else if(n==6.or.n==-6) thenprint *,'The shengxiao of this year is:兔'write(26,*)'The shengxiao of this year is:兔' else if(n==7.or.n==-5) thenprint *,'The shengxiao of this year is:尨'write(26,*)'The shengxiao of this year is:尨' else if(n==8.or.n==-4) thenprint *,'The shengxiao of this year is:蛇'write(26,*)'The shengxiao of this year is:蛇' else if(n==9.or.n==-3) thenprint *,'The shengxiao of this year is:马'write(26,*)'The shengxiao of this year is:马' else if(n==10.or.n==-2) thenprint *,'The shengxiao of this year is:羊'write(26,*)'The shengxiao of this year is:羊' else if(n==11.or.n==-1) thenprint *,'The shengxiao of this year is:猴'write(26,*)'The shengxiao of this year is:猴' end ifclose(26)end subroutine shengxiaosubroutine nyli(year,month,mday,ds,tem) implicit noneinteger::year,month,days,mday integer::i,m,ds,dts,qreal::scharacter(len=2),dimension(1:37)::temcall numday(year,month,1,days)call monday(year,month,mday)s=(year-1)*1.2425+daysds=int(s-int(s/7)*7)do i=1,37tem(ds+1)='1';tem(ds+11)='11';tem(ds+12)='12';tem(ds+2)='2';tem(ds+13)='13';tem(ds+14)='14';tem(ds+3)='3';tem(ds+15)='15';tem(ds+16)='16';tem(ds+4)='4';tem(ds+17)='17';tem(ds+18)='18';tem(ds+5)='5';tem(ds+19)='19';tem(ds+20)='20';tem(ds+6)='6';tem(ds+21)='21';tem(ds+22)='22';tem(ds+7)='7';tem(ds+23)='23';tem(ds+24)='24';tem(ds+8)='8';tem(ds+25)='25';tem(ds+26)='26';tem(ds+9)='9';tem(ds+27)='27';tem(ds+28)='28';tem(ds+10)='10';tem(ds+29)='29';tem(ds+30)='30';tem(ds+ 31)='31'; print "(26x,i2,'月',3x,i4,'年')",month,yearprint '(18x,7a4)','日','一','二','三','四','五','六'print '(18x,7a4)',(tem(i),i=1,mday+ds)print *end subroutine nylisubroutine numday(year,month,day,days)implicit noneinteger::year,month,day,days,nlogical::leapcall leapyear(year,leap)n=int(month/2)if (month<=8) thenif (mod(month,2)/=0) thendays=30*n+31*n+dayelsedays=30*(n-1)+31*n+dayend ifelseif (mod(month,2)/=0) thendays=30*(n-1)+31*(n+1)+dayelsedays=30*(n-1)+31*n+dayif(month>2) thenif (leap) thendays=days-1elsedays=days-2end ifend ifend subroutine numdaysubroutine monday(year,month,mday) implicit none integer::year,month,mday logical::leapcall leapyear(year,leap)select case (month)case (4,6,9,11)mday=30case (1,3,5,7,8,10,12)mday=31case (2)for_feb:select case (leap)case (.true.)mday=29case (.false.)mday=28end select for_febcase defaultend selectend subroutine monday subroutine leapyear(year,leap)implicit noneinteger::yearlogical::leapif (mod(year,4)/=0) thenleap=.false.else if (mod(year,100)/=0) thenleap=.true.else if (mod(year,400)/=0) thenleap=.true.elseleap=.false.end ifend subroutine leapyearsubroutine leapday(year,month,day,lday) implicit none integer::year,month,day,lday logical::leapcall leapyear(year,leap)select case (month)case (4,6,9,11)if (day>30.or.day<1) thenlday=0elselday=1end ifcase (1,3,5,7,8,10,12)if (day>31.or.day<1) thenlday=0elselday=1end ifcase (2)for_feb:select case (leap)case (.true.)if (day>29.or.day<1) thenlday=0elselday=1end ifcase (.false.)if (day>28.or.day<1) thenlday=0elselday=1end ifend select for_febcase defaultend selectend subroutine leapday素数是只能被1与其本身整除的数,下面给出一种寻找素数的方法:a生存一个数组,将其所有的元素初始化为1b 从数组下标为2的元素开始,每次寻找数值为1 的数组元素。

2018-2019学年第一学期《FORTRAN》期末试卷(A)

2018-2019学年第一学期《FORTRAN》期末试卷(A)

2018-2019学年第一学期《FORTRAN》期末试卷(A)(考试对象:农水、港航、地质、海洋、力学专业2018级)学院专业班级学号姓名成绩一、选择题(用铅笔把选中的方格涂黑32×1=32分)12345 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2829 30 31 32二、填空题(每空占一行,每行写一个答案25×2=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.三、程序设计(2×9=18分)1、求裴波纳契数列的前10项,要求每行输出5项。

该数列的前几项为:0,1,1,2,3,5,8,13,……2、编写一个判断素数的函数子程序, 主程序调用函数求3-100之间满足下面条件的各组素数:每组三个素数,第二个比第一个大2,第三个比第二个大4。

例如5、7、11就是满足条件的一组。

一、选择题(32×1=32分)1、以下有关FORTRAN90基本概念的叙述中,正确的是。

A、关键字只能用大写字母,其他符号名(变量名、数组名、过程名等)只能用小写字母。

B、符号名须以英文字母开头,可后接英文字母、数字、下划线,不超过31个字符。

C、键盘上的可见字符均可作字符型常数使用,但汉字不能作字符型常数使用。

D、编译系统接受英文字母开头后接希腊字母作符号名。

2、在下列写法中,________不是FORTRAN常量。

A、 .TRUE.B、1E-2C、 (0.0,2.4)D、1,000,0003、表达式15/4/2.0的值是。

A、整数2B、实数1.5C、实数2.25D、实数1. 34、以下DO循环结构中,不属于FORTRAN90程序设计语言标准的是。

A、DO ……ENDDOB、DO WHILE(relation_expression)……ENDDOC、DO index=1,2,3……ENDDOD、DO UNTIL(relation_expression)……ENDDO5、以下说法中错误的是。

fortranquizfortran测试题

fortranquizfortran测试题

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.QUIZ分数:100分时间:80分一、选择1、在下列写法中,()不是FORTRAN常量。

A .TRUE. B1E-2 C (0.0,2.4) D1,000,0002、下列哪个是合法的F90变量名?()A FORTRAN/90B FORTRAN_90C90_FORTRAN D.FORTRAN3、以下声明中,不是数组声明的是:()A.integer a(4)B.integer(4) aC.integer a(10,20)D.integer a(-3:10)4、以下语句中,不正确的是:()A write(*, ‘(1x,f6.2)’) 6.3B integer, parameter :: pi=3.14159C tax=salary*3%D integer, dimension(2,3) :: a5、FORTRAN表达式"6/5+9/2**3/2"的值为( )A 33B 1C 5D 36、以下为数组声明语句,则下列选项中不正确的是( )INTEGER num(9)=(/1,2,3,4,5,6,7,8,9/), mm(5)A mm=num(5:9)B mm=num(5:)C mm=num(:5)D mm=num(:)7、设A=.TRUE., B=.FALSE., C=.FALSE., 逻辑表达式(A.OR.B).AND.C与A.OR..NOT.B的值是()。

A.TFB.FTC. TTD. FF8、阅读下列FORTRAN程序, 程序运行时执行循环体的次数是()。

X=0A0B1DO L=10, 5, 1C6D无穷X=X+1.0ENDDOEND9、圆心在原点的两个同心圆,半径分别为2和4。

描述点(X,Y) 在小圆外,大圆内(包括在两圆周上)的表达式是( )A ABS(X)<=4.0 .AND. ABS(Y)>=2.0B 2.0=<SQRT(X*X+Y*Y)<=4.0C X*X+Y*Y<=16.0 .AND. X*X+Y*Y>=4.0D(X .OR. Y)>=2.0 .AND. (X .OR. Y)<=4.010、自定义数组stl的定义如下:TYPE studentINTEGER::numCHARACTER(len=8)::name . REAL::heightENDTYPE TYPE(student),DIMENSION(10)::stl则数组stl在常用的编译系统(如CVF)中占据内存单元字节数是()。

FORTRAN 自测练习

FORTRAN 自测练习
FORTRAN 自测练习
一.单项选择题 1. 下列 FORTRAN 表达式正确的是 。 ① ∣A*x+B*y+C*z∣ ② b*b+4*a*c ③ .NOT. .TRUE. .AND. .FALSE. ④ ‘A’<= ch <= ‘Z’ ⑤ X>100 = = .TRUE. ⑥ SQRT(A2+B2) ⑦ π*R**2 ⑧ ‘HAPPY ’+‘NEW ’+‘YEAR.’ A. ①②⑤ B.②③④⑧ C.②③⑤ D.②⑤⑥⑦ 2. FORTRAN 90 规定,变量类型声明从高到低的优先顺序是 。 A. 隐含约定(I-N 规则) 、IMPLICIT 声明、类型声明 B. 类型声明、隐含约定(I-N 规则) 、IMPLICIT 声明 C. 类型声明、IMPLICIT 声明、隐含约定(I-N 规则) D. IMPLICIT 声明、类型声明、隐含约定(I-N 规则) 3. 数组声明语句为:INTEGER num(9)=(/1,2,3,4,5,6,7,8,9/),mm(5) 下列语句中不正确的是 。 A. mm=num(5:9) B. mm=num(5:) C.mm=num(:5) D. mm=num(:) 4.下列关于子程序的有关说法中,不正确的是 。 A. 对于无参函数子程序,调用时函数名后括号可取消 B. 对于无参子例行程序,调用时子例行程序名后的括号可取消 C. 对于有参子程序,形式参数可以是子程序名 D. 对于有参子程序,形式参数可以是星号“*” 5.下列语句函数声明中,正确的是 。 A.FUN1(I,I)=5*I-10*I**2 B. FUN2(MAT(5),A)=5*A+MAT(5) C. FUN3(X,Y,5.0)=X**2+Y**2+5.0**2 D. FUN4(X,Y)=SQRT(X**2+Y**2+5.0**2) 6.下列字符串中可用作 FORTRAN90 变量名的是 。 A.ABC B. A-BCD C. 2ABC D. AB.C 7.下列数据中不符合 FORTRAN90 常数表示的为 。 A. 21.50 B. +0.0D0 C. .TRUE. D. $1000 8.执行 WRITE(8,'(1X,2I4)')(I,I=1,3)后生成 个记录。 A. 1 B. 2 C. 3 D. 12 9.数学表达式

Fortran模拟试卷1-8

Fortran模拟试卷1-8

FORTRAN90模拟测验一(笔试部分)一.选择题(从4个可选答案中选择一个正确答案添入空白处)1.FORTRAN 90规定程序中名称的长度不能超过个字符。

A.8 B.15 C.31 D.632.关于FORTRAN 90程序单元,以下四种说法中正确的是。

A.一个FORTRAN 90程序由多个程序单元组成,其中有一个且只能有一个主程序单元B.一个FORTRAN 90程序由多个程序单元组成,其中有一个且只能有一个模块单元C.一个FORTRAN 90程序允许有多个程序单元,但每类程序单元只能有一个D.一个FORTRAN 90程序允许有多个程序单元,但主程序单元和模块单元只能有一个3.FORTRAN 90程序中允许使用的三个通用标志符是。

A.!% & B.@ , ; C.! ; & D.; & *4. 下列中,所指的FORTRAN 90表达式都是正确的。

①∣A*x+B*y+C*z∣② b*b+4*a*c③.NOT. .TRUE. .AND. .FALSE. ④‘A’<= ch <= ‘Z’⑤ X>100 = = .TRUE. ⑥ SQRT(A2+B2)⑦π*R**2 ⑧‘HAPPY ’+‘NEW ’+‘YEAR.’A. ①②⑤B.②③④⑧C.②③⑤D.②⑤⑥⑦5. FORTRAN 90规定,变量类型声明从高到低的优先顺序是。

A.隐含约定(I-N规则)、IMPLICIT声明、类型声明B.类型声明、隐含约定(I-N规则)、IMPLICIT声明C.类型声明、IMPLICIT声明、隐含约定(I-N规则)D.IMPLICIT声明、类型声明、隐含约定(I-N规则)6.数组声明语句为:INTEGER,DIMENSION(-5:-1,-3:3,11:15) ::num 数组元素num(-2,1,13)是存储结构中第个元素。

A.70 B.85 C.90 D.947.类型声明语句为:INTEGER(2) I 数据输出语句为:PRINT *,I变量I中数据输出域宽是字符。

大学FORTRAN考试试题1[1]

大学FORTRAN考试试题1[1]

大学FORTRAN考试试题1[1]1.下列叙述中,正确的是(D )A.语句标号的大小影响程度执行的顺序B.程序完全按语句出现的先后顺序执行C.不同程序单位不能有相同的语句标号D.同一程序单位不能有相同的语句标号2.下列标识符中,不能作为合法的FORTRAN90标识符的是( C) A.A3_B3 B.VOID C._123 D.IF3.下列哪一个为正确的常量( D )A.123,000 B. 3.5E+2.5 C. TRUE D. “HELLO”4.若A=2,B=2,I=3,则表达式A**B**I的值为( C )A. 64B.12C.256 D16.5.圆的直径存放在整型变量D之中,下列计算圆面积的表达式中正确的是( D )A. 3.14159*(D/2)*(D/2)B. 3.14159*(D*D/4)C. 3.14159*(D/2)**2D. 3.14159*D*D/46.下列运算符中,运算优先级最高的是(B )A. 关系运算B. 算术运算C. 逻辑非运算D. 逻辑与运算7.下列FORTRAN的表达式中值为0.5的是( C)A.MOD(4.8,0.5) B.100/20/10 C.50.0/4/25 D.MOD (15,10)/108.下列是完整的FORTRAN程序,编译时出错的语句是( C )A.PROGRAM PRINT B.PARAMETER (PI=3.1415926)C.PI=PI+1 D.WRITE(*,*)SIN(PI+0.5)END9.变量的类型定义中,优先级由高到低的顺序为( A )A.类型说明语句、IMPLICIT 说明语句、隐含约定B.隐含约定、IMPLICIT 说明语句、类型说明语句C.IMPLICIT 说明语句、类型说明语句、隐含约定D.隐含约定、类型说明语句、IMPLICIT 说明语句10.“两整数M与N不能同时小于零”的FORTRAN表达式( D ) A.M>=0.AND.N>=0B.(M.GE.0.AND.N.LT.0).OR.(M.LT.0.AND.N.GE.0)C.(M.LE.0.AND.N.LE.0).OR.(M.LE.0.AND.N.GE.0)D.M.GE.0.OR.N.GE.011.下列逻辑表达式描述的是(不会) X.GT.3.AND.X.LT.10.AND.MOD(X,3).NE.0.OR.X.EQ.2.OR.X.EQ.3 A.10以内的素数B.10以内的合数C.10以内的奇数D.10以内的偶数12.下面正确的逻辑IF语句是(C )A.IF(X.EQ.Y)THEN GOTO 10 B.IF M.LT.N PRINT*,M C.IF(ABS(X).LT.1E-6) A=1 D.IF(A.AND.(A.LE.0.0) A=313.下列语句中正确的是( C )A.DATA A,B,C/3*(-10.0)/ B.READ(*,*)(N,A(K),K=1,N)C.WRITE(*,*)(10,A(K),K=1,10) D.READ(*,*)N,N+114. 如果J是整型变量,则循环语句:DO J=5.5,-1.5,-2.5 所执行的循环次数是(C)A.4 B.3 C.2 D.115.如有语言:INTEGER B (-1:-2,3:7),则数组B 中所含的元素个数为( 无答案) A.0 B.10 C.12 D.2116. 关于FORTRAN90 的CASE结构,SELECT CASE(表达式)中的表达式的数据类型不允许为( A)A. 实型B. 字符型C. 实型D. 逻辑性17.下面符号在FORTRAN90 中表示续行符的是( B)A.! B. & C. # D. %18. 下列程序段中,错误的语句是( D)A.PARAMETER(N=10)B. INTEGER:: M=20C.M=M+ND.PRINT(*, *)M, N19.A. FUNCTIONB. SUBROUTINEC. BLOCK DA TAD. SUB20.下列语句中,错误的语句是( D)。

大学FORTRAN语言试题

大学FORTRAN语言试题

大学FORTRAN语言试题一、选择题(15×1分=15分)1.Fortran程序设计语言允许使用的专用字符集是。

A.(),.;[]+-*/=:空格B.(),.αβ+-*/=:空格C.(),.+-*/$'=:空格D.{},.;?+-*/=:空格2.按隐含规则确定变量的数据类型,Fortran表达式(A112/BC1+15.123456789.0_8)-(1000.0_4/3.0+ABI*ABJ)的值的数据类型为。

A.复型B.整型C.实型(种别为8)D.实型(种别为4)3.执行循环语句DO I=0.5,4.5,1.5,正常退出循环后,循环执行的次数和循环变量I的值分别为。

A.4和4.5 B.5和5 C.4和6 D.5和64.语句A(M(I))=MOD(I,7)是。

A.函数定义语句B.赋值语句C.非法语句D.说明语句5.下列不合法的是:_____A.A<B<C<D B..NOT.(X<0) C.A>B.EQV.C>D D.A.AND.B.AND.C6.若数组说明符ARRAY(-5:5,-10:0)的元素个数为。

A.144 B.121 C.110 D.1007.设循环初值、终值和增量分别为M1,M2和M3,循环次数的计算公式是。

A.INT((M2-M1)/M3)B.INT((M2-M1)/M3)+1C.MAX(INT(M2-M1+M3)/M3,0) D.MIN(INT(M2-M1+M3)/M3,0)8.下列字符表达式中正确的是。

A.’ABCD’+’MN’’D’B.’ABCD’//’MN’’D’C.CHAR(65)+’N’//’CH’D.’123 45’-’5’9.语句integer,dimension(1:-1)::a,下列说法中正确的是:_____A.a数组的元素个数为0 B.a数组的元素个数为3C.a数组的元素个数为1 D.该说明语句是错误的10.子程序的虚元可以是:A.变量名、数组名、过程名B.变量名、数组名、过程名和符号常量名C.变量名、数组名、数组片段、过程名D.任意符号名11.c为复型量,下列正确的是:A.c=(1/2,1/5) B.c=sqrt((0.1,4.5)) C.c=1.0+4i D.c=(x,y)12.数学式的FORTRAN表达式是()A.2/3*SIN(3.14/4)B.2SIN(3.14/4)/3C.2.0*SIN( /4.0)/3.0 D.2*SIN(3.14/4)/313.执行下列赋值语句后,变量X的值为()X=4+36**(7/14)A.10.0 B.5.0 C.10 D.514.下列不合法的是:A.A<B<C<D B..NOT.(X<0) C.A>B.EQV.C>D D.A.AND.B.AND.C15.执行下列程序时由键盘输入13579.2468,输出结果为:READ’(2(F4.1,2X))’,A,BPRINT’(2(F4.1,2X))’,A,BA.135.7 246.8 B.13.5 24.6 C.**** **** D.*** ****二、填空题(15×1分=15分)1.FORTRAN90自由格式的程序续行标记为______字符,一般写在_____位置;自由格式的程序注释标记为____字符。

FORTRAN笔试

FORTRAN笔试

一、判断题(共20分,每题1分,√表示对,×表示错)1.FORTRAN源程序的一条语句无法在一行内写下时,在行末用续行标志“!”,表示下一行是当前行的继续。

2.语句X=X+1的含义是将内存中名为X+1的存储单元的值赋给变量X。

3.如果程序单元中有说明语句PARAMETER(A=2.1),则不允许在该程序单元中改变A的值。

4.主程序和子程序可以储存到不同的文件中。

5.即使编译和连接都正确无误,FORTRAN程序运行时仍可能出错。

6.在数据块子程序中,可以调用另一个数据块子程序。

7.设有如下输入语句READ '(1X, F5.2)' , X若由键盘输入:12.3456789,则变量Y的值为12.34。

8.如果有以下程序段CHARACTER::A=’FORTRAN’则A内存储的实际值是’F’。

9.M=2000,为了在屏幕上输出□□***2000*** (其中□表示空格)。

则应使用的语句为:WRITE(*,100)M100 FORMAT(2X,’***’,I4,’***’)10.模块可用USE引用,也可用CALL调用。

11.语句函数定义语句在程序内的位置是:在程序块开头语句之后,END语句之前。

12.若有以下程序段:INTEGER,POINTER ::P1, P2INTEGER,TARGET::I=20, J=30P1=>I; P2=>J; P1=>P2; P2=>P1运行程序,I、J的值都为20。

13.COMMON语句的功能是给不同程序模块中的若干变量分配同一存储单元。

14.设C是复型变量,A、B是实型变量。

把A 的值赋给C的实部,把B的值赋给C的虚部的赋值语句是C=CMPLX(A,B)。

15.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的。

16.A2B的FORTRAN表达式为A**2*B。

17.程序中说明了变量a具有POINTER属性,若a=>b,则b应具有PARAMETER属性。

fortran试题A

fortran试题A

《Fortran 语言程序设计》考试试题 一、关键字解释及表达式互换(共10题,每题2分,共20分) 1. READ*, X,Y 2. REAL 3.12 FORMAT(2X,I5) 4.COMPLEX 5.LOGICAL 6.INTEGER,DIMENSION(4,5)::A 7.SELECT CASE(R3) 8.写出 x e y cos 21∙的fortran 表达式 9.写出COS ((A+1)*(A+1))/(N*N+1)数学表达式 10.写出 1-⎪⎪⎭⎫ ⎝⎛n y x 的fortran 表达式 二、下面分别是程序中的一段代码,请指出其错误?(共2题,(共2题,1题12分,2题8分,共20分) 1. …………………… E=(E*T+23) IF(E>=500) GOTO 5 DO N=1,1O ,0 5 T=SS*3.45 PRINT*,R,T END DO ……………… 2. PROGRAM ex IMPLICI NONE INTEGER :: n CHARACTER(LEN=3) :: a,b,c READ*, n a=n b=’nkd_lixy ’c=sqrt(a**2+b**2) print*,c ……………… 三、请写出下面程序的运行结果(共4题,每题10分,共40分) 学生班级________________学生学号:□□□□□□□□□□□□学生姓名:________________………………装订线………装订线………装订线…………试卷须与答题纸一并交监考教师…………装订线………装订线………装订线………………1.写出下列程序的作用是解决什么问题的?PROGRAM GH1REAL X,YREAD*,XIF (X<=0) Y=LOG(SQRT(X*X+1))IF (X>0) Y=SIN(X**3)+ABS(X)PRINT*,”Y=”,YEND2.写出下列程序的运行结果,程序运行时输入 5,6,7,8 四个数。

fortran考试试题(A)有答案版

fortran考试试题(A)有答案版

课程名称:Fortran语言程序设计;试卷编号:A 卷;考试时间:120分钟学院1.Fortran语言中有:整数型逻辑型字符型实数型复数型五种基本数据类型。

2.Fortran程序的书写格式有两种固定格式自由格式。

3. 字符型常数’this”s’的字符长度为64. 下列程序运行结果为125。

Program mainImplicit noneInteger::floor=5,iDo i=1, floorIf(i==3)cycleIf(i==4)cycleWrite(*,*)iEnd doend5. 下列程序的运行结果为76.0,2.0。

Program mainImplicit noneReal :: a, b, mA=2.0B=76.0If(a<b)thenM=aA=bB=mEnd ifWrite(*,*) “a=”,a “b=”,bend6. 下列程序的运行结果是10302。

Program testImplicit nonesum=0.0do i=1,203,2sum=sum+iend dowrite(*,*) iend7.下列程序的运行结果是12000。

Program testImplicit noneInteger::iInteger::a(5)=(/ (i, i=1,5) /)Integer::b(5)=0Where (a<3)b=aEnd whereWrite(*,”(5(i3,1x))”) bend8.下列程序的运行结果是30。

Program testImplicit noneInteger,parameter:: limit=10Integer counterInteger:: ans=0Counter=2do while(counter<=limit)ans=ans+countercounter=counter+2end doWrte(*,*)ansend9.下列程序的运行结果是2,3。

fortran试题

fortran试题

软件技术基础(FORTRAN)笔试模拟试题(带答案)一.概念选择题(单选题,将正确的答案填入括号内。

每题1分,共15分)1. 已知整型变量L=5,M=13,N=4,表达式L*M/N 、L/N*M 和M/N*L 的值分别是(A )。

A )16 13 15B )16.25 16.25 16.25C )16.0 13.0 15.0D )16 16 162.将数学式)||(ln 215-+e x 改写为FORTRAN 表达式,正确的是( D )。

A) 1/2*(LOG(ABS(X))+E**(-5))B) 1.0/2*(LN(ABS(X))+E**-5)C) 1/2.0*(LN(ABS(X))+E -5)D) 1.0/2*(LOG(ABS(X))+EXP(-5))3. 设A=.TRUE., B=.FALSE., C=.FALSE., 逻辑表达式(A.OR.B).AND.C 与A.OR..NOT.B 的值是( B )。

A) .T. 与 .F. B).F . 与 .T. C) .T. 与 .T. D) .F. 与 .F .4. 数组REAL A (0:5,-1:5)的元素个数是 ( D )。

A )25B )30C )36D )42 5. 下列数组说明符中错误的是( A )。

A )K(3:2,1:2)B ) K(-1:1,2)C )K(-2:2,-1:1)D )K(2:2,5)6. 关于USE 语句的正确说法是( C )。

A)USE 语句是可执行语句 B)用USE 语句可以代替INCLUDE 语句C)USE 语句必须放在程序单元体的开头 D)USE 语句的位置任意7. 语句OPEN (9,FILE=‘DATA.TXT ’)打开的是 ( B ) 文件。

A )无格式顺序B )有格式顺序C )无格式直接D )有格式直接8. 阅读下列FORTRAN 程序, 程序运行时执行循环体的次数是( A )。

X=0DO L=10, 5, 1X=X+1.0ENDDOENDA) 0 B) 1 C) 6 D) 无穷9.结构化程序设计中有三种基本结构,下列不属于三种基本设计结构的是( D )。

FORTRAN程序设计测试试题(级补考)

FORTRAN程序设计测试试题(级补考)

FORTRAN程序设计试题(级补考)————————————————————————————————作者:————————————————————————————————日期:232010级程序设计基础(Visual FORTRAN )试卷(B 卷)答题说明:(1)请按要求将答案书写在答题纸指定的位置上;(2)密封线内学号栏填写完整的8位学号;答题纸中上方填写在教学班中的序号。

装订线班级:姓名:密封兰州交通大学试卷(主卷)考题书写要求:上下不 [C] 有些FORTRAN 语句在程序执行时不产生任何机器操作。

[D] 在FORTRAN 中“=”表示相等的意思,如A=B 表示变量A 与B 的值相等。

10.阅读下列FORTRAN 程序:pi=3.14159265write(*,'(f7.4) ') pi end程序运行后输出结果是 [A] 3.142[B] 3.1415 [C] 0.31416[D] 3.141611.下列输入输出语句中错误的是 。

[A] print*, ´x=´, x, ´x*y**2=´, x*y**2 [B] write ( * , * ) a, b, no, ´y=´, y [C] read*, n, m, 5.0k[D] write ( *,22 ) a, b, i, k, c 22 format ( 4x, 2f5.0, 2i5 )12.要判断"月收入m 在2000元以上(含2000元)且5000元以下)不含5000元)"的职工,应该使用的逻辑表达式是[A] m .ge. 2000 .and. m .<=. 5000 [B] m .ge. 2000 .or. m .le. 5000 [C] m .>= 2000 .and. m .lt. 5000 [D] m >=.2011 年 9 月 日一、选择题(在每小题给出的4个选项中只有一项是正确的,将正确选项的字母序号填在答题纸表格的对应空位中。

FORTRAN试卷汇总

FORTRAN试卷汇总

FORTRAN 机试试卷班级: 姓名: 学号: 机器号 得分:考生请注意:考试时间为60分钟,请将结果和程序写在试卷对应的位置上,只写结果....不给分,结果对而程序错误的倒扣分................。

1、 有一函数:y=⎩⎨⎧≥+<01cos 0ln sin 2x x x x x 从键盘输入x,输出y 的值。

当X=-6时,y= ;当x=6时,y= 。

2、求2000~5000中第五大的素数。

第五大的素数为: 。

3、已知函数)1sin()ln(+=x e x y x ,用随机函数10*ran(iseed )+1生成10个自变量x ,从键盘读入iseed ,当读入5时,求x 和y 的平均值。

x 的平均值为: ;y 的平均值为: 。

FORTRAN 机试试卷班级: 姓名: 学号: 机器号 得分:考生请注意:考试时间为60分钟,请将结果和程序写在试卷对应的位置上,只写结果....不给分,结果对而程序错误的倒扣分................。

1、 有一函数:y=⎪⎩⎪⎨⎧≥-<≤<)10(113)101(2)1(cos x x x xx x当x=-0.5时,y= ;当x=0.5时,y= 。

2、随机生成500个1~1000的整数,输出最大和最小的数所在的位置。

其中随机数的生成函数为ran(iseed)从键盘读入iseed 。

当读入8时:最大的数在第 个;最小的数在第 个;3、已知函数y=e x cos(x+1),用随机函数100*ran( iseed)+1生成10个自变量x ,求y 的最大值为: ;对应的x 的值为: 。

FORTRAN 机试试卷班级: 姓名: 学号: 机器号 得分: 考生请注意:考试时间为60分钟,请将结果和程序写在试卷对应的位置上,只写结果不给......分,结果对而程序错误的倒扣分..............。

1、有一函数:y=⎪⎪⎩⎪⎪⎨⎧≥+<≤<)10(1)101(2)1(cos 22x xx x x x e 当x=-10时,y= ;当x=15时,y= ;2、 3)2sin(cos )(++=t t t f ,求⎰=π5.10)(dx x f I (矩形法,区间等分成1000分)。

fortran习题答案

fortran习题答案

fortran习题答案Fortran习题答案Fortran是一种古老而又强大的编程语言,广泛应用于科学计算和工程领域。

对于初学者来说,掌握Fortran的基本语法和解决问题的能力是非常重要的。

在学习过程中,练习习题是提高编程能力的有效途径。

本文将为读者提供一些Fortran习题的答案,帮助他们更好地理解和掌握这门编程语言。

1. 编写一个Fortran程序,计算并输出1到100之间所有偶数的和。

```fortranprogram sum_of_evensimplicit noneinteger :: i, sumsum = 0do i = 2, 100, 2sum = sum + iend doprint *, "The sum of even numbers from 1 to 100 is:", sumend program sum_of_evens```2. 编写一个Fortran程序,计算并输出1到n之间所有整数的平方。

```fortranprogram squaresimplicit noneinteger :: i, nprint *, "Enter a positive integer:"read *, nprint *, "The squares of integers from 1 to", n, "are:"do i = 1, nprint *, i**2end doend program squares```3. 编写一个Fortran程序,计算并输出斐波那契数列的前n个数。

```fortranprogram fibonacciimplicit noneinteger :: i, n, fib(100)print *, "Enter the number of terms in the Fibonacci sequence:" read *, nfib(1) = 0fib(2) = 1do i = 3, nfib(i) = fib(i-1) + fib(i-2)end doprint *, "The first", n, "terms of the Fibonacci sequence are:"do i = 1, nprint *, fib(i)end doend program fibonacci```4. 编写一个Fortran程序,计算并输出一个矩阵的转置矩阵。

FORTRAN考试试题3

FORTRAN考试试题3

《高级语言程序设计(FORTRAN)》考试精题一、选择题(每小题2分,共40分)1. 下列标识符中不能作为FORTRAN的合法变量名的是_____D_____。

A) A_1 B) A1 C) A1A D) A+12. 在FORTRAN的变量类型说明语句中没有 BA) REAL语句B)CHAR语句C)INTEGER语句 D)LOGICAL语句3.FORTRAN90 源程序的扩展名是 C 。

A. TXTB. FC. F90D. FOR4.下列关于符号常量的说法正确的是___C____。

A.符号常量的定义应该放在所有语句之前B.符号常量不可以是字符型常量C.在一个程序单位中定义一个符号常量后,不能再改变它的值D.符号常量定义语句与赋值语句一样,是可执行语句5、在下列写法中,__D______不是FORTRAN常量。

A. .TRUE.B.1E-2C. (0.0,2.4)D.1,000,0006.表达式15/4/2.0的值是 B 。

A.整数2 B.实数1.5 C.实数2.25 D.实数1. 37. 下列不是FORTRAN赋值语句的是 _____D______。

A) X=.TRUE. B) X=X*X C) X=X**2**2 D) X=X++8. 梯形的上底为A,下底为B,高为H,计算其面积的FORTRAN表达式中错误的是____A____。

A)1/2*(AB)*H B)(A+B)*H/2 C)(A+B)/2*H D)0.5*(A+B)*H9. 要选拔身高T>1.7米且体重W<62.5公斤的人,FORTRAN的逻辑表达式是__C_____。

A)T.ce.1.7.AND.w.le.62.5 B)T.le.1.7.OR.w.ge.62.5C)T.gt.1.7. AND.w.lt.62.5D)T.gt.1.7.OR.w.lt.62.510.FORTRAN 90规定,变量类型声明的优先顺序是 C 。

A.隐含约定(I-N规则)、IMPLICIT声明、类型声明D.IMPLICIT声明、类型声明、隐含约定(I-N规则)B.类型声明、隐含约定(I-N规则)、IMPLICIT声明C.类型声明、IMPLICIT声明、隐含约定(I-N规则)11、假设CH是一个字符型变量,并且具有足够的长度,则对于CH(3:7),下面说法正确的是___D________。

FORTRAN90试题_3_

FORTRAN90试题_3_

FORTRAN90试题_3_计算机基础部分单项选择题(每题1分,共⼗分)(⼀)微型机的性能指标主要取决于 1 。

1.A) 内存 B) 中央处理器 C) 硬盘 D) 显⽰卡(⼆)与⼗进制数35等值的⼆进制数为 2 。

2.A) 100011 B) 110001 C) 11101 D) 101011 (三)硬盘⼯作时,应尤其注意防⽌ 3 。

3.A) 空⽓潮湿 B) 空⽓中的尘埃 C) 光线直射 D) 强烈震动(四)下列选项中, 4 不属于系统软件。

4.A) C 语⾔编译程序B)Windows C) Unix D)Office (五)计算机联⽹的主要⽬的是 5 。

5.A) 数度快 B) 资源共享 C) 精度⾼ D) 容量⼤(六)下列⽹络的IP 地址中, 6 正确的是。

6.A) 202.245.101.201 B) 204.256.9.101 C) 202.155.98.C D) 249.220.258.202(七)在多媒体计算机系统中,不能⽤于存储多媒体信息的是 7 。

7.A) 光缆 B)光盘 C) 硬盘 D) 磁带(⼋)计算机病毒不能通过 8 传播。

8.A) 硬盘 B) 优盘 C) D 打印机 D) ⽹络(九)在Windows 98中,将⼀个应⽤程序窗⼝最⼩化后,该应⽤程序 9 。

9.A) 任在后台运⾏ B) 暂时停⽌运⾏ C) 完全停⽌运⾏ D) 从任务栏退出(⼗)在Windows 环境下,若要将当前窗⼝存⼊剪贴板,则可以按 10 。

10.A) Ctrl + Print Screen B) Alt + Print Screen C) Shift + Print Screen D) Print ScreenFORTRAN90语⾔⼀、语⾔基础单项选择(每题2分,共20分)(⼀) 下⾯程序段中,错误的语句是 1 。

1. A) REAL,PARAMETER :: S = 1.73B) REAL :: X = 3 C) S = S + XD) PRINT *, S, X(⼆) ⼀个梯形的上底长为A,下底长为B,⾼为H,正确计算这个梯形⾯积的FORTRAN90表达式为 2 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PROGRAM example INTEGER,DIMENSION(1:4) :: a=20, b=15 LOGICAL,DIMENSION(1:4) :: log=.FALSE. INTEGER:: reduce=8,increse=2 a(1:4:2)=25 b(2:4:2)=10 WHERE(a>20)a=a-reduce WHERE(b<15) b=b+increse a=a-5 ELSEWHERE log=.TRUE. END WHERE WRITE(*,'(1X,4I6)')a WRITE(*,'(1X,4I6)')b WRITE(*,'(1X,4L6)') log END PROGRAM example
QUIZ
分数: 100分 时间: 80分
一、选择
1、在下列写法中,( )不是FORTRAN常量。 A .TRUE. B 1E-2 C (0.0,2.4) D 1,000,000 2、下列哪个是合法的F90变量名?( ) A FORTRAN/90 B FORTRAN_90 C 90_FORTRAN D .FORTRAN 3、以下声明中,不是数组声明的是:( ) A. integer a(4) B. integer (4) a C. integer a(10,20) D. integer a(-3:10)
16、求出1900~2100的闰年,要求把求出的闰年 (“四年一润,百年不润,四百年再润”)存入数 组Y,并统计闰年的数目。以7位宽度输出闰年年号, 每行10个。
INTEGER::Y(50), K=0 DO I=1900,2100 IF(MOD(I,400)==0 .OR. MOD(I,100)/=0 K= ) Y(K) = I ENDIF ENDDO WRITE(*, '(1X,I2 “ LEAP YEARS”)')K WRITE (*, ‘( )') (Y(I),I=1,K) END
10、自定义数组stl的定义如下: TYPE student INTEGER::num CHARACTER(len=8)::name . REAL::height ENDTYPE TYPE(student),DIMENSION(10)::stl 则数组stl在常用的编译系统(如CVF)中占据内存单元字节 数是( )。 A.140 B.160 C.180 D.200
2 2 + x y 3 11、数学表达式 x ln( ) x 的FORTRAN表达式为( ) 12、数组声明语句为: INTEGER, DIMENSION(-5:-1,-3:3,11:15) :: num 数组元素num(-2,1,13)是存储结构中第( )个元素。 13、下列程序运行结果是( ) 。 INTEGER M(3,3) DATA M/1,2,3,4,5,6,7,8,9/ WRITE(*,10)(M(3,J),J=1,3) 10 FORMAT(3I2) END
MOD(I,4)==0) THEN
编程
17、求100到999之间所有三位同构数,并将 它们输出。所谓三位同构数就是该数出现在 其平方的末三位,如3762=141376,则376即 为三位同构数。
填空
INTEGER A(4,4) DO I=1,4
14、右侧程序运行结 果是( )
DO J=1,4 A(I,J)=I*J-1 ENDDO ENDDO DO I=1,4 N=5-I WRITE(*,30)(A(I,J),J=N,4) ENDDO 30 FORMAT(1X,4I3) END
15、右侧程序运行 结果是()
7、设A=.TRUE., B=.FALSE., C=.FALSE., 逻辑表达式 (A.OR.B).AND.C与A.OR..NOT.B 的值是( )。 A.TF B. FT C. TT D. FF 8、阅读下列FORTRAN程序, 程序运行时执行循环体的次数是 ( )。 X=0 A 0 B 1 DO L=10, 5, 1 C 6 D 无穷 X=X+1.0 ENDDO END 9、圆心在原点的两个同心圆,半径分别为2和4。描述点(X,Y) 在小圆外,大圆内(包括在两圆周上)的表达式是( ) A ABS(X)<=4.0 .AND. ABS(Y)>=2.0 B 2.0=<SQRT(X*X+Y*Y)<=4.0 C X*X+Y*Y<=16.0 .AND. X*X+Y*Y>=4.0 D (X .OR. Y)>=2.0 .AND. (X .OR. Y)<=4.0
4、以下语句中3 B integer, parameter :: pi=3.14159 C tax=salary*3% D integer, dimension(2,3) :: a 5、FORTRAN表达式"6/5+9/2**3/2"的值为( ) A 33 B 1 C 5 D 3 6、以下为数组声明语句,则下列选项中不正确的是( ) INTEGER num(9)=(/1,2,3,4,5,6,7,8,9/), mm(5) A mm=num(5:9) B mm=num(5:) C mm=num(:5) D mm=num(:)
相关文档
最新文档