当前位置:首页 >> 其它课程 >>

Fortran PPT课件1 (9)DO循环结构


3.2 DO循环结构
program ex0601 implicit none integer counter integer, parameter :: lines=10 ! counter<=lines之前会一直重复循环 ! 每跑一次循环counter会累加1 do counter=1,lines,1 write(*,*) "Happy Birthday",counter end do stop end Counter=1 1

3.2 DO循环结构
? DO循环结构的一般形式为

[name:] do [label[,]] [loop_control] block [label] term_stmt [name]
? name为循环的名字,可省略; ? Label为循环终端语句的标号,可省略, 如果使用,则do后面的标号必须和循环 终端语句的标号一致; ? loop_control循环的控制部分,有三种选 择,(1) i=e1,e2[,e3],(2) while(e), (3)省略

3.2 DO循环结构
[name:] do [label[,]] [loop_control] block [label] term_stmt [name]
? block为循环体,即重复执行的语句部分; ? term_stmt为循环终端语句,可谓CONTINUE 或者ENDDO,也可以是允许的其他可执行语句;

3.2 DO循环结构
? 计数型DO循环
d o [la b e l,] i= e 1 ,e 2 [,e 3 ]? ? ? ?循环体 ? [lab el]term _ stm t ?

do count = 1, lines, 1 …… …… …… …… 循环计数器 end do

计数器增量

计数器终止值

3.2 DO循环结构
计数型DO循环的执行过程
N ? m ax [in t( m 2 ? m1 m3 ? 1), 0 ]

计数型DO循环的执行过程

3.2 DO循环结构
例:使用DO循环计算2+4+6+8+10
PROGRAM ex0602 IMPLICIT NONE INTEGER ,PARAMETER: : limit=10 ! 计数器上限 INTEGER :: counter ! 计数器 INTEGER :: ans = 0 ! 累加使用 DO counter=2, limit, 2 ans = ans + counter ENDDO WRITE(*,*) ans

STOP END

3.2 DO循环结构
FORTRAN 77 程序代码要在DO后面注明 循环结束的代码号
PROGRAM ex0602 IMPLICIT NONE INTEGER limit PARAMETER(limit=10) INTEGER counter INTEGER ans DATA ans /0/ DO 100 counter=2, limit, 2 100 ans = ans + counter WRITE(*,*) ans STOP END

3.2 DO循环结构
FORTRAN 77经常用CONTINUE来结束程序

100

do 100, counter=2, limit, 2 ans=ans+counter continue

3.2 DO循环结构
Do i=e1, e2 [, e3]
1) 计数增值e3可以为负数,则终值e2必须小于起始 值,才能循环。例: do i=10, 1, -1 write (*, *) I end do 作计数器的变量I, 在循环的程序模块中不能再使 用命令来改变它的数值, 不然在编译中会发生 错误 do i=1, 10 i=i+1 end do

2)

3.2 DO循环结构
3)循环的次数为: INT((e2-e1+e3)/e3) 4) 尽量避免使用实型的计数循环 例: Do x=0.0, 50.0, 0.1 循环次数: (50.0+0.1)/0.1=501 ? do i=0, 500 循环次数为501 5)用来设置计数器初值、终值和增值的数值可以使 用变量来指定,只会在循环之前被读取一次,在循环 中变量值改变不会影响循环

3.2 DO循环结构
S=1 E=10 Inc=1 Do i=s, e, inc s=5 e=1 inc=-1 Write(*, *) I End do

3.2 DO循环结构
6)Do循环可以多层嵌套
执行结果:
program ex0603 总共循环 implicit none 次数3×3 integer :: i,j do i=1, 3 do j=1, 3 write(*, "(I2,I2)") i,j end do write(*,*) "another circle" end do stop end

3.2 DO循环结构
? DO WHILE 循环
循环不一定要有计数器的增减来界定是否该 结束循环,可由一个逻辑运算来作决定,主要 用于不能预知执行次数的循环。
d o w h ile (e ) ? ? ? ?循环体 L a b e l te rm _ stm t ? ?

