2003FORTRAN90笔试试卷
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 。
FORTRAN90复习资料(2)

FORTRAN90 程序设计复习资料(2)一、选择题1.FORTRAN 90规定,变量类型声明的优先顺序是。
A.隐含约定(I-N规则)、IMPLICIT声明、类型声明B.类型声明、隐含约定(I-N规则)、IMPLICIT声明C.类型声明、IMPLICIT声明、隐含约定(I-N规则)D.IMPLICIT声明、类型声明、隐含约定(I-N规则)2.表达式15/4/2.0的值是。
A.整数2 B.实数1.5 C.实数2.25 D.实数1. 33.数组声明语句为:INTEGER,DIMENSION(-5:-1,-3:3,11:15) ::num ,数组共有个元素。
A.175 B.150 C.120 D.174.下列语句函数声明中,正确的是。
A.F1(I,I)=5*I-10*I**2 B. F2(MAT(5),A)=5*A+MAT(5)C. F3(X,Y,5.0)=X**2+Y**2+5.0**2D.F4(X,Y)=SQRT(X**2+Y**2+5.0**2)5.下列关于子程序的有关说法中,不正确的是。
A.对于无参子例行程序,调用时子例行程序名后的括号可取消B.对于无参函数子程序,调用时函数名后括号可取消C.对于有参子程序,形式参数可以是子程序名对于有参子程序,形式参数可以是星号“*”6.以下不是算法的特征。
(A) 灵活性(B)确定性(C)可行性(D)有穷性7.以下是FORTRAN 90源程序的扩展名。
(A)MDP (B)MAK (C)OBJ (D)F908.下列是正确的变量名。
(A)3SI (B)SI—3 (C)SI 3 (D)SI#39.若S为整型变量,且有S=1.25+11/4,则S的值为。
(A)3(B)3.25 (C)4 (D)4..2510.表达式MOD(5,6)+9/2**3/2的值为。
(A)37 (B)1 (C)5 (D)3211.已知a=3.0,b=9.0,c=5.0,d=7.0,逻辑表达式a+b/=c. and .a>=d的值为。
FORTRAN90习题

