河海大学春FORTRAN90资料.docx

上传人:b****3 文档编号:2880546 上传时间:2022-11-16 格式:DOCX 页数:16 大小:38.85KB
下载 相关 举报
河海大学春FORTRAN90资料.docx_第1页
第1页 / 共16页
河海大学春FORTRAN90资料.docx_第2页
第2页 / 共16页
河海大学春FORTRAN90资料.docx_第3页
第3页 / 共16页
河海大学春FORTRAN90资料.docx_第4页
第4页 / 共16页
河海大学春FORTRAN90资料.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

河海大学春FORTRAN90资料.docx

《河海大学春FORTRAN90资料.docx》由会员分享,可在线阅读,更多相关《河海大学春FORTRAN90资料.docx(16页珍藏版)》请在冰豆网上搜索。

河海大学春FORTRAN90资料.docx

河海大学春FORTRAN90资料

2006年春季FORTRAN90笔试

一、选择题(用答题卡答题,答案依次填在21~30答题号内)

21.以下关于FORTRAN90符号名的属性的四种说法中,错误的是 21 。

A.DIMENSION:

:

a(4,5)属性说明语句指明a是二维数组

B.TARGET:

:

a(4,5)属性说明语句指明a是二维数组,是指针指向的目的,可动态分配内存

C.POINTER:

:

a(:

)属性说明语句指明a是指向数组的指针

D.ALLOCATABLE:

:

a(:

)属性说明语句指明a是可动态分配的数组

22.下述四种关于外部过程属性EXTERNAL的用法中,错误的是22。

A.EXTERNAL:

:

sub1

B.REAL,EXTERNAL,TARGET:

:

func1

C.EXTERNALsin

D.REAL,EXTERNAL:

:

func1

23.定义了三维向量类型,又将+、-、*超载定义为向量的和、差、向量积。

以下说法中错误的是 23 。

A.+、-、*可对纯量(即数量)进行运算,又可对向量进行运算,它们是类属运算符

B.+、-、*既可以对变量、常数又可对数组进行运算,它们是类属运算符

C.+、-、*对数组的运算虽然不同于对向量或矩阵的运算,但它们仍然是类属运算符

D.+、-、*仅仅是程序中定义过的超载运算符,不能算是类属运算符

24.自定义一个称为逻辑异或运算的运算符.XOR.:

仅当逻辑量a、b之一为真时,表达式a.XOR.b为真。

以下四个逻辑表达式中符合上述定义的是24。

A.(a.OR.b).AND..NOT.(a.AND.b)

B.(a.OR.b).OR..NOT.(a.AND.b)

C.(a.AND.b).AND..NOT.(a.OR.b)

D.(a.AND.b).OR..NOT.(a.OR.b)

25.a,b都是数组。

有关数组的赋值,以下四种说法中错误的是 25 。

A.数组构造符(/c,d,………,z/)只能用于对一维数组赋值

B.数组赋值语句a=b,只有a,b形状相同才能实现

C.数组赋值语句a=b,不论何种情况都可以实现

D.过程内的可调维数组(例如REAL,DIMENSION(1:

n):

:

a)也可用数组构造符对其整体赋值

26.若数组说明语句为:

COMPLEX(kind=4),DIMENSION(3:

10,-1:

3):

:

a

则SIZE(a)等于26。

A.4B.160C.320D.40

27.以下选项所列的各程序块,全部属于独立的程序单位的是27。

A.主程序、内部函数过程、内部子程序过程、外部函数过程、系统提供的内部函数和子程序

B.主程序、接口块、外部函数过程、系统提供的内部函数和子程序

C.主程序、外部函数过程、外部子程序过程、模块、数据块辅程序

D.主程序、外部函数过程、系统提供的内部函数和子程序、内部子程序过程

28.若程序块内定义了一个结构型数据(为2×2矩阵):

TYPEmatrix

INTEGER,DIMENSION(2,2):

:

A

ENDTYPEmatrix

主程序中有说明语句:

TYPE(matrix),DIMENSION(10):

:

b

以下说法中正确的是 28 。

A.此语句正确,因为派生(即自定义)类型可以作为数组的类型

B.此语句不正确,因为派生类型本身就是数组,数组作为数组的类型逻辑上说不通

C.此语句不正确,应写成matrix,DIMENSION(10):

:

b才正确

D.此语句不正确,应写成matrix(TYPE),DIMENSION(10):

:

b才正确

29.以下关于递归过程的说法中,错误的是29。

A.使用直接递归过程可求解n!

问题,但使用间接递归过程却不能求解n!

问题

B.递归过程定义中常常隐含着循环执行机制

C.用递归算法解决的Hanoi塔(汉诺塔,又名梵塔)问题很难用非递归算法解决

D.一个可用递归过程也可用非递归过程解决的问题,采用后者为好,它节省计算机的资源

30.关于FORTRAN90文件系统的以下说法中,错误的是 30。

A.无格式顺序存取文件不能是标准输入(键盘)、标准输出(显示器)文件,只能是磁盘文件

B.打开有格式顺序存取文件时,可以不写文件格式的选项FORM='FORMATTED'

C.打开有格式直接存取文件时,必须写上文件格式的选项FORM='FORMATTED'

D.直接存取的有格式文件可以是标准输入(键盘)、标准输出(显示器)文件

