ERROR1处正确的语句是: ERROR2处正确的语句是: ERROR3处正确的语句是:
2. 下面程序功能是判断一个三位正整数N是否是素数,若是则输出“YES”,否则输出“NO”。在标注行有错,请改正。程序如下:
PROGRAM EXAM IMPLICIT NONE INTEGER::N,I LOGICAL::L L=.TRUE.
READ(*,'(F3)') N !<==ERROR1 DO I=2,N/2
IF(MOD(N,I)=0) !<==ERROR2 PRINT *,'NO' L=.FALSE. EXIT END IF END DO
IF(L=.TRUE.) PRINT *,'YES' !<==ERROR3 END
ERROR1处正确的语句是: ERROR2处正确的语句是: ERROR3处正确的语句是:
3. 程序设计
⑴ 求阶乘的值T=N!。
⑵ 求S=1-1/( 1*2 )+1/( 2*3 )+……+(-1)N/( N*( N+1 ) )的值,直到某项绝对值小于10为止。
⑶ 输出100~500内的所有个位数字为3 的素数,并统计其个数。 ⑷ 打印出1000以内的所有水仙花数(所谓水仙花数是指一个三位正整数,其各位数字的立方和等于该数本身,例如:407=4*4*4+0*0*0+7*7*7,则407是一个水仙花数)。 ⑸ 编程,打印以下图形: 1 121 12321 1234321 123454321 四、实验说明
1. 对于改错题1,注意求最小公倍数的算法。
2. 对于改错题2,判断一个数N是否为素数的方法是依次检查
-5
2到INT(SQRT(N))之间的每一个数,是否能整除N,若都不能整除N,则N是素数,否则N就不是素数。 3. 对于程序设计题⑵,通项为T=1.0/( N*( N+1 ) )。
4. 对于程序设计题⑶,除了要求是素数,还要注意判断其个位数字是否为3。
5. 实验中各题的程序,除了进行静态调试,以及根据编译、连接和运行时的信息进行调试修改外,还要根据循环程序的特点来调试程序;尤其是当逻辑上和语法上无错,运行结果不对的情况下,则要对程序进行分析,采取必要的办法来找出错误的原因。对于循环程序采用设置断点和跟踪调试的方法是很有效的,这可以通过中间结果的正确与否,以及变量的变化趋势来判断是否符合实际情况,从而为修改程序提供依据。 五、思考题
1. 求下列表达式S=1+(1*2)+(1*2*3)+(1*2*3*4)+…+(1*2*3*…*N)的值,N由键盘输入。
2. 有一个三位数,被7除余3,被5除余2,被3除余1,输出符合条件的所有三位数。
3. 键盘输入一整型数N,编程输出该数的所有质因子。如当N的值为12,则其质因子是:2,3。
2.5 格式输入输出及过程程序设计
一、实验目的
1. 掌握FORTRAN90中格式编辑符的使用,能够用带格式的语句进行输入输出。
2. 理解子程序的概念,理解FORTRAN90中内部过程和外部过程的概念,能够对于编程题分别采用这两种过程编程实现,以比较他们的异同点。
3. 理解虚实结合的基本概念,掌握函数子程序、子例行子程序的一般设计方法,能够用过程的方法编写一些简单的程序。 4. 熟练掌握求阶乘、求累加和、用牛顿迭代法求方程根等一些常用算法的通用程序设计方法。 二、实验要求
1. 认真复习教材第4章、第5章的内容。
2. 按照题目的要求设计各题算法,编写出相应的程序,并仔细进行逻辑结构和语法的检查。
3. 上机调试各程序。因为每个程序都是由多个程序单位组成,因此每个程序的调试都要在各个程序单位上进行。在调试过程中要充分注意各个程序单位编译时计算机给出的信息,利用它对程序进行修改和调试,在此基础上再利用连接和运行时的信息,对程序进行调试。
4. 掌握函数子程序、子例行子程序调试的特点,在必要的时候可采用设置断点的方法,查看函数子程序、子例行子程序的执行情况。
5. 详细记录数据的输入、输出信息,并对结果进行分析。
三、实验内容 1. 程序填空:
PROGRAM EX1 IMPLICIT NONE A=2;B=5;C=7 PRINT*,F(A+B,C) END PROGRAM EX1
F(X,Y) RESULT(RES)
RES=X+Y END FUNCTION
2. 下面程序运行结果是:
PROGRAM EX2 IMPLICIT NONE INTEGER::I,SUM=0 DO I=1,10 SUM=SUM+K(I) ENDDO
PRINT*,'SUM=',SUM CONTAINS
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库FORTRAN90实验(4)在线全文阅读。
相关推荐: