习题详解3课件_第1页
习题详解3课件_第2页
习题详解3课件_第3页
习题详解3课件_第4页
习题详解3课件_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

习题详解3输人3个实数,输出最大值和最小值。programmainimplicitnonereal::a,b,c,max2,min1read(*,*)a,b,cmax2=max(a,b,c)min1=min(a,b,c)write(*,*)max2,min1stopend2.任意输入两个数,对它们进行加、减、乘、除、乘方运算,并将结果输出。programex2implicitnonereal::a,bread(*,*)a,bwrite(*,*)"a+b=",a+bwrite(*,*)"a-b=",a-bwrite(*,*)"a*b=",a*bwrite(*,*)"a/b=",a/bwrite(*,*)“a**b=”,a**bstopend4.用FORTRAN语句完成下列操作:(1)将变量I的值增加l。(2)I的立方加上J.并将其结果保存到I中。(3)将E和F中大者存储到G中。(4)将两位自然数的个位和十位互换,得到一个新的数(不考虑个位为O的情况)。(拓展:输入一个三位整数,将它反向输出,如输入123,输出321)programmainimplicitnonereal::i,j,e,f,g,kinteger::a,b,x,y!----1---i=i+1!----2---write(*,*)"inputj:"read(*,*)ji=i**3+j!----3---write(*,*)"inpute,f"read(*,*)e,fg=max(e,f)!----4---write(*,*)"inputa:"read(*,*)aa=mod(a,10)*10+a/10write(*,*)a!----5--write(*,*)"inputb:"read(*,*)bx=mod(b,100)y=mod(b,10)b=y*100+int(x/10)*10+int(b/100)write(*,*)bstopend5.设c代表摄氏温度,F代表华氏温度,两者转换公式为:F=编程完成摄氏温度向华氏温度的转换。并计算摄氏O度、l00度、-40度分别为华氏多少度。programmainimplicitnoneinteger::x=0,y=100,z=-40real::c,f!若c设为integer,则注意公式使用时转换成real!-----------c=xf=real(9*c/5)+32.0write(*,*)"c=0,f=",f!-----------c=yf=real(9*c/5)+32.0write(*,*)"c=100,f=",f!-----------c=zf=real(9*c/5)+32.0write(*,*)"c=-40,f=",fstopend6.编程完成下列操作:

(1)输入三个整数,求出其平均值。.

(2)输人x和y的值,计算(3)球的半径为4.求其表面积和体积。programmainimplicitnoneinteger::a,b,creal,parameter::pi=3.1415926real::mean,x,y,z,s,v!--------write(*,*)"inputa,b,c:"read(*,*)a,b,cmean=real((a+b+c)/3.0)!写成3.0或者加个realwrite(*,*)mean!------------write(*,*)"inputx,y"read(*,*)x,yz=log(x**2+y)/(sin(x*y)**2+1)+32.0write(*,*)z!------------s=4*pi*4**2v=(4/3.0)*pi*4**3!4/3写成realwrite(*,*)"s=",swrite(*,*)"v=",vstopend8.某厂某产品产量2000年为20万吨,求:(1)如果到2010年产品产量翻两番,年平均增长速度要达多少?(2)如果年平均增长速度为9%。几年后该产品产量翻两番?programmainimplicitnonereal::mean,xmean=(2**2)**0.1-1write(*,*)"mean=",mean!------x=log(2.0**2)/log(1.09)write(*,*)xstopend!--------------------------bistheminof3numbsif(b>c)thenx=bb=cc=xendifif(b>d)thenx=bb=dd=xendif!--------------------------cistheminof2numbsif(c>d)thenx=cc=dd=xendifwrite(*,*)a,b,c,dstopendprogrammainimplicitnoneintegerage,moneyrealtaxwrite(*,*)"Pleaseinputtheage"read(*,*)agewrite(*,*)"Pleaseinputthesalary"read(*,*)moneyif(age<50)thenif(money<1000)then tax=0.03 elseif(money<5000)then tax=0.10 else tax=0.15 endifelseif(money<1000)then tax=0.05 elseif(money<5000)then tax=0.07 else tax=0.10 endifendifwrite(*,"('TheTAXis'I8)")nint(money*tax)endprogram11.在一年当中,通常有365天。但如果是闰年,一年则有366天。在公历中,闰年的策略如下:年数是4的倍数时,是闰年年数是100的倍数时是例外,不当闰年记。除非它刚好又是400的倍数请写一个程序,如果用户输入一个公元的年份,然后交给程序来判断这一年当中会有多少天?programmainimplicitnoneintegeryear,dayslogicalmod_4,mod_100,mod_400write(*,*)"请输入年份"read(*,*)yearmod_4=(MOD(year,4)==0)mod_100=(MOD(year,100)==0)mod_400=(MOD(year,400)==0)if((mod_4.NEQV.mod_100).or.mod_400)thendays=366elsedays=365endifwrite(*,"('这一年有'I3'天')")daysstopendprogram12.用IF语句编写下面功能程序:(1)读入a,b,若a>b,则置X=1.23,否则置X=32.1,打印X值;(2)读入a,b,c,d,若a+b>c+d,则X=1.1,若a+b=c+d,则X=0.0,若a+b<c+d,则X=-1.1,输出X值;(3)读入S与S1,如|S-S1|≤10-7,则置S为S1。programmainimplicitnonereal::a,b,c,d,x,s,s1!-----------------write(*,*)"inputa,b:"read(*,*)a,bif(a>b)thenx=1.23elsex=32.1endifwrite(*,*)x!--------------write(*,*)"inputa,b,c,d:"read(*,*)a,b,c,dif(a+b>c+d)thenx=1.1elseif(a+b==c+d)thenx=0.0elseif(a+b<c+d)thenx=-1.1endifwrite(*,*)x!------------write(*,*)"inputs,s1:"read(*,*)s,s1if(abs(s-s1)<=10**(-7))s=s1write(*,*)sstopend14.读入一个整型变量N的值,用CASE构造编程,

