




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第 2 2- -3 3 章章 练习题练习题 练习(一)练习(一) 1.1.下列选项中,不属于下列选项中,不属于 FORTRAN90FORTRAN90 固有数据类型的是固有数据类型的是_。 A A字符型字符型 B B逻辑逻辑型型 C C复型复型 D D日期型日期型 2.FORTRAN902.FORTRAN90 类型说明中关于种类类型说明中关于种类( (或称种别或称种别) )参数,例如参数,例如 REAL(KIND=n)REAL(KIND=n),错误的说法是,错误的说法是 _。 A An n 根据需要可以取任何整数值根据需要可以取任何整数值 B Bn n 描述数据能占用的内存大小描述数据能占用的内存大小( (数值类型还描述精度或可表示范围的大小数值类型还描述精度或可表示范围的大小) ) C C整数整数 n n 的取值受到限制,不能随意的取值受到限制,不能随意 D D整数整数 n n 能取什么值由编译器实现时决定能取什么值由编译器实现时决定 3.3.逻辑型数据只取真和假两值之一,因此其变元的种类(或种别)参逻辑型数据只取真和假两值之一,因此其变元的种类(或种别)参数数_。 A A可以是可以是 kind=1kind=1 或或 2 2 或或 4 B4 B只能是只能是 kind=1kind=1 C C只能是只能是 kind=2 Dkind=2 D只能是只能是 kind=4kind=4 4.4.C Complexomplex 类型的数据在内存占用的字节数默认为类型的数据在内存占用的字节数默认为_个字节个字节 A. 4 B.1 C.8 D. 2A. 4 B.1 C.8 D. 2 5. 下列选项中,是下列选项中,是 FORTRANFORTRAN 常量的是常量的是_。 A A1/21/2 B B C C876e876e- -3 3 D Dcos(2.0)cos(2.0) 6.6. 下列数据中,不符合下列数据中,不符合 FORTRAN90FORTRAN90 常量表示的是常量表示的是 。 A A(2,4)(2,4) B B3.3.2344D02344D0 C CBOOTBOOT = D DTRUETRUE 7.7.下列关于下列关于 FORTRAN90FORTRAN90 数据类型的说法中,错误的是数据类型的说法中,错误的是_。 A A整型常量的表示中,不能包含小数点整型常量的表示中,不能包含小数点 B B实型常量的表示有两种形式,小数形式和指数形式实型常量的表示有两种形式,小数形式和指数形式 C C复型常量的表示必须加括号,且实部和虚部系数必须为常量复型常量的表示必须加括号,且实部和虚部系数必须为常量 D D字符型常量必须用单引号、双引号和方括号作为其定界符字符型常量必须用单引号、双引号和方括号作为其定界符 8.8. 下列复数正确的是下列复数正确的是:_。 A A( (2 2, ,3 3) ) B B(1/2,(1/2,3 3) ) C C2 2+3*I +3*I D D2+3I2+3I 9.9. 关于关于 FORTRAN90FORTRAN90 源程序的变量命名,以下四源程序的变量命名,以下四种说法中最为准确的是种说法中最为准确的是 。 A. A. 不允许用短名不允许用短名 B. B. 尽量采用能反映所代表意义的长名尽量采用能反映所代表意义的长名 C. C. 必须采用能反映物理意义的长名必须采用能反映物理意义的长名 D. D. 只要自己能理解怎么命名都可以只要自己能理解怎么命名都可以 10.以下以下 FORTRANFORTRAN9090 变量名中正确的是 变量名中正确的是_ A A3a 3a B Ba.1a.1 C.C.AB3DAB3D D Dx x- -3 3 11. 说明说明 a a 是整型常数是整型常数 3 3(即(即 a a 为符号常数)的语句为为符号常数)的语句为_。 A AI Integer,parameter:a=3 nteger,parameter:a=3 B B integer:a=3 integer:a=3 C Cinteger:a;a=3 integer:a;a=3 D DI Integernteger parameter:a=3parameter:a=3 12.12.关于关于 FORTRAN90FORTRAN90 隐含类型说明(隐含类型说明(I I- -N N 规则) ,下列说法中正确的是规则) ,下列说法中正确的是_。 A A以以 ININ 之间的字母开头的变量,类型为逻辑型,其余为实型之间的字母开头的变量,类型为逻辑型,其余为实型 B B以以 ININ 之间的字母开头的变量,类型为整型,其余为字符型之间的字母开头的变量,类型为整型,其余为字符型 C C以以 ININ 之间的字母开头的变量,类型为实型,其余为字符型之间的字母开头的变量,类型为实型,其余为字符型 D D以以 ININ 之间的字母开头的变量,类型为整型,其余为实型之间的字母开头的变量,类型为整型,其余为实型 13.13.说明变量说明变量 A,B,CA,B,C 是实型变量的语句为是实型变量的语句为_._. A. real:a b c B. real:a,b,c C.real:a;b;c D. read:a,b,cA. real:a b c B. real:a,b,c C.real:a;b;c D. read:a,b,c 五种基本数据类型 种别参数: 数值型和逻辑型表示存放字节数;字符型表示所属字符集 种别参数不能是任意整数,由系统决定 逻辑型数据保存的是一个无符号整数,所以种别值同整型 为真时保存全1,为假时保存全0 默认种别为机器字长(F90运行于32位操作系统) 目前,机器字长为32位(4字节),默认种别为机器字长 注意各类常量的表示方式。 特别: 字符型:单引号、双引号 实型:小数形式、指数形式 逻辑型:.TRUE. .FALSE. 复型:(实部,虚部) FORTRAN90命名规则: 常量属性:Parameter 符号常量说明语句写法: I-N规则 类型说明语句写法 complex(4):a ; complex*8:b a和b种别相同 复数 双精度指数形式 字符 逻辑常量两边必须有点号 二、填空题二、填空题 1 1 类型说明语句在程序单位中的位置为类型说明语句在程序单位中的位置为_。 2 2 I Implicit nonemplicit none 语句的含义是:语句的含义是: 。 3 3 说明说明 a a 是实是实型变量,且型变量,且说明时同时赋说明时同时赋初值为初值为 0.30.3 的语句应写为的语句应写为 练习(二)练习(二) 一、选择题一、选择题 1. FORTRAN90 使用的字将集中除字母和数字外使用的字将集中除字母和数字外,还有还有 21 个专用字符个专用字符,但是以下四组字符中但是以下四组字符中 所有字将均不属于专所有字将均不属于专用字符的用字符的 。 A.A. % % !; ; B.B. , ; C C! ; real:x; x x=4+36*(7/14)=4+36*(7/14) A A5.0 B5.0 B10.0 10.0 C C10 D10 D 5 5 2. 下列下列正确正确的赋值语句为的赋值语句为_。 A. n=n+1 B.x+1=1 C. f(x)=x+1 D.2*x*2+4*xA. n=n+1 B.x+1=1 C. f(x)=x+1 D.2*x*2+4*x- -7=07=0 3.3.下列语句正确的是下列语句正确的是_。 A. read*,x,3,y B.read(*,*)a,b C. read* a,b D. read(*,*) a=2,b=3A. read*,x,3,y B.read(*,*)a,b C. read* a,b D. read(*,*) a=2,b=3 4 4. . 下列语句正确的是下列语句正确的是_。 A. print(*,*)x,yA. print(*,*)x,y B. write*B. write*,x,y,x,y C. print*,a+1,3,b,sin(x) D.write(*,*)a=1,b=2C. print*,a+1,3,b,sin(x) D.write(*,*)a=1,b=2 5 5. . 执行下列程序时由键盘输入执行下列程序时由键盘输入 1357921357924.4.68689 9,输出结果为,输出结果为_。 READ(2(F4.1,2X),AREAD(2(F4.1,2X),A,B B PRINT(2(F4.1,2X),APRINT(2(F4.1,2X),A,B B A A135.7 135.7 4.684.68 B B13.5 13.5 4.64.6 C C* * 4.74.7 D D* 4.684.68 二填空题二填空题 1. 语句语句 READ(*,*)i,jREAD(*,*)i,j 的功能为: 执行时暂停程序的运行, 等待用户的功能为: 执行时暂停程序的运行, 等待用户 为变量为变量 I I,j,j 输入数输入数 据。如据。如 I I, ,J J 的值分别为的值分别为 3,43,4,则数据输入格式为,则数据输入格式为_。 2.2.执行执行 READ*READ*,i;i; READ*,jREAD*,j 如如 I I, ,J J 的值分别为的值分别为 3,43,4,则数据输入格式为,则数据输入格式为_。 3.3.语句语句 PRINT*,APRINT*,A 中,中,* *的含义是的含义是 输出数据。输出数据。 4.4. LOGICALLOGICAL:L:L;READ*;READ*,L L;PRINT*,L PRINT*,L 如输入如输入 TABC,TABC,则输出的结果为则输出的结果为_。 5.5.语句语句 READ(*,*)AREAD(*,*)A 等价于语句等价于语句 READ*READ*,A A,语句,语句 write(*,*)Awrite(*,*)A 等价于语句等价于语句 . . 6.6.已有已有 INTEGER:IINTEGER:I,J J 语句,语句, 要为要为 I I,J,J 变量按每个数据输入宽度均为变量按每个数据输入宽度均为 4 4,则输入语句应写,则输入语句应写 为为_;_;如输入的值分别为如输入的值分别为 3 3 和和 4 4,则输入数据的格式为,则输入数据的格式为_。 6.6.已知语句已知语句 s=1.26; s=1.26; WRITE(*,(A,F3.1)S=,SWRITE(*,(A,F3.1)S=,S 则输出的内容是则输出的内容是_。 7 7WRITE(*WRITE(*, , (I4,F8.2/F8.2,F8.2)(I4,F8.2/F8.2,F8.2)K,X,Y,Z)K,X,Y,Z,该语句输出,该语句输出_个记录个记录( (一行称为一个记一行称为一个记 录录) )。 8 8如如 A A 为实型,为实型,I I 为整型,为整型,A=4;I=3A=4;I=3 则则 WRITEWRITE(* *, ( F10.2,I5,2X,”END”,F2.0,”EF10.2,I5,2X,”END”,F2.0,”END”ND”)A A,I I 输出的结果为:输出的结果为:_ _ 三、程序阅读三、程序阅读 1.1.阅读程序,写出运行结果。阅读程序,写出运行结果。 PROGRAM MAINPROGRAM MAIN IMPLICIT NONEIMPLICIT NONE INTEGER:INTEGER:n,k,tn,k,t n=3n=3 exp(x)/y (sin(4.0)+cos(10*3.14/180)*exp(2.5)/(sqrt(2.0)+abs(a*x)+log(3.0*5) 终止程序运行 从键盘 3,4 或 3 4 3 4 T print *,A READ (2I4),I,J READ (I3,I4),I,J S=1.3 2 4.00 3 END 注意点:1、整型量相除;2、赋值语句类型转换 赋值语句写法 输入语句写法,特别注意输入表能包含什么? 输出语句写法 格式输入输出 语句函数定义语句,是说明语句 变量、数组、数组元素 输入语句和赋值语句作用相同,都是提供值 135.7 4.68 * 4.7 按表控格式或默认格式 逻辑型数据的接收:以T、F开头的字符串 逻辑型数据的输出:T F 3 4 3,4 斜杠编辑符:换行 重复使用格式串:换行 数据编辑符输出时需变量或值跟其对应, 控制编辑符则不需要,因此紧跟数据编辑符之后的控制编辑符会惯性输出 K K=4=4 t=n;n=k;k=tt=n;n=k;k=t P Print*,rint*,”n n”, n, n P Print*,rint*,”k k”, k, k endend 输出结果为:输出结果为: 2 2阅读程序,写出运行结果。阅读程序,写出运行结果。 PROGRAM MAINPROGRAM MAIN IMPLICIT NONEIMPLICIT NONE INTEGER:A,BINTEGER:A,B A=2.A=2.1 1 B=3.B=3.6 6 A=A+B A=A+B B=A*B B=A*B P Print*,Arint*,A P Print*,Brint*,B ENDEND 输出结果为输出结果为: 第第 4 章章 选择结构选择结构练习题练习题 1 1、 下列不属于基本程序结构的是下列不属于基本程序结构的是_ _。 A A子程序子程序 B B分支分支 C C顺序顺序 D D循环循环 1.1. 下列关系表达式写法中,正确的是下列关系表达式写法中,正确的是_。 A Ax=yx=y B Babs(a)D AB.EQV.CD B B. .NOT.(Xx B BA A C.C. .NOT.A.NOT.A D Dn+1n+1 5.5.下列能表示实型变量下列能表示实型变量 A A 的值等于的值等于 0 0 的表达式为的表达式为_。 A AABS(A)2) y=1y=1 IFIF(x6x6) y=3y=3 IF IF (x3x3) y= y= - -1 1 PRINT*PRINT*,Y Y ENDEND 输出结果为输出结果为:_。 2.2.阅读程序,写出运行结果。阅读程序,写出运行结果。 PROGRAM MAINPROGRAM MAIN IMPLICIT NONEIMPLICIT NONE INTEGER:NINTEGER:N INTEGERINTEGER:Y:Y READ *,NREAD *,N SELECT CASE(N)SELECT CASE(N) CASE(1:3,5)CASE(1:3,5) Y=1Y=1 CASE(4,8)CASE(4,8) Y=2Y=2 CASE(6:7)CASE(6:7) Y=3Y=3 CASE DEFAULTCASE DEFAULT Y=0Y=0 ENDSELECTENDSELECT PRINT *,YPRINT *,Y ENDPROGRAMENDPROGRAM 从键盘输入为:从键盘输入为:3 3,7 7 输出结果为:输出结果为:_。 MOD(m,n)=0 MOD(m,7)=0 .AND.MOD(m,11)=0 .AND.MOD(m,17)=0 G=80 .AND.GM2)THEN I=M1;M1=M2;M2=II=M1;M1=M2;M2=I ENDIFENDIF DO I=M1,M2DO I=M1,M2 个数、次序、类型三个一致 f(实元表) call multi(a,b,c) contains external intinsic recursive 某子程序直接或间接调用自身。 IF(I1)THENIF(I1)THEN DO N=2,IDO N=2,I- -1 1 IF(MOD(I,N)=0)EXITIF(MOD(I,N)=0)EXIT ENDDOENDDO IF(N=I)PRINT *,IIF(N=I)PRINT *,I ENDIFENDIF ENDDOENDDO ENDSUBROUTINEENDSUBROUTINE PROGRAM MAINPROGRAM MAIN IMPLICIT NONEIMPLICIT NONE INTEGER:M1,M2INTEGER:M1,M2 READ *,M1,M2READ *,M1,M2 CALL SUB(M1,M2)CALL SUB(M1,M2) ENDPROGRAMENDPROGRAM 键盘输入数据:键盘输入数据: 3 3,9 9 输出结果为:输出结果为: 3.程序执行后输出的第一行为程序执行后输出的第一行为 。 输出的第二行为输出的第二行为 。 Program mainProgram main IMPLICIT NONEIMPLICIT NONE INTEGERINTEGER:X X, ,Y Y, ,Z Z, ,f f Y=fY=f( (X X, ,X X) ) PRINT*PRINT*, ,Y Y Z=fZ=f( (y y, ,x x) ) PRINT*PRINT*, ,Z Z ENDEND FUNCTION fFUNCTION f( (X X, ,Y Y) )RESULTRESULT( (f_RESULTf_RESULT) ) IMPLICIT NONEIMPLICIT NONE INTEGERINTEGER:X X, ,Y Y, ,f_RESULTf_RESULT, ,I I I=1I=1; ;X=3*IX=3*I; ;Y=2*IY=2*I f_RESULTf_RESULT=X+Y=X+Y ENDEND 四程序填空题四程序填空题 1. 以下程序的功能是求整数以下程序的功能是求整数 M、N 的最大公约数及最小公倍数,请填空。的最大公约数及最小公倍数,请填空。 PROGRAM MAIN IMPLICIT NONE INTEGER:M,N,B,GCD READ *,M,N PRINT *,“最大公约数是最大公约数是“,GCD(M,N,B) PRINT *,“最小公倍数是最小公倍数是“, (1) END PROGRAM FUNCTION GCD(M,N,B) RESULT(GCD_RES) IMPLICIT NONE INTEGER:M,N,B,GCD_RES,TEMP,R,T (2) IF(Mm2)thenif(m1m2)then t=m1; m1=m2 ; m2=t=m1; m1=m2 ; m2= (1 1) endifendif do n=m1,m2do n=m1,m2 k=k= (2 2) if(k=1)print*,nif(k=1)print*,n enddoenddo endend function f(n) result(f_result)function f(n) result(f_result) implicit noneimplicit none integer:integer: : (3 3) f_result=f_result=1 1 IF(nm2)then t=m1; m1=m2 ; m2=t=m1; m1=m2 ; m2= (1 1) endifendif do n=m1,m2do n=m1,m2 k=k= (2 2) if(k=1)print*,nif(k=1)print*,n enddoenddo endend function f(n) result(f_result)function f(n) result(f_result) implicit noneimplicit none integer:integer: : (3 3) k= nk= n- -1 1 do i=do i= (4 4) if(if( (5 5) ) )exitexit enddoenddo if(ik)thenif(ik)then f_resultf_result=1=1 elseelse f_resultf_result=0=0 endendifif IF(n0) C.MAXVAL(A) D.SIZE(A)SUM(A,MASK=A0) C.MAXVAL(A) D.SIZE(A) 10.10. 已有语句已有语句 integer,dimension(integer,dimension(3,43,4):):A,A,下列下列_能求出数组能求出数组 A A 的每行元素之和。的每行元素之和。 A.SUM(A,DIM=1) B.SUM(AA.SUM(A,DIM=1) B.SUM(A,DIM=2) C.SUM(A,DIM=3) D.SUM(A),DIM=2) C.SUM(A,DIM=3) D.SUM(A) 1111. . 主程序单位中,下列说明语句正确的是:主程序单位中,下列说明语句正确的是:_。 A Ainteger,dimension(n):a integer,dimension(n):a B Binteger,dimension(2,3):a,a(4)integer,dimension(2,3):a,a(4) C Cinteger,dimension(integer,dimension(- -1:1,2:3,2):a 1:1,2:3,2):a D Dinteger,dimension(:):ainteger,dimension(:):a 1212. . 关于数组说明语句关于数组说明语句 real,dimension(:,:):a,b,creal,dimension(:,:):a,b,c 以下叙述中,以下叙述中,错误错误的是的是:_。 A A指明指明 a,b,ca,b,c 为假定形状数组为假定形状数组 B B指明指明 a,b,ca,b,c 为二维数组为二维数组 C Ca,b,ca,b,c 可以充作函数或子程序的哑元可以充作函数或子程序的哑元 D D指明指明 a,b,ca,b,c 为动态数组为动态数组 1 13 3. . 数组说明语句为:数组说明语句为:real(4),real(4),dimension(:,:),allocatable:a,dimension(:,:),allocatable:a,以下说法中正确的是以下说法中正确的是 _。 A Aa a 只能出现在内部过程的虚元表内,因为其大小不确定只能出现在内部过程的虚元表内,因为其大小不确定 B Ba a 只能出现在外部过程的虚元表内,因为其大小不确定只能出现在外部过程的虚元表内,因为其大小不确定 C Ca a 只能出现在主程序内,使用前应先分配内存空间只能出现在主程序内,使用前应先分配内存空间 D Da a 可出现在主程序或可出现在主程序或子子程序内程序内且不能作为子程序的虚元,且不能作为子程序的虚元,使用前使用前应先分配内存空间应先分配内存空间 1 14 4integer,dimension(:,:):a,integer,dimension(:,:):a,下列说法正确的是下列说法正确的是:_:_。 A Aa a 为动态数组,可使用在主程序和为动态数组,可使用在主程序和子子程序中程序中 B Ba a 为动态数组,只能用做为动态数组,只能用做子子程序的虚元程序的虚元 C Ca a 为假定形状的数组,只能用做为假定形状的数组,只能用做子子程序的虚元,调用程序的虚元,调用子子程序时接口块不一定写程序时接口块不一定写 D Da a 为假定形状的数组,只能用做为假定形状的数组,只能用做子子程序的虚元,调用程序的虚元,调用子子程序时应写接口块程序时应写接口块 15.15. do do i i=1,3=1,3 write(*,write(*,( (2i32i3) )(a()(a(i i,j),j=1,i) ,j),j=1,i) 程序段执行后将输出程序段执行后将输出_个记录个记录( (行行) )。 enddoenddo A A 5 5 B B 3 3 C C 1 1 D D 4 4 二、填空题二、填空题 1.1. 语句语句 INTEGER,DIMENSION(2,INTEGER,DIMENSION(2,- -1 1:1):A, 1):A, 说明说明 A A 的维数是的维数是 , ,行号取值为行号取值为 ,列号,列号 取值为取值为 ,A A 的元素总数为的元素总数为 。 2.2. 语句语句 INTEGER,DIMENSION(2,INTEGER,DIMENSION(2,- -1 1:1):A=1):A=(/1/1,2 2,3 3,4 4,5 5,6/6/) ,) ,其中值为其中值为 5 5 的元素表的元素表 示为示为 。 3.3. 语句语句 INTEGER,DIMENSION(INTEGER,DIMENSION(- -1 1:1) :A, 1) :A, 说明说明 A A 的维数是的维数是 , A, A 的元素总数为的元素总数为 。 4.4. INTEGER,DIMENINTEGER,DIMENSION(SION(- -1:1,1:1,- -1:1,1:1,- -1:1):N1:1):N N=RESHAPE(/1,2,3,4,5,6,7,8,9,10,11,12,13,14,13,12,11,10,9,8,7,6,5,4,3,2,1/,N=RESHAPE(/1,2,3,4,5,6,7,8,9,10,11,12,13,14,13,12,11,10,9,8,7,6,5,4,3,2,1/,M(I,J)=M(J,I);M(J,I)=K K=M(I,J);M(I,J)=M(J,I);M(J,I)=K ENDDOENDDO ENDDOENDDO WRITE(*,(4I4)MWRITE(*,(4I4)M CALL SUB(M,3)CALL SUB(M,3) ENDEND SUSUB BROUTINE SUB(M,K)ROUTINE SUB(M,K) INTEGER,DIMENSION(K,K):MINTEGER,DIMENSION(K,K):M DO I=1,3DO I=1,3 WRITE(*,(3I4)(M(I,J),J=4WRITE(*,(3I4)(M(I,J),J=4- -I,3)I,3) ENDDOENDDO ENDEND 主程序输出第二行为主程序输出第二行为_,_,子程序中输出的第三行为子程序中输出的第三行为_。 2 2. . 阅读程序,写出运行结果。阅读程序,写出运行结果。 PROPROGRAM MAINGRAM MAIN IMPLICIT NONEIMPLICIT NONE INTEGER,DIMENSION(4,4):AINTEGER,DIMENSION(4,4):A INTEGER:S,I,JINTEGER:S,I,J A=RESHAPE(/(I,I=1,16)/),(/4,4/)A=RESHAPE(/(I,I=1,16)/),(/4,4/) 1,3,5 1 2 5 3 6 9 (a(i,j),j=1,3) a(k,:) allocate(a(5) 数组名数组元素名数组片段 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 转置算法 数组名输出:表示按列序输出 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16 1 13 10 5 2 14 9 6 3 主对角线:A(i,i) 次对角线:A(i,n-i+1) 1 4 7 2 5 8 3 6 9 隐含DO循环是将所有输出元素一次性列出,通过格式编辑符换行 1 2 5 3 6 9 do i=1,3 print “(3i4)“,(a(i,j),j=1,i) enddo a(i,:) 释放空间:deallocate(a) 数组虚实结合,实元为数组名 输出右下三角 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16 S=0S=0 DO I=1,4DO I=1,4 DO J=1,4DO J=1,4 S=S+A(I,J)S=S+A(I,J) ENDDOENDDO ENDDOENDDO PRINT*,SPRINT*,S ENDPROGRAMENDPROGRAM 结果为:结果为:_。 3 3. .阅读程序阅读程序 FUNCTION BIG(A,N,IMAX)RESULT(BIG_RES)FUNCTION BIG(A,N,IMAX)RESULT(BIG_RES) IMPLICIT NONEIMPLICIT NONE INTEGER:N,BIG_RES,IMAXINTEGER:N,BIG_RES,IMAX INTEGER,DIMENSION(N):AINTEGER,DIMENSION(N):A INTEGER:IINTEGER:I BIG_RES=A(N);IMAX=NBIG_RES=A(N);IMAX=N DO I=NDO I=N- -1,1,1,1,- -1 1 IF(A(I)BIG_RES)THENIF(A(I)BIG_RES)THEN BIG_RES=A(I);IMAX=IBIG_RES=A(I);IMAX=I ENDIFENDIF ENDDOENDDO ENDFUNCTIONENDFUNCTION PROGRAM MAINPROGRAM MAIN IMPLICIT NONEIMPLICIT NONE INTEGER,DIMENSION(100):AINTEGER,DIMENSION(100):A INTEGER:N,BIG,IMAXINTEGER:N,BIG,IMAX INTEGER:IINTEGER:I READ *,NREAD *,N REAREAD *,(A(I),I=1,N)D *,(A(I),I=1,N) PRINT *,BIG(A,N,IMAX),IMAXPRINT *,BIG(A,N,IMAX),IMAX ENDPROGRAMENDPROGRAM 键盘输入:键盘输入: 5 5 5 5,8 8,7 7,6 6,4 4 输出结果为:输出结果为:_。 4 4. . 阅读程序,写出运行结果。阅读程序,写出运行结果。 PROGRAM MAINPROGRAM MAIN INTEGER:AMAX,K,L,I,JINTEGER:AMAX,K,L,I,J INTEGER,DIMENSION(3,4):AINTEGER,DIMENSION(3,4):A A=RESHAPE(/8,9,5,6,7,2,4,1,3,8,9,3/),(/3,4/)A=RESHAPE(/8,9,5,6,7,2,4,1,3,8,9,3/),(/3,4/) AMAX=A(AMAX=A(1 1,1); K=1; L=1,1); K=1; L=1 DO I=1,3DO I=1,3 DO J=1,4DO J=1,4 IF(A(I,J)AMAX)THENIF(A(I,J)AMAX)THEN sum(a) 136 可调数组 找出A数组中,最大值以及最大值的位置 数组个数 数据 最大值,最大值位置 8 2 找最值基本算法 决定是找最大值还是最小值 8 6 4 8 9 7 1 9 5 2 3 3 找二维数组的最大值及其位置 最大值第1个出现有效 a(i,j)=amax 则表示最后一个最大值有效 AMAX=A(I,J);K=I;L=JAMAX=A(I,J);K=I;L=J ENDIFENDIF ENDDOENDDO ENDDOENDDO PRINT*,AMAX,K,LPRINT*,AMAX,K,L ENDENDPROGRAMPROGRAM 输出的值为:输出的值为:_。 5 5阅读程序,写出运行结果。阅读程序,写出运行结果。 PROGRAM MAINPROGRAM MAIN INTEGERINTEGER,DIMENSIONDIMENSION(2 2, ,3 3, ,2 2):A A INTEGERINTEGER:I I, ,J J, ,K K,ZD,FUN,ZD,FUN D DO O I=1,2I=1,2 DO J=1,3DO J=1,3 DO K=1,2DO K=1,2 A(I,J,K)=I+J+KA(I,J,K)=I+J+K ENDDOENDDO ENDDOENDDO ENDDOENDDO ZD=FUN(A(ZD=FUN(A(2,1,1),6,11)2,1,1),6,11) WRITE(*,*)ZDWRITE(*,*)ZD ENDEND FUNCTION FUN(B,N1,N2) RESULT(FUN_RESULT)FUNCTION FUN(B,N1,N2) RESULT(FUN_RESULT) INTEGERINTEGER:N1N1,N2N2 INTEGERINTEGER,DIMENSION(N2):B,DIMENSION(N2):B INTEGER:INTEGER:FUN_RESULTFUN_RESULT FUN_RESULT=SUM(B(N1:N2)FUN_RESULT=SUM(B(N1:N2) ENDENDFUNCTION FUNCTION 运行输出的值为运行输出的值为_。 6 6阅读程序,写出运行结果。阅读程序,写出运行结果。 PROGRAM MAINPROGRAM MAIN INTEGERINTEGER, ,DIMENSIONDIMENSION(3 3, ,3 3):A:A REREAD*,AAD*,A CALL S(A(2:3,1:2)CALL S(A(2:3,1:2) ENDENDPROGRAMPROGRAM SUBROUTINE S(X)SUBROUTINE S(X) INTEGER,DIMENSION(4):XINTEGER,DIMENSION(4):X PRINT*,XPRINT*,X ENDENDSUBROUTINESUBROUTINE 输入输入 1,4,7,2,5,8,3,6,91,4,7,2,5,8,3,6,9 结果为结果为:_。 7 7阅读程序,写出运行结果。阅读程序,写出运行结果。 PROGRAM MAINPROGRAM MAIN IMPLICIT NONEIMPLICIT NONE INTEGER,DIMENSION(2,3,2):MINTEGER,DIMENSION(2,3,2):M M=RESHAPE(/1,2,3,4,5,6,7,8,9,1,2,3/),(/2,3,2/M=RESHAPE(/1,2,3,4,5,6,7,8,9,1,2,3/),(/2,3,2/) 9 2 1 34 5 5 6 4 5 5 6 6 7 以数组元素作为实元,以该元素 作为起点,按存储顺序结合 4 6 11 11 4,4,5,5,6,4,5,5,6,6,7 1611 33 33 1 4 7 2 5 8 3 6 9 4 7 5 8 数组片段描述:列优先,顺序依照下标变化顺序 a(3:2:-1,2:1:-1) 8 5 7 4 实元数组的数据个数必须大于等于虚元数组元素个数,多余的数 据不起作用。 PRINT*,SHAPE(M)PRINT*,SHAPE(M) PRINT*,SUM(M,DIM=2,MASK=M3)PRINT*,SUM(M,DIM=2,MASK=M3) PRINT*,MAXLOC(M)PRINT*,MAXLOC(M) ENDENDPROGRAMPROGRAM 结果为:结果为: 8 8阅读程序,写出运行结果。阅读程序,写出运行结果。 PROGRAM MAINPROGRAM MAIN INTEGERINTEGER,DIMENSION(5),DIMENSION(5):A,B,C:A,B,C A=(/89,43,126,68,137A=(/89,43,126,68,137/)/) B=0; C=0B=0; C=0 WHERE(A100)WHERE(A100) A=100;B=2A=100;B=2 ELSEWHEREELSEWHERE A=50; C=A=50; C=- -4 4 ENDWHEREENDWHERE PRINT*,A; PRINT*,B; PRINT*,CPRINT*,A; PRINT*,B; PRINT*,C ENDENDPROGRAM PROGRAM 输出的值输出的值: : 四、程序填空题四、程序填空题 1 1用顺序交换法进行排序的程序(从小到大) 。用顺序交换法进行排序的程序(从小到大) 。 PROGRAM SHUNXUPROGRAM SHUNXU IMPLICIT NONEIMPLICIT NONE INTEGERINTEGER,PARAMETER,PARAMETER:N=10:N=10 INTEGER,DIMENSION(1:N):AINTEGER,DIMENSION(1:N):A INTEGER:I,J,TEMPINTEGER:I,J,TEMP READ(*,*)READ(*,*)(1 1) ! !使用隐使用隐 DODO 输入输入 A A 的所有元素的所有元素 DO I=1,NDO I=1,N- -1 1 DO J=DO J= (2 2) IF(IF( (3 3))TH)THENEN TEMP=A(I)TEMP=A(I) (4 4) A(J)=TEMPA(J)=TEMP ENDIFENDIF ENDDOENDDO ENDDOENDDO PRINT*PRINT* PRINT PRINT (1X,10I5)(1X,10I5) , ,A A ENDPROGRAM SHUNXUENDPROGRAM SHUNXU 2 2用选择排序法进行排序的程序。用选择排序法进行排序的程序。 PROGRAM SHUNXUPROGRAM SHUNXU (a(i),i=1,N) i+1,n a(i)a(j) a(i)=a(j) 1 2 3 4 5 6 7 8 9 1 2 3 2 3 2 按行求和 510 168 1 2 2 A B C 89 43 126 68137 00 0 00 0 0 0 00 50 -4 50 -4 100 2 50 -4 100 2 50 50 100 50 100 0 0 2 0 2 -4 -4 0 -4 0 顺序排序算法n个数,需进行n-1轮排序,每次确定一个位置,最后一个位置不需考虑 每次用第i个与其后所有元素比较 升序:a(i)a(j) 降序:a(i)A(J)IF(A(K)A(J)(2 2) END DOEND DO IF(K/=I)THENIF(K/=I)THEN TEMP=A(K)TEMP=A(K) A(K)=A(I)A(K)=A(I) (3 3) END IFEND IF (4 4) PRINT P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 行政管理核心考点试题及答案
- 高考数学考核趋势题目及答案2023
- 敏捷项目管理2025年考试试题及答案
- 科学探索活动实施方案计划
- 课程整合幼儿园班级的有效探索计划
- 法学概论复习季度计划与分配试题及答案
- 2025届吉林省长春市数学七下期末检测模拟试题含解析
- 2025届湖北省十堰市郧西县八年级数学第二学期期末达标检测模拟试题含解析
- 企业战略与政策风险试题及答案
- 城市交通信号控制策略重点基础知识点
- (高清版)DG∕TJ 08-7-2021 建筑工程交通设计及停车库(场)设置标准
- 无房无车离婚协议书
- 2025-2030年中国甲巯咪唑片行业市场现状供需分析及投资评估规划分析研究报告
- 史明清时期社会经济的发展课件++2024-2025学年统编版七年级历史下册
- 2025年安徽国控资产管理有限公司第二季度社会招聘5人笔试参考题库附带答案详解
- 2025中考语文7-9年级总复习古诗词默写
- 中国特色社会主义+综合练习(三)-2025届中职高考政治一轮复习高教版(2023版)
- 情境+任务驱动作文(兼审“情境”与“任务”)-2024年中考语文重难点复习专练(江苏)学生版
- (二模)临沂市2025年高三高考模拟考试地理试题卷(含答案)
- 2024年新疆巴楚县事业单位公开招聘村务工作者笔试题带答案
- 城管协管笔试题及答案
评论
0/150
提交评论