【VB开源代码栏目提醒】:本文主要为网学会员提供“第8章_程序VB循环结构程序设计 - 中学课件”,希望对需要第8章_程序VB循环结构程序设计 - 中学课件网友有所帮助,学习一下!
第8章 循环结构
程序设计
学习重点 For…Next语句、Do…Loop语句、While…Wend语句、GoTo语句。
循环语句的嵌套使用。
掌握常用的循环结构算法。
本章内容 8.1 For…Next语句 8.2 Do…Loop语句 8.3 While…Wend语句 8.4 GoTo语句 8.5 循环嵌套 8.6
常用算法及实例 本章小结 引言 循环重复进行某些相同或相近的操作 循环结构语句 程序自动重复执行
代码段。
Visual Basic中的循环结构语句 For…Next语句 Do…Loop语句 While…Wend语句 True 循环条件 循环体 False 8.1 For…Next语句 For…Next语句也称步长循环语句 常用于在循环开始前能确定循环执行次数的情况。
For…Next语句格式如下 For 循环变量初值 To 终值 Step 步长 语句块 Exit For 语句块 Next循环变量 功能以指定次数来重复执行一组语句。
示例
代码 Dim i As Integer For i1 To 10 Step 1 Print i Next i 执行以上
代码将在窗体上输出结果如下 1 2 3 4 5 6 7 8 9 10 For 循环变量初值 To 终值 Step 步长 语句块 Exit For 语句块 Next循环变量 关于循环的几个概念 循环变量——又称为“循环控制变量”、“控制变量”或“循环计数器”是用做循环计数器的数值变量。
这个变量必须为数值型变量不能是逻辑型数据或数组元素。
循环体 ——被重复执行的
代码段。
循环次数——循环体被重复执行的次数。
循环次数必须是有限的否则称程序陷入“死循环” Dim i As Integer For i1 To 10 Step 1 Print i Next i 说明 上述
代码中整型变量i是循环变量。
初值、终值和步长也必须是数值表达式。
步长可以是正数或负数仅当步长为1时“Step 步长”可以省略。
当步长是正数或零时要求循环变量小于或等于终值当步长是负数时要求循环变量大于或等于终值。
若不符合以上情况时不能进入循环执行语句块。
在上述
代码中循环变量i的初值是1终值是10步长是1。
Dim i As Integer For i1 To 10 Step 1 Print i Next i For和Next中间的语句段称为循环体。
在上述
代码中循环体仅有一条语句构成。
可以在循环体中任何位置放置任意个Exit For语句随时退出循环。
Exit For经常在条件判断之后使用如If…Then语句之后并将控制权转移到紧接在Next之后的语句。
如将上述
代码改为 Dim i As Integer For i1 To 10 Step 1 Print i If i5 Then Exit For Next i 程序的输出就变为1 2 3 4 5。
8.1 For…Next语句 For…Next语句执行过程 ① 首先计算初值、终值和步长表达式的值并将它们都转换成与循环变量相同的类型。
② 将计算好的初值表达式的值赋给循环变量作为循环变量的初值注意循环变量仅被赋初值一次。
③ 进行判别判断循环变量的值是否超过终值即当步长0步长为正数时判别循环变量终值否当步长 10 Print i ii 1 Loop Dim i As Integer i1 Do Print i ii 1 Loop Until i 10 8.2.2 直到型循环 说明 1直到型Do…Loop语句也有两种形式。
False 循环条件 循环体 True 循环条件 循环体 False True aDo Until…Loop结构流程图 bDo…Loop Until结构流程图 8.2.2 直到型循环 说明 2直到型Do…Loop语句格式中的组成和当型Do…Loop语句格式基本一致两者的区别是两者的循环条件正好相反。
大部分当型Do…Loop语句都可以改写成直到型Do…Loop语句。
如将例8-3中的Do While n 1 改成Do Until n1程序功能完全一致。
例8-4 例8-4 随机产生n个随机整数并求它们的平均值n由用户输入。
分析: 用户输入信息的有效性过滤: 使用整型变量n接收用户输入的数据可以过滤掉非数值字符串 采用Fix函数进行取整可以将用户输入的实数类型数据转换为整数 使用一个Do…Loop循环对负数进行过滤并由用户选择是否继续输入 例8-4 Private Sub Form_Click Dim n As Integer x As Integer i As Integer sum As Integer nFixValInputBox请输入数据个数 舍去取整 Do Until n 0 If MsgBox输入错误需要重新输入吗 vbYesNovbYes Then nFixValInputBox请输入数据个数 Else Exit Sub 结束本事件过程 End If Loop 实现数据n的输入 例8-4 sum0 累加器sum清零 For i1 To n xIntRnd 100 sumsum x Print x If i Mod 100 Then Print 每行输出5个数据 Next i Print Print n 个数的平均值 sum / n End Sub 功能实现——求n个数的平均值 8.3 While…Wend语句 语句格式 While 循环条件 循环体 Wend 在窗体上输出1 2 3 4 5 6 7 8 9 10。
Dim i As Integer i1 While i