若N=1、2、3、5,则Y=X;N=4、8,则Y=X2;N=6、7,则Y=X3,其它情况则Y=0,打印Y值。14.programmainimplicitnoneintegerx,ywrite(*,*)"inputx:"read(*,*)xselectcase(x)case(1,2,3,5)y=xcase(4,8)y=x**2case(6,7)y=x**3casedefaulty=0endselectwrite(*,*)ystopend15.输入一个数M,判断能否被7,11,17整除,如能被以上三个数之一整除,则打印出“M能被7(或11,17)整除”,如不能被以上三个数整除,则打印出“M不能被1,11,17整除”programmainimplicitnoneintegermwrite(*,*)"输入m:"read(*,*)mif(mod(m,7)/=0.and.mod(m,11)/=0.and.mod(m,17)/=0)thenwrite(*,*)"m不能被7,11,17整除"elsewrite(*,*)"m能被7(或11,17)整除"endifstopend综合运用习题一、选择题1.下列各FORTRAN表达式中合法的是

A)S+T*2P>=0.0B).NOT.(A*B+C)C)A2+B2/(C+D)<=0.0D)(A+B).NOT.A*B.GT.0.02.数学式(3/5)ex+y的FORTRAN表达式是

A)

3*EXP(X+Y)/5

B)

3*E*

*(X+Y)/5.0

C)

(3/5)*EXP(X+Y)D)

(3.0/5.0)EXP(X+Y)

3.在下列FORTRAN77运算符中,优先级最高的是

A)

.AND.

B)

.NOT.C)

.OR.

D)

.EQ.4.FORTRAN表达式”6/5+9/2**3/2"的值为

A)

33

B)

1

C)

5

D)

3

答案:B,C,B,B5.在FORTRAN77源程序中,续行标志符必须放在

A)

第1列B)

第1-6列C)

第6列D)第5列6.下列FORTRAN运算符中,优先级最低的是

A)逻辑运算符.AND.

B)算术运算符*

C)关系运算符>=

D)算术运算符+7.下列标识符中,不属于FORTRAN常量的是

A).TRUE.

B)FALSE

C)ˊROOT=ˊ

D)ˊ123.0ˊ8.设有下列数组说明语句:

REAL::

A(1:10,-1:10)

该数组说明语句定义了数组A中的元素个数为

A)100

B)110

C)120

D)121

9.在使用DO循环及循环嵌套时,下列叙述中正确的是

A)

不仅可以从循环体内转到循环体外,也可以从循环体外转到循环体内

B)