二、填空题(请将答案填写在答题纸的相应答题号内,每个答案只占一行)

1. 下列程序执行后,第一行是 

(1),第二行是

(2),第三行是(3)。

PROGRAMmain

IMPLICITNONE

INTEGER,DIMENSION(1:

3,1:

3):

:

a

INTEGER:

:

i,j,k,c

a=RESHAPE((/36,34,15,18,20,9,6,6,3/),(/3,3/))

DOi=3,2,-1

DOk=i-1,1,-1

c=a(k,i)/a(i,i)

DOj=i,1,-1

a(k,j)=a(k,j)-c*a(i,j)

ENDDO

ENDDO

ENDDO

PRINT'(3I5.1)',((a(i,j),j=1,3),i=1,3)

ENDPROGRAMmain

2.下列程序执行后,输出的第一行是(4),第二行是(5)。

RECURSIVEFUNCTIONeven_fact(n)RESULT(f)

IMPLICITNONE

INTEGER:

:

n,f

f=2

IF(n>=2)THEN

f=even_fact(n-1)*(2*n)

ENDIF

ENDFUNCTIONeven_fact

PROGRAMmain

IMPLICITNONE

INTEGER:

:

even_fact

PRINT'(I7)',even_fact(5),even_fact(7)

ENDPROGRAMmain

3.下列程序执行后,输出的第一行是(6),第三行是(7)。

PROGRAMpointers

IMPLICITNONE

REAL,POINTER:

:

p1(:

REAL,ALLOCATABLE,TARGET:

:

p2(:

:

ALLOCATE(p1(1:

3))

p1=3.6

WRITE(*,'(1X,3F6.1)')p1

ALLOCATE(p2(1:

3,2))

p2=2.4

p2(1:

3:

2,2)=6.8

WRITE(*,'(1X,3F6.1)')p2

p1=>p2(2:

3,2)

WRITE(*,'(1X,3F6.1)')p1

DEALLOCATE(p2)

ENDPROGRAMpointers

4.下列程序执行后,输出的第一行是(8),第三行是(9)。

PROGRAMarray

INTEGER:

:

a(5)=9,b(3,3)=7

INTEGER:

:

i(3),j

(2)

i=(/5,3,2/)

j=(/3,1/)

a(i)=3

b(2,j)=4

WRITE(*,'(5I4)')a

WRITE(*,'(3I4)')b

ENDPROGRAMarray

5.下列程序执行后,输出的第一行是 (10),第二行是 (11)。

MODULEdata_of_bank

TYPEcostumer

CHARACTER(len=10):

:

date

CHARACTER(len=8):

:

name

INTEGER:

:

zhanghao

REAL:

:

credit,debit,balance

ENDTYPEcostumer

ENDMODULEdata_of_bank

PROGRAMmain

USEdata_of_bank

TYPE(costumer),DIMENSION(3):

:

kehu

OPEN(1,FILE='bank')

DOi=1,3

READ(1,*)kehu(i)

ENDDO

DOi=1,3

IF(kehu(i).name=='李森林')THEN

PRINT'(A,2X,A,2X,F9.2,"(余额)")',kehu(i).date,kehu(i).name,kehu(i).balance

ELSEIF(kehu(i).zhanghao==30517196)THEN

PRINT'(A,2X,A,2X,F9.2,"(余额)")',kehu(i).date,kehu(i).name,kehu(i).balance

ENDIF

ENDDO

ENDPROGRAMmain

文件bank中的内容是:

2003-04-12张国栋30517165200.430.002500.57

2003-07-18李森林305171780.00360.003530.78

2003-10-05王凯庆30517196540.000.007630.45

6.下列程序执行后,输出的第一行是 (12),第三行是 (13)。

PROGRAMloop

IMPLICITNONE

INTEGER:

:

i,j

loop1:

DOi=1,3

IF(i>2)EXITloop1

WRITE(*,'(A,I2)')'i=',i

loop2:

DOj=1,3

IF(j>2)CYCLEloop2

IF(i==2.and.j>2)EXITloop2

WRITE(*,'(A,I2)')'j=',j

ENDDOloop2

ENDDOloop1

ENDPROGRAMloop

7.下列程序执行后,输出的第一行是 (14),第二行是 (15)。

PROGRAMmain

IMPLICITNONE

CHARACTER(len=5):

:

x,y

CHARACTER(len=2):

:

z

x='ABCDE';y=x;z=y(:

2)

y(:

2)=y(4:

);y(4:

)=z

PRINT*,x//z

PRINT*,z//y

ENDPROGRAMmain

8.利用黄金分割比例0.618,在指定的区间内逐步修正搜索点,寻找使函数达到最小(或极小)值的点。

设指定区间为[small,big],命delta=big-small,t1=small+0.618*delta,t2=big-0.618*delta。

若f(t1)>f(t2),修正t2,反之修正t1,直到delta

本程序求三次多项式

在区间[0.0,2.0]上的极小值。

完善以下程序。

PROGRAMmain

IMPLICITNONE

REAL:

:

smallnum,bignum,point,value,eps=1e-6

(16)

WRITE(*,'(A)')"输入相异的两个实数:

0.0,2.0"

READ(*,*)smallnum,bignum

(17)

WRITE(*,'("minimumpointis"

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 表格类模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1