,A(2,2)的值是
,A(3,1)的值是
。
,第二行是
,A(2)的值是
n-1 n
。 之和的外部函数
+…+anT 表示x ,S 表示多项式之和。 FUNCTION p(A,N,x) RESULT(r_p) S= T=1.0 DO I=1,N T= S=S+A(I)*T PRINT*,'S=',S END 8. 用选择法,将 N 个整数按从小到大排列。 PARAMETER(numl=500) INTEGER num(numl) READ*,N,(num(I), ) DO I=1,N-1 min=I DO J= (22) IF(num(min) .GT. num(J)) ENDDO IF(min .NE. I)THEN it=num(I) num(I)=num(min) ENDIF ENDDO PRINT*,(num(I),I=1,N) END 9. 以下程序是通过超载赋值(=)运算符,实现将字符的 ASCII 码赋给整型变量的功能. SUBROUTINE CTOI(I,C) INTEGER ,INTENT(OUT):: I CHARACTER ,INTENT(IN):: C I= END SUBROUTINE PROGRAMMAIN INTERFACE ASSIGNMENT(=) SUBROUTINE INTEGER ,INTENT(OUT):: I CHARACTER ,INTENT(IN):: C ENDSUBROUTINE INTEGER I CHARACTER:: C='A' I=C PRINT*,C,I END PROGRAMMAIN 10.求 N!。 PRINT*,'Input N?' READ *,N
,第三行是
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 )425. 下列数组说明符中错误的是( 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考试题及答案分开1. 以下哪个选项是Fortran语言中正确的整型变量声明?A. INTEGER xB. REAL xC. COMPLEX xD. LOGICAL x答案:A2. Fortran程序中,哪个关键字用于定义数组?A. ARRAYB. LISTC. VECTORD. DIMENSION答案:D3. 在Fortran中,以下哪个选项是正确的条件语句?A. IF (x > 0) THENPRINT *, 'x is positive'B. IF x > 0 THENPRINT *, 'x is positive'C. IF (x > 0)PRINT *, 'x is positive'D. IF x > 0PRINT *, 'x is positive'答案:A4. Fortran中用于循环结构的关键字是什么?A. LOOPB. ITERATEC. DOD. FOR答案:C5. 如何在Fortran程序中包含另一个文件?A. 使用INCLUDE语句B. 使用IMPORT语句C. 使用INCLUDE关键字D. 使用IMPORT关键字答案:A6. Fortran中,哪个函数用于计算数组元素的总和?A. SUMB. TOTALC. AGGREGATED. ACCUMULATE答案:A7. 在Fortran中,如何声明一个具有默认值的变量?A. INTEGER :: x = 0B. INTEGER x = 0C. INTEGER x DEFAULT 0D. INTEGER x = DEFAULT 0答案:A8. Fortran程序中的主程序必须以哪个关键字开始?A. PROGRAMB. MAINC. PROCEDURED. FUNCTION答案:A9. 在Fortran中,如何声明一个二维数组?A. INTEGER :: matrix(10, 10)B. INTEGER :: matrix[10][10]C. INTEGER :: matrix(10)(10)D. INTEGER :: matrix(10,10)答案:A10. Fortran中用于计算数组元素平均值的函数是什么?A. AVGB. MEANC. AVERAGED. SUM答案:C。
Fortran模拟试卷

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中数据输出域宽是字符。
FORTRAN90考试笔试题

FORTRAN90语言部分一、 语言基础单项选择(每题2分,共20分)(一)下面的函数计算中,错误的是 1 。
A) SQRT(9) B) REAL(9) C) ABS(9) D) MOD(9,2)(二)运行下面的程序时(P,W,X,Y 都是实型变量), READ(*,10) P,W,X,Y WRITE(*,20)X,Y10 FORMAT(1X,F3.1,3(1X,F4.2)) 20 FORMAT(1X,F4.1,3(1X,F5.2)) END如果从键盘输入数据:12345678901234567890,则输出结果为 2 。
A) 1.23 56.78 B) 12.3 67.89 C) 12.3 45.67 D) 34.5 67.89(三)数学式a acb x 24sin 22-+的FORTRAN 表达式为 3 。
A) SIN(X**2)+SQRT(B*B-4*A*C)/2/A B) SIN(X)**2+ SQRT(B*B-4*A*C)/2/AC) (SIN(X**2)+SQRT(B*B-4*A*C))/(2*A) D) (SIN(X)**2+SQRT(B*B-4*A*C))/(2*A)(四)表示条件“A 加B 大于C 并且C 大于等于D ”的FORTRAN90逻辑表达式是 4 。
A) A+B>C >=D B) (A+B)>C >=DC) A+B>C.AND. C>=DD) (A+B)>C.OR. C>=D(五)通过下面的赋值,字符变量LINE 的值是 5 。
表示空格。
CHARACTER(LEN=4)::LINE LINE=’10’A) 10 B) 1000 C) ‘10’ D) ’10 ’(六)下面对二维数组的说明语句中,正确的语句是 6 。
A) 显式形状数组的说明:REAL,DIMENSION(10,:) ::AB) 动态数组的说明方式:REAL,DIMENSION(:,:), ALLOCATE ::A C) 假定形状数组的说明:REAL,DIMENSION(10,:) ::A D) 指针数组的说明:POINTER,DIMENSION(1:3,2:4) ::A (七)下面的模块中,错误的语句是 7 。
FORTRAN_90程序设计试题A(2022格式)