外循环与内循环的DO循环控制变量可以不同.也可以相同

C)

可以从循环体内转到循环体外,但不能从循环体外转到循环体内

D)

DO循环控制变量在循环体内可以再赋值,也可以被引用

答案:C,A,B,C,C15.如果J是整型变量,则循环语句:DO

J=5.5,-1.5,-2.5

所执行的循环次数是A.

4

B.3

C.2

D.1

16.圆的直径存放在整型变量D之中,下列计算圆面积的表达式中正确的是A.

3.14159*(

D/2

)*(

D/2

)

B.

3.14159*(

D*D/4

)

C.

3.14159*(

D/2

)**2

D.

3.14159*D*D/4

17.下列是完整的FORTRAN程序,编译时出错的语句是A.

PROGRAM

PRINT

B.

PARAMETER

(

PI=3.1415926

)

C.

PI=PI+1

D.

WRITE(

*,

*

)SIN(

PI+0.5

)

END

答案:A,D,C18.能得到以下数据正确输出结果的FORTRAN语句是X=1.34M=3Y=1.25A.

100

FORMAT(

1X,

F6.3,

I3,E9.4

)

B.

100

FORMAT(

1X,

2F8.3,

I3

)

C.

100

FORMAT(

1X,

F8.4,

I3,F3.1

)

D.

100

FORMAT(

1X,

F8.4,

2(

1X,

I3)

)

19.下列不是FORTRAN赋值语句的是A)

X=.TRUE.

B)

X=X*X

C)

X=X**2**2

D)

X=X++

20.下列关于符号常量的说法正确的是()

A.符号常量的定义应该放在所有语句之前

B.符号常量不可以是字符型常量C.在一个程序单位中定义一个符号常量后,不能再改变它的值

D.符号常量定义语句与赋值语句一样,是可执行语句答案:C,D,C二、阅读题1.阅读下列FORTRAN程序:programexampleimplicitnoneintegerrain,windspeedwrite(*,*)"Rain:"read(*,*)rainwrite(*,*)"Wind:"read(*,*)windspeedIf(rain>=500.or.windspeed>=10)thenwrite(*,*)"停止上班上课"elsewrite(*,*)"照常上班上课"endifstopend运行上述程序时,如果从键盘输入

Rain:

505<回车>Wind:

8<回车>结果是——停止上班上课3.program

example

implicit

noneDIMENSION

M(4,4)

DATA

M/1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6/

DO

I=1,4

WRITE

(*,100)(M(I,J),J=1,I)

END

DO

100

FORMAT(1X,4I2)

END

程序运行的结果是:

M(1,1)=1;M(2,1)=2;M(3,1)=3;M(4,1)=4M(1,2)=5;M(2,2)=6;M(3,2)=7;M(4,2)=8M(1,3)=9;M(2,3)=0;M(3,3)=1;M(4,3)=2M(1,4)=3;M(2,4)=4;M(3,4)=5;M(4,4)=61

2

6

3

7

1

4

8

2

6

4.program

example

implicit

noneINTEGER

N(20)

DO

M=1,20

N(M)=0

END

DO

K=5

DO

M=1,K

DO

J=1,K

N(J)=N(M)+1

END

DO

END

DO

WRITE(*,*)N(K)

END

程序运行的结果是:95.program

example

implicit

noneRealxINTEGER

NREAD(*,*)

N

X=1.0

IF

(N.GE.0)

X=2*X

IF

(N.GE.5)

X=2*X+1.0

IF

(N.GT.15)

X=3*X-1.0

WRITE(*,*)

X

END

运行上述程序时,如果从键盘输入

15<回车>

则最后输出的X值为

:5.000006.program

example

implicit

noneINTEGERNINTEGER,DIMENSION

M(3,4)

DATA

M/4*2,4*1,4*-1/

N=0

DO

K=1

,4

N=N+M(1,K)

END

DO

WRITE(*,*)

N

END

运行上述程序后,输出的N的值为

4三.填空题1.下列程序将一个数组的元素逆序重新存放,例如存放为:

8,6,5,4,1

。要求改为:

1,4,5,6,8。请在横线处填写适当语句,使程序完整。

INTEGER,PARAMETER::N=5

INTEGER

A(N),I

温馨提示

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

评论

0/150

提交评论