1、第五讲 循环结构及基本语句,5.1 循环结构概述,循环结构分为两类: 循环体的循环次数事先确定(如例5.1中循环结构),这类循环结构称为确定性循环,或称“计数型”循环,使用计数型循环语句(如DO循环语句)实现这类循环结构。循环次数为:MAX(终值-初值)/步长+1,0)。 循环体的循环次数事先不确定(如例5.2中循环结构),这类循环结构称为非确定性循环,或称“条件型”循环,使用条件型循环语句(如DO WHILE循环语句)实现这类循环结构。条件型循环又分“当型”循环和“直到型”循环。,例5.1 求S=1+2+3+N的值(N由键盘输入,N2)。编写程序。解:求解这一问题,将执行N-1次加法运算。如
2、果将等式写成S=0+1+2+N,则执行N次加法运算。重复问题易采用循环结构实现。用S保存和,用N保存最大求和值,用I作计数器。编写程序如下: Program ex2 INTEGER S,N,I READ(*,*)N S=0 DO I=1,N,1 S=S+I EDNDO WRITE(*,*) S=,S END,例5.2 读入某班级考试成绩(人数不定),计算其平均成绩,并输出。解:由于学生人数不定,所以输入的学生成绩个数不确定,以输入-1作为结束标志(因为成绩不可能为负数),从而动态确定学生人数n。平均成绩计算公式是:av=(x1+x2+xn)/n Program ex3 INTEGER sum,
3、n,x REAL av sum=0 n=0 READ(*,*)x DO WHILE (x/=-1) n=n+1 sum=sum+x READ(*,*)x ENDDO av=sum/n WRITE(*,*) 平均成绩为:,av END,5.2 使用DO循环语句实现计数型循环,: DO =, ENDDO 说明:v为循环变量,一般为整型变量,用来控制循环次数。e1、e2和e3为表达式,其类型与循环变量类型相同。e1代表循环变量v的初值,e2代表循环变量v的终值,e3代表循环变量v的步长,e3可缺省,e3缺省指e3为1。 循环次数计算公式是:MAX(e2-e1)/e3 + 1 ,0)。如果e30,则一
4、般要求e1e2,否则循环次数为0,即循环体一次也不执行。 如果e3eps).AND.(neps)THEN write(*,*)发散级数,不能得到结果。ELSE write(*,*)程序计算得到的正弦值:,sinx write(*,*)FORTRAN 90内部函数值:,SIN(x)END IFEND,输入数据: 输入一个度数值:45输出结果为: 程序计算得到的正弦值: 0.7071068 Fortran 90内部函数值: 0.7071068,1 输入x值(x1),按下列公式计算s。精度要求5位有效数字,最后一项10-5。编写程序实现之。 2输入x,用迭代法按下列迭代公式求的值。初始值y0=x,精度要求4位有效数字。编写程序实现之。 P194页 9,10题,5.8 习题,