FORTRAN_90程序设计试题A(2022格式)装订线2022年6月24日输入7,8,9,10↙兰州交通大学试卷(主卷)密封线课程名称:FORTRAN90程序设计(A)教学班中学生序号一、选择题(每题1分,共30分)方式将FORTRAN源程序变成目标程序。
1.采用[A]编辑[B]编译[C]汇编[D]解释2.一个完整的FORTRAN源程序的组成不应该是[A]只有一个主程序没有子程序:号[B]只有子程序而没有主程序学[C]有一个主程序和一个子程序[D]有一个主程序和若干子程序点3.下面符合FORTRAN90定义规则的变量名是端两[A]某_C2[B]某+Y[C]U.S.A[D]M线4.下列说法中,正确的是黑过[A]在FORTRAN程序中,各类语句的位置是任意的。
超得[B]任何一个FORTARN语句在程序执行时都会产生某种机器操作。
不[C]有些FORTRAN语句在程序执行时不产生任何机器操作。
下上[D]在FORTRAN中“=”表示相等的意思,如A=B表示变量A与B的值相等。
:5.下列四个实数中,哪一个是合法实数求要[A]E5[B]$125.5[C]12.3E3.5[D]+189.写:6.下面赋值语句中正确的语句是书名题[A]M某N=(某-Y)/Z[B]+R=A+B/C[C]某=Y=Z-1.0[D]Y=A某B/C/D姓考7.设变量A,B,I,J的类型符合I-N规则,且A=2.0,B=2.5,I=1,J=2,则表达式:I/J某A+B某I/J的值为[A]0[B]0.25[C]1.25[D]2.258.下列语句中有错误的语句是[A]F=(A+B)/(C+D)[B]T=SQRT(8.0)[C]P=MOD(M,5.1)[D]K=MA某(A,B,C)9.运行下列程序后,输出的结果是INTEGERM,NREAD某,M,N,N,M:M=M+N级N=M+N班PRINT某,M,NEND共8页第1页[A]1523[B]1519[C]1919[D]192810.以下不合法的FORTRAN90表达式是[A]A=B.EQV.C>D[D]A.AND.B.AND.C11.以下能表示条件“某、Y同时满足大于0且小于等于10”的逻辑表达式是[A](0[B](某.GT.0.AND.某.LE.10).AND.(Y.GT.0.AND.Y.LE.10)[C](某.GT.0.AND.某.LE.10).OR.(Y.GT.0.AND.Y.LE.10)[D]012.如果A=2.5,B=7.5,C=5.0,D=6.0,L=.TRUE.,M=.FLASE.,下列值为TRUE的逻辑表达式为[A].NOT.L.OR.C.EQ.D.AND.M[B](A+B).LT.(C+D).AND.A.EQ.3.5[C](A .LT.B).AND.(B.LT.A)[D]A+B/2.0.NE.C-D.OR.C.NE.D13.下列各逻辑IF语句中正确的是[A]IF(某>0.0).AND.(某<1.0)Y=1.0[B]IF(某<0.0)THENY=-1.0[C]IF(某>0.0.AND.某<1.0)Y=1.0[D]IF(0.0READ(某,某)N某=1.0IF(N>20)某=3某某-1.0IF(N>5)某=2某某+1.0IF(N>0)某=2某某PRINT某,某END如果从键盘输入20↙,最后输出的某值为[A]1.0[B]2.0[C]6.0[D]10.015.对于DO语句:“DOI=1.2,5.6,2.4”,可计算出循环次数为[A]2次[B]3次[C]4次[D]5次16.下列程序执行后,输出的结果为N=0DOK=1,3共8页第2页装订线密封线兰州交通大学试卷(附卷)N=N+K勤学习祝成功守纪律莫舞弊[C]C=’BEIJI□□NEW’[D]C=’IJINGNEW□□’ENDDOPRINT某,N,KEND[A]3,3[B]3,4[C]6,3[D]6,417.下列程序中,哪一行语句有错误1PROGRAMP012INTEGER::I,S=03DOI=1,5,2:4I=I+1号5S=S+I学6ENDDO7ENDPROGRAMP01点[A]2[B]3[C]4[D]7端两18.阅读下列FORTRAN90程序段线黑INTEGER::I,J,K=0过DOI=1,5,2超得DOJ=2,6,3不K=K+1下ENDDO上:ENDDO求上述程序段执行完后K的值是:要写[A]6[B]4[C]2[D]9名书姓题19.设有字符串变量CH=’Thi’’Fortranprogram.‘,则LEN(CH)=考[A]21[B]22[C]23[D]2420.阅读以下程序段:CHARACTERAA=CHAR(ICHAR(’0’)+3)PRINT某,A输出的A为:[A]0[B]1[C]2[D]321.执行下列程序段后,变量C的值为(□表示空格)CHARACTER某5A,B,C某10A=’BEIJING’:B=’NEW’级C=A//B班[A]C=’BEIJINEW□□’[B]C=’IJING□□NEW’共8页第3页22.下面的格式输入语句:READ(某,20)某,Y20FORMAT(2F4.1)如果在执行时,由键盘输入:1122334455667788后,则Y的值是______。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FORTRAN 90笔试试卷(二○○三年五月)一、选择题1、关于FORTRAN90的CASE语句,下列说法中正确的是(1)。
CA、在一个CASE结构中,CASE DEFAULT语句可出现多次B、对于给定的CASE结构,CASE值范围可以有重叠C、每个CASE 的值必须与表达式的类型相同D、如果表达式为字符型,CASE 的值可以是任意长度和类型的字符2、关于数据对象的INTENT属性,下列说法中不正确的是(2)。
BA、INTENE属性只能用于子程序中,说明虚元的意图属性B、INTENT属性也可用于具有指针类型的虚元C、INTENT属性只能是IN、OUT和INOUT三种之一D、INTENT属性可用来说明多个虚元,虚元之间用逗号分开3、关于FORTRAN90的续行符,以下说法不正确的是(3)。
DA、一条语句最多有39个续行B、在非注释行上,续行符可以出现在行尾,也可以出现在行首C、当续行符出现在注释语句中,则失去了续行的功能D、续行符后可以是空行4、关于CYCLE语句,以下说法正确的是(4)。
AA、CYCLE语句只能用于循环结构中B、CYCLE语句可用于任何语句结构中C、CYCLE语句提供了循环的出口语句D、CYCLE语句提供了循环的入口语句5、关于数据对象的OPTIONAL属性,以下说法不正确的是(5)。
BA、OPTIONAL属性只能用于子程序或接口块中B、OPTIONAL可以用于任何程序单元中C、可以用PRESENT函数测试已说明为OPTIONAL的虚元是否可用D、说明为OPTIONAL属性的虚元可以没有实元对应6、输出语句PRINT *,’’’’的输出结果是(6)。
AA、’B、’’C、’’’D、语法错7、设有数组定义INTEGER(1)A,BDIMENSION A(5),B(4,7)则在执行下列语句后,A(4)的值为(7)。
C A=8B=5A=A-B(2,1:5)A、8B、5C、3D、语法错8、关于USE语句,以下说法正确的是(8)。
BA、USE语句可以出现在程序单元的任何位置B、一个程序内可以包含多个USE语句C、带ONL Y选项的USE语句可以访问模块中的全部实体D、用USE语句访问的实体不能重新命名9、关于FORTRAN90的派生类型,以下说法错误的是(9)。
CA、派生类型是由TYPE语句定义的B、派生类型的名字不能与任何内在类型名或其他派生类型名相同C、派生类型的分量不可以是派生类型D、派生类型的分量引用可以使用符号%10、MERGE函数可以将2个同类型同形状的数组合并,其语法格式为MERGE(数组1,数组2,MASK),以下说法中错误的是(10)。
DA、MASK应当是与数组1和数组2同形状的数组B、函数根据MASK中某元素的逻辑值决定取数组1或数组2中对应元素的值C、函数值是与数组1和数组2同形状同类型的数组D、函数值是与数组1或数组2同类型的一个值11、FORTRAN90中的数组片断(即数组的一部分),可用下标三元组形式表示。
设有数组说明为B(10,6,4),则数组片断B(8:11:2,5,2:3)的结果是(11)。
A A、形状为(2,2)的数组B、形状为(2,2,2)的数组C、一维数组D、语法错12、关于FORTRAN 90的指针变量,以下说法不正确的是(12)。
CA、指针变量不能再具有INTENT属性和PARAMETER属性B、指针变量在执行指针赋值或ALLOCA TE语句之前,不占据内存空间C、指针变量可以指向任何变量D、指针变量可以用DEALLOCATE语句释放所占据的内存空间13、以下关于模块名的说法中,不正确的是(13)。
BA、模块名是全局的,所以不能和其他任何程序单元同名B、模块名可以使用任何字符C、模块名长度最多不能超过31个字符D、模块名中可以包含下划线14、以下全部属于合法的整型常数的一组是(14)。
①32,767 ②7#65 ③+8.57 ④#2F ⑤A7#2D ⑥47_2 ⑦36_3 ⑧2#101111 DA、①②③④B、⑤⑥⑦⑧C、①③⑤⑦D、②④⑥⑧15、以下全部属于合法的实型常数的一组是(14)。
①32.7_4 ②5.0E3 ③8.57 ④2E-3_4 ⑤1,234.5 ⑥4.8E48 ⑦3.6_6 ⑧$2.4 AA、①②③④B、⑤⑥⑦⑧C、①③⑤⑦D、②④⑥⑧二、填空题1、下列程序输出的第一行为(1),第三行为(2)。
答案:8 8 REAL, ALLOCATABLE :: A(:,:,:)LOGICAL, ALLOCATABLE :: MASK(:,:,:)INTEGER B(3), C(3)INTEGER IALLOCATE (A(5, 4, 3))ALLOCATE (MASK(3, 4, 5))IF(ALLOCATED(A) .AND. ALLOCATED(MASK)) THENB = SHAPE(A);C = SHAPE(MASK)DO I=1,3PRINT*, B(I)+C(I)ENDDOEND2、下列程序执行后,ARRAY(4,1)= (3),(2,3)= (5)。
IMPLICIT NONEINTEGER(1),DIMENSION(1:4,1:4)::ARRAY=0INTEGER(1)::I=1,J=1,N1=1,NC=4,KDO K=1,16ARRAY(I,J)=KIF(I<NC .AND. J==N1)THENI=I+1ELSEIF(I==NC .AND.J<NC)THENJ=J+1ELSEIF(I>N1 .AND. J==NC)THENI=I-1ELSEIF(I==N1 .AND. J>N1+1)THENJ=J-1IF(I==N1 .AND. J==N1+1)THENNC=NC-1; N1=N1+1ENDIFENDIFENDDOPRINT '(4X,4I3)',((ARRAY(I,J),J=1,4),I=1,4)END3、下列程序运行后,AR1(1,1)= (6) , AR1(1,3)= (7),AR1(2,3)= (8)。
INTEGER TSOURCE(2, 3), FSOURCE(2, 3), AR1 (2, 3) 答案:1,3,-2LOGICAL MASK(2, 3)TSOURCE = RESHAPE((/1, 4, 2, 5, 3, 6/),(/2, 3/))FSOURCE = RESHAPE((/7, 0, 8, -1, 9, -2/), (/2, 3/))MASK =RESHAPE((/.TRUE.,.FALSE.,.FALSE.,.TRUE.,.TRUE.,.FALSE./),(/2,3/))AR1 = MERGE(TSOURCE, FSOURCE, MASK)PRINT*,AR1END4、下列程序运行后,输出结果为(9)。
答案: 5.0 5.0 5.0 5.0 REAL A(3, 3), B(4)INTEGER K(4)K = (/3, 1, 1, 2/)A = 5.0B = A(3, K)PRINT*,BEND5、下列程序输出的第一行为(10),第二行为(11),第三行为(12)INTEGER, POINTER :: arrow (:)INTEGER, ALLOCATABLE, TARGET :: bullseye (:,:) 答案:5 5 5 5 ALLOCATE (arrow (1:4)) 8 1 8 1 8arrow = 5 1 8 1 8WRITE (*,'(1x,4I4)') arrowALLOCATE (bullseye (1:5,3))bullseye = 1bullseye (1:5:2,2) = 8WRITE (*,'(1x,5I4)') bullseye(:,2)arrow => bullseye (2:5,2)WRITE (*,'(1x,4I4)') arrowDEALLOCATE (arrow, bullseye)END6、下列程序输出的第一行为(13),第三行为(14),第五行为(15)。
PROGRAM TEST6IMPLICIT NONECHARACTER*3,DIMENSION(8)::letter 答案:abcdletter=(/'abc','def','ghi','jkl','mno','pqr','stu','vwx'/) ijklCALL test(letter) qrstENDSUBROUTINE TEST(SUB_LETTER)IMPLICIT NONECHARACTER*4,DIMENSION(5)::SUB_LETTERINTEGER(1)::iDO i=1,5WRITE(*,100)i,sub_letter(i)ENDDO100 FORMAT(1X,'sub_letter(',I1,')=',A4)END SUBROUTINE test7、插入排序(在输入过程中完成排序)。
以任意次序读入20个数,先将第一个数放入数组A的第一个元素中,以后读入的数应与已存入数组中的数进行比较,确定它在从小到大的排列中所应处的位置。
将该位置及其后面的元素向后推移一个位置,把新读入的数据填入空出的位置中,这样在数组A中的数总是从小到大排列的。
20个数据处理完后输出数组A。
以下程序完成此功能。
PROGRAM mainIMPLICIT NONEINTEGER,PARAMETER::n=20REAL(4),DIMENSION(n)::aREAL(4)::xINTEGER(1)::i,numnum=(16)(16) 0DO i=1,nREAD(*,*)xCALL insert(x,a,num)ENDDOWRITE(*,100)(a(i),i=1,n)100 FORMA T(1x,5F7.2)CONTAINSSUBROUTINE insert(x, a, num)IMPLICIT NONEREAL(4), DIMENSION(*)::aREAL(4)::XINTEGER(1)::num, i, posLOGICAL::searchpos=1search=.TRUE.!下列循环找出该数在数组中应处的位置DO WHILE ((17).AND. pos<=num) (17) SEARCH IF(x<a(pos)) THENsearch=.FALSE.ELSE(18)(18) pos=pos+1 ENDIFENDDO!下列循环把该位置及以后的数往后移DO i=num, pos, -1(19)(19) a(i+1)=a(i) ENDDOa(pos)=x(20)(20) num=num+1 END SUBROUTINE insertEND PROGRAM main8、下列程序用来寻找输入字符串S中互不相同的字符,并按升序存放到字符串S1中。