? Label和term_stmt的含义同计数型DO循环, 终端语句主要使用enddo ? e为逻辑表达式(包括关系表达式)

3.2 DO循环结构
do while(e) …… …… …… end do

逻辑表达式成立时,执行循环

do while循环执行过程

3.2 DO循环结构
例:使用DO WHILE循环计算2+4+6+8+10
program ex0604 implicit none integer, parameter :: limit=10 ! 计数器的上限 integer counter ! 计数器 integer :: ans = 0 ! 拿来累加使用 counter = 2 ! 设定计数器初值 do while( counter <= limit ) ans = ans + counter counter = counter + 2 ! 计数器累加 end do write(*,*) ans stop end

3.2 DO循环结构
例:猜体重直到猜中为止
program ex0605 implicit none real, parameter :: weight=45.0 real, parameter :: e = 0.001 real :: guess = 0.0 do while( abs(guess-weight) > e ) write(*,*) "Weight:" read(*,*) guess end do write(*,*) "You're right" stop end 初设值保证 为真以执行 第一次循环

3.2 DO循环结构
? 循环的流程控制
循环结构也可以多层嵌套, 嵌套循环也称 多重循环,即在一个循环体内又包含另一个完 整的循环. do while(e) do do …… end do end do end do


相关文章:
fortran课后习题答案
下列数据中哪一些是合法的 FORTRAN 常量? (1) 9,...循环结构程序设计 1.写出下列程序的执行结果 (1) ...DO I=1,N PI=PI+1.0/(4*I-3)-1.0/(4*...
fortran语法手册
(0:2,0:1,0:3) REAL IA(10),ND(80:99)使用隐含 DO 循环进行数组输入...9 FORTRAN77 函数与子程序 9.1 FORTRAN77 语句函数 当函数十分简单,用一条语句...
Fortran95第11章 基本计算(三)循环控制结构
搜 试试 7 帮助 全部 DOC PPT TXT PDF XLS ...n​9​5​第​1​1​章​ ​ ​...FORTRAN 语言提供用来进行循环控制的主要结构就是 DO...
fortran95教程4章
搜 试试 7 帮助 全部 DOC PPT TXT PDF XLS ...本质上 FORTRAN 就是一门语言,一门人与计算机赖以...需要引用其他语句的语句包括 CALL 语句, DO 结构,...
FORTRAN听课笔记
搜 试试 7 帮助 全部 DOC PPT TXT PDF XLS ...现在从最简单的 FORTRAN 程序结构整理, 方便 入门。...DO 循环中,不是按照每次增加 1 来循环的,那么书写...
fortran用法总结
搜 试试 7 帮助 全部 DOC PPT TXT PDF XLS ...语言的基础, 看完前九应该很快的,花一两天就行了...这是常量的声明方法 !do 循环,Fortran 中的循环...
计算机技术基础(Fortran)试题库
搜试试 3 帮助 全部 DOC PPT TXT PDF XLS ...计算机技术基础(Fortran)试题库_IT认证_资格考试/...9,0,1,2,3,4,5,6/ DO 10 I=1,4 WRITE ...
FORTRAN 90 程序编程规范
搜 试试 7 帮助 全部 DOC PPT TXT PDF XLS ...END DO 改写为: DO i = 1 , 9 r = i * ...Fortran90 中,由于模块、动态存储、 指针、数据结构...
Fortran复习题
D) .EQ. B (6)FORTRAN 表达式"6/5+9/2**3/2"的值为 A) 33 B) 1...I=1,2), J=1,4)/4*1.0, 4*2.0/ C (21)在使用 DO 循环及循环嵌套...
大学FORTRAN考试试题样题 (1)
9/ WRITE(*,10)(M(3,J),J=1,3) 10 FORMAT...阅读下列 FORTRAN 程序: DO I=4,2,-1 A=1.0...三种基本结构为:顺序结构、选择结构和 2 循环结构 ...
更多相关标签: