第6章 循环结构程序设计 第六章 本章要点: >特点:重复相同或 循环结构程序设计 >For.Next循环 相似的操作步骤 >结构: >Vhile.Wend循环 ●循环体一要重复执 > D0L00p循环 行的语句序列。 >循环的嵌套 ●循环控制部分一规 >循环结构应用举例 定循环的重复条件 或重复次数,确定 循环范围的语句
第 六 章 循 环 结 构 程 序 设 计 1 第6章 循环结构程序设计 本章要点: ➢For.Next循环 ➢While.Wend循环 ➢Do.Loop循环 ➢循环的嵌套 ➢循环结构应用举例 ➢特点:重复相同或 相似的操作步骤 ➢结构: ⚫循环体—要重复执 行的语句序列。 ⚫循环控制部分—规 定循环的重复条件 或重复次数,确定 循环范围的语句
循环引例 从坐标(0,100)到坐标(4000,100)处画线 Private Sub Command1 ClickO 第六章 Forml.DrawWidth =3 Form1.ForeColor vbRed Line(0,100)-(4000,100) Line(0,200)-(4000,200) Line(0,300)-(4000,300) 环结构程序设计 For i=100 To 1000 Step 100 Line(0,i)-(4000,i) Next i Line(0,800)-(4000,800) Line(0,900)-(4000,900) Line(0,1000)-(4000,1000) End Sub
第 六 章 循 环 结 构 程 序 设 计 2 循环引例 Private Sub Command1_Click() Form1.DrawWidth = 3 Form1.ForeColor = vbRed Line (0, 100)-(4000, 100) Line (0, 200)-(4000, 200) Line (0, 300)-(4000, 300) Line (0, 400)-(4000, 400) Line (0, 500)-(4000, 500) Line (0, 600)-(4000, 600) Line (0, 700)-(4000, 700) Line (0, 800)-(4000, 800) Line (0, 900)-(4000, 900) Line (0, 1000)-(4000, 1000) End Sub For i = 100 To 1000 Step 100 Line (0, i)-(4000,i) Next i 从坐标(0,100)到坐标(4000,100)处画线
6.1or.Nex循环结构 1.格式 第六章 For循环变量=初值To终值[Step步长】 语句组1 初值 循环变量 [Exit For] 循环结构程序设计 语句组2 Next[循环变量 循环变量值超过终值? 2.功能: 执行循环体 执行过程如 循环变量+步长→循环变量 流程图所示 Next之后的语句
第 六 章 循 环 结 构 程 序 设 计 3 1. 格式 For 循环变量=初值 To 终值 [Step 步长] 语句组1 [Exit For] 语句组2 Next [循环变量] 初值 循环变量 6.1 For.Next循环结构 循环变量值超过终值? 执行循环体 循环变量+步长 循环变量 Next之后的语句 T F 2. 功能: 执行过程如 流程图所示
3.说明 1)循环变量:数值型变量 2)初值,终值,步长:数值表达式 第六章循环结构程序设计 3)步长:可正可负,但不能为0,为1时可以省略 > 步长>0时,必须:初值终值 > 步长=终值 循环结束条件:循环变量的值<终值 4)Exit For:退出循环,常放在条件语句中 5)Next之后的循环变量应与For语句中的循 环变量一致,也可以省略 4
第 六 章 循 环 结 构 程 序 设 计 4 3. 说明 1)循环变量:数值型变量 2)初值,终值,步长:数值表达式 3)步长:可正可负,但不能为0,为1时可以省略 ➢ 步长>0时,必须: 初值终值 ➢ 步长= 终值 循环结束条件:循环变量的值<终值 4)Exit For:退出循环,常放在条件语句中 5)Next之后的循环变量应与For语句中的循 环变量一致,也可以省略
例:判断以下程序段的执行结果: For i=5 To 1 Step-1 Print i* Form1 第六章循环结构程序设计 Next i 25 169 4 1 Print Print⑤ 例:判断以下程序段的执行结果: X=6 K=1;超过终值, For K=1 To 10 Step-2 不进入循环 X=X+K Form1 Next K 1 6 Print K,X 10t
第 六 章 循 环 结 构 程 序 设 计 5 例: 判断以下程序段的执行结果: For i = 5 To 1 Step -1 Print i * i; Next i Print Print i 例: 判断以下程序段的执行结果: X = 6 For K = 1 To 10 Step -2 X = X + K Next K Print K,X K=1;超过终值, 不进入循环
【例6-1】输入N的值,求1+2+3+4+.+N 累加分析: 流程图: 第六章 累加器(变量)初始化 输入N Sum=0 0→Sum,1→I 循环结构程序设计 T 重复执行: I>N? F Sum=Sum+I Sum+I→Sum (I=1,2,.,N) I+1→I (循环体) 输出Sum 193 6
第 六 章 循 环 结 构 程 序 设 计 6 累加分析: 累加器(变量)初始化 Sum=0 重复执行: Sum=Sum+I (I=1,2,.,N) (循环体) 【例6-1】输入N的值,求1+2+3+4+.+N F 0Sum ,1I I>N? I+1I Sum+ISum T 输入N 输出Sum 流程图:
设计界面: 求1+2+3++的值 ▣ 请输入n: Text1 1+2+3+.+n= Label3 第六章循环结构程序设计 计算C) Command1 运行界面: 求1+2+3++的值 回☒ 请输入n: 100 1+2+3++n= 5050 计算延) 可 10t
第六章循环结构程序设计 7 设计界面: Text1 Label3 Command1 运行界面:
代码设计: Private Sub Command1 ClickO 第六章 Dim NAs Integer,IAs Integer, Sum As Integer N=Val(Text1.Text) '输入累加总项数 环结构程序设计 Sum =0 设累加和初值为0 For I=1To N Sum=Sum+I'循环体 Next I Label3.Caption=Sum'输出累加结果 End Sub 193 8
第 六 章 循 环 结 构 程 序 设 计 8 代码设计: Private Sub Command1_Click() Dim N As Integer, I As Integer, _ Sum As Integer N = Val(Text1.Text) ' 输入累加总项数 Sum = 0 ' 设累加和初值为0 For I = 1 To N Sum = Sum + I ' 循环体 Next I Label3.Caption = Sum ' 输出累加结果 End Sub
思考: 1.求12+22+32+42+.+1002 第六章 2.求13+33+53+.+(2n-1)3 循环结构程序设计 3.求1-3+5-7+.+(-1)m+1(2n-1) 4.求 -+-+-0 2n- 5.求 1.2 2.3 n(n+1) 9
第六章循环结构程序设计 9 思考 : 1. 求 1 2+2 2+3 2+4 2+.+100 2 2. 求 1 3+3 3+5 3+.+(2n -1) 3 3. 求 1 -3+5 -7+.+( -1)n+1(2n -1) 2 1 1 1 51 31 11 1 − − + − + − + n n 4. 求 ( ) ( 1 ) 1 3 4 1 2 3 1 1 2 1 + + + + + n n 5. 求
练习:输入N值,求1×2×3X.XN(即N!) 累乘分析: 第六章 初始化:F=1 循环体:F=FXI I=1,2,3.N 代码如下: Private Sub Command1 ClickO 循环结构程序设计 Dim NAs Integer,IAs Integer, Dim F As Long N=Val(Text1.Text) F=1 For I=1To N F=F*I Next I Text2.Text F 193 End Sub 10
第 六 章 循 环 结 构 程 序 设 计 10 练习:输入N值,求 1×2×3×.×N (即N!) 代码如下: Private Sub Command1_Click() Dim N As Integer, I As Integer, Dim F As Long N = Val(Text1.Text) F = 1 For I = 1 To N F = F * I Next I Text2.Text = F End Sub 累乘分析: 初始化: F=1 循环体: F=F × I (I=1,2,3.N)