§2do循环(P100-112) 6 【引例】依次输入并输出30个学生的学号及成绩。 I 1=n do100,n=1,30,1 F n≤30? read (, " )no,score 100 write(")no, score 输入no, score end 输出no, score 直观的执行过程 n+1→n §2do循环 2021/2/24
6 2021/2/24 F T §2 do循环(p100-112) 【引例】依次输入并输出30个学生的学号及成绩。 do 100, n=1, 30, 1 read(* , *)no, score 100 write(* , *)no, score end 1n n≤30? 输出no, score 输入no, score n+1n §2 do循环 直观的执行过程
do循环结构的一般形式 7 do语句标号[,]循环变量=表达式1,表达式2[,表达式3] 循环体 do语句或 语句标号 循环语句 把do语句简写为:dos[,]=e1,e2[,e3] 循环终端循环「循环循环匾循环 语句标号变量变量变量变量 初值终值步长 其中:s是循环体最后一条语句的标号,用于标识循环 体的范围。循环体最后一条语句称为循环终端语句,s为 循环终端语句标号。 §2do循环 2021/2/24
7 2021/2/24 一、do循环结构的一般形式 把do语句简写为: 其中:s是循环体最后一条语句的标号,用于标识循环 体的范围。循环体最后一条语句称为循环终端语句,s为 循环终端语句标号。 do s [ , ] v = e1 , e2 [ , e3] 循环终端 语句标号 do 语句标号 [ , ] 循环变量=表达式1, 表达式2 [ , 表达式3] 语句标号 循 环 体 do语句或 循环语句 §2 do循环 循环 变量 初值 循环 变量 终值 循环 变量 步长 循环 变量
dos[,]V=e1,e2[,e3] 8 do语句的有关说明: ①e3可有可无,不写时,意味着e3=1,即步长为。 ②循环变量v和e1、e2、e3可以是整型、实型、双糈 型 如:do10,t=5.0,250,15 25.0-5.0+1.5 r=int( )xn215 1.5 1)=int(14.3)=14 自循环次数的计算公式为:r=im(92-1+e3 如:do10,i=1,10,2 10-1+2 11 r=int( )=int()=int(5)=5 2 2 §2do循环 2021/2/24
8 2021/2/24 §2 do循环 do s [ , ] v = e1 , e2 [ , e3] do语句的有关说明: ①e3可有可无,不写时,意味着e3=1,即步长为1。 ②循环变量v和e1、e2、e3可以是整型、实型、双精度 型。 如:do 10, t=5.0, 25.0, 1.5 ③循环次数r的计算公式为: ) 3 2 1 3 int( e e e e r − + = 如:do 10, i=1, 10, 2 ) int(5) 5 2 11 ) int( 2 10 1 2 int( = = = − + r = ) int(14.3) 14 1.5 21.5 ) int( 1.5 25.0 5.0 1.5 int( = = = − + r =
9 ④e、e2、e3的值可以为正或负;e1、e2可以为零, 但步长e3不能为零若为零则是死循环)。 如:do10,t=50,-5.0,-1.5 5,0-5.0-1.5 11.5 r=int( )=int()=int(767)=7 1.5 15 ◆若计算的循环次数r<0,按r0处理,即循环一次也 不执行。 步长e3为正数和负数,循环的判断条件是不同的。 如 do10,i=1,10.2 do10,=10,1,-2 10 write(", )i*i 10 write(", )i*i 2do循环 2021/2/24
9 2021/2/24 §2 do循环 ④e1、e2、e3的值可以为正或负;e1、e2可以为零, 但步长e3不能为零(若为零则是死循环)。 ❖ 若计算的循环次数r<0,按r=0处理,即循环一次也 不执行。 ❖ 步长e3为正数和负数,循环的判断条件是不同的。 如: 如:do 10, t=5.0, -5.0, -1.5 ) int(7.67) 7 1.5 11.5 ) int( 1.5 5.0 5.0 1.5 int( = = − − = − − − − r = do 10, i=1, 10, 2 10 write(* , *)i*i do 10, i=10, 1, -2 10 write(* , *)i*i
do10,i=1,10,2 do10,i=10,1,-2 10 10 write(*, *)i* 10 write(*, *)i* 1→ 101 否 ≤10? 121? 物山汽 辅出内 i+2→i 12冂 当步长e3为正数时,循环执行的条件是v≤e2 当步长e3为负数时,循环执行的条件是v≥e2。 §2do循环 2021/2/24
10 2021/2/24 §2 do循环 do 10, i=1, 10, 2 10 write(* , *)i*i do 10, i=10, 1, -2 10 write(* , *)i*I 否 1i 输出i*i i+2i 是 10i 输出i*i i-2i 是 否 i≤10? i≥1? 当步长e3为正数时,循环执行的条件是v ≤e2; 当步长e3为负数时,循环执行的条件是v ≥ e2