




已阅读5页,还剩63页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Visual Basic程序设计教程(第3版),第5章 循环结构程序设计,第5章 循环结构程序设计,5.1 循环结构程序设计的概念5.2 DoLoop语句5.3 For.Next语句5.4 列表框与组合框5.5 算法举例,5.1 循环结构程序设计的概念,循环是指在程序设计中, 从某处开始有规律地反复执行某一程序块的现象, 重复执行的程序块称为“循环体”。使用循环可以避免重复不必要的操作, 简化程序, 节约内存, 从而提高效率。 VB提供的设计循环结构的语句有:Do.Loop、While.Wend、For.Next、For Each.Next等。其中最常用的是Do.Loop和For.Next。 无论何种类型的循环结构, 其特点都是循环体执行与否及其执行次数多少都必须视其循环类型与条件而定, 且必须确保循环体的重复执行能在适当的时候得以终止。,5.2 DoLoop语句,5.2.1 前测型DoLoop循环 前测型DoLoop循环结构, 首先判断条件, 根据条件决定是否执行循环, 执行循环的最少次数为0。其流程图如图5-1所示。 其语法为Do While | Until 条件 语句序列1 Exit Do 语句序列2Loop,5.2 DoLoop语句,5.2.1 前测型DoLoop循环说明: 1) Do WhileLoop是(前测型)当型循环语句, 当条件为真(True)时执行循环体, 条件为假(False)时, 终止循环。 Do UntilLoop是(前测型)直到型循环语句, 条件为假时执行循环体, 直到条件为真时, 终止循环。 2)条件是条件表达式, 为循环的条件。其值为True或False。如果省略条件(Null), 则条件会被当作False。 3)语句序列是一条或多条命令(循环体), 它们将被重复当或直到条件为True。,5.2 DoLoop语句,5.2.1 前测型DoLoop循环说明: 4) 在DoLoop中可以在任何位置放置任意个数的Exit Do语句, 随时跳出DoLoop循环。 Exit Do通常用于条件判断之后, 例如IfThen, 在这种情况下, Exit Do语句将控制权转移到紧接在Loop命令之后的语句。 如果Exit Do使用在嵌套的DoLoop语句中, 则Exit Do会将控制权转移到Exit Do所在位置的外层循环。,5.2 DoLoop语句,5.2.1 前测型DoLoop循环【例5-1】求累加和1 + 2 + 3 + 100。 分析:采用累加的方法, 用变量intSum来存放累加的和(开始为0), 用变量n来存放“加数”(加到intSum中的数)。这里n又称为计数器, 从1开始到100为止。 根据以上分析画出流程图如图5-2所示。,5.2 DoLoop语句,5.2.1 前测型DoLoop循环【例5-1】求累加和1 + 2 + 3 + 100。 这里仅给出命令按钮的Click事件代码:Private Sub Command1_Click() Dim intSum As Integer, n As Integer intSum = 0: n = 1 Do While n 100 intSum = intSum + n n = n + 1 Loop Label2.Caption = 1+2+3+100 = & intSumEnd Sub,5.2 DoLoop语句,5.2.1 前测型DoLoop循环【例5-2】输入一个正整数, 利用“当型”循环判断是否素数。 分析:所谓“素数”是指除了1和该数本身, 不能被任何整数整除的数。判断一个自然数n(n3)是否素数, 只要依次用2作除数去除n, 若n不能被其中任何一个数整除, 则n即为素数。根据分析, 画出流程图如图5-4所示。,5.2 DoLoop语句,5.2.1 前测型DoLoop循环【例5-2】输入一个正整数, 利用“当型”循环判断是否素数。 窗体界面的设计参见图5-5。这里给出命令按钮Command1的Click事件代码:,5.2 DoLoop语句,5.2.1 前测型DoLoop循环【例5-2】输入一个正整数, 利用“当型”循环判断是否素数。 另外, 为了使用文本框得到焦点后, 文本立即被选中, 编写Text1的GotFocus事件代码如下:Private Sub Text1_GotFocus() Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text)End Sub,5.2 DoLoop语句,5.2.2 后测型DoLoop循环 后测型DoLoop循环结构, 首先执行循环体, 然后判断条件, 根据条件决定是否继续执行循环, 因此执行循环的最少次数为1。其流程图如图5-6所示。 其语法为:Do 语句序列1 Exit Do 语句序列2Loop While | Until 条件,5.2 DoLoop语句,5.2.2 后测型DoLoop循环 其语法为:Do 语句序列1 Exit Do 语句序列2Loop While | Until 条件 说明: 1) DoWhile Loop是(后测型)当型循环语句, 当条件为真(True)时继续执行循环体, 条件为假(False)时, 终止循环。DoUntil Loop是(后测型)直到型循环语句, 条件为假时继续执行循环体, 直到条件为真时, 终止循环。,5.2 DoLoop语句,5.2.2 后测型DoLoop循环 其语法为:Do 语句序列1 Exit Do 语句序列2Loop While | Until 条件 说明: 2) 条件是条件表达式, 为循环的条件。其值为True或False。如果省略条件(Null), 则条件会被当作False。 3) 语句序列是一条或多条命令(循环体), 它们将被重复当或直到条件为True。,5.2 DoLoop语句,5.2.2 后测型DoLoop循环 其语法为:Do 语句序列1 Exit Do 语句序列2Loop While | Until 条件 说明: 4) 在DoLoop中可以在任何位置放置任意个数的Exit Do语句, 随时跳出DoLoop循环。 Exit Do通常用于条件判断之后, 例如IfThen, 在这种情况下, Exit Do语句将控制权转移到紧接在Loop命令之后的语句。,5.2 DoLoop语句,5.2.2 后测型DoLoop循环【例5-3】输入有效数字的位数, 利用下述公式计算圆周率的近似值: 分析:首先找出公式中无穷乘积各项的规律:设第n项的分母为pn, 则第n+1项的分母为 。若设前n项乘积为Sn, 则前n项乘积为Sn+1 = 2Sn / pn+1。据此, 画出流程图如图5-7所示。,5.2 DoLoop语句,5.2.2 后测型DoLoop循环【例5-3】输入有效数字的位数, 利用下述公式计算圆周率的近似值: 1) 建立应用程序用户界面与设置对象属性, 如图5-8所示。,5.2 DoLoop语句,5.2.2 后测型DoLoop循环【例5-3】输入有效数字的位数, 利用下述公式计算圆周率的近似值: 2) 编写程序代码。 命令按钮Command1的Click事件代码:,5.2 DoLoop语句,5.2.2 后测型DoLoop循环【例5-3】输入有效数字的位数, 利用下述公式计算圆周率的近似值: 2) 编写程序代码。 文本框Text1的GotFocus事件代码:Private Sub Text1_GotFocus() Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text)End Sub,5.2 DoLoop语句,5.2.2 后测型DoLoop循环【例5-4】输入两个正整数, 求它们的最大公约数。 分析:求最大公约数可以用“辗转相除法”, 方法如下: 1) 以大数m作被除数, 小数n做除数, 相除后余数为r。 2) 若r0, 则mn, nr, 继续相除得到新的r。若仍有r0, 则重复此过程, 直到r=0为止。 3) 最后的n就是最大公约数。根据此分析画出流程图如图5-9所示。,5.2 DoLoop语句,5.2.2 后测型DoLoop循环【例5-4】输入两个正整数, 求它们的最大公约数。 窗体界面的设计如图5-10所示, 这里给出命令按钮的Click事件代码:,5.3 For.Next语句,在不知道循环内执行多少次语句时, 宜用DoLoop循环。若知道要执行的循环次数时, 则最好使用For.Next循环。 与DoLoop循环不同, For循环使用一个循环变量, 每重复一次循环之后, 循环变量的值就会自动增加或者减少。For循环的流程图如图5-11所示。,5.3 For.Next语句,其语法为:For循环变量=初值 To 终值 Step 步长 语句序列1 Exit For 语句序列2 Next 循环变量 说明: 1) 循环变量为必要参数, 被用作循环计数器的数值变量, 这个变量不能是数组元素。 2) 初值和终值都是必要参数, 如果没有指定步长, 则缺省值为1。,5.3 For.Next语句,其语法为:For循环变量=初值 To 终值 Step 步长 语句序列1 Exit For 语句序列2 Next 循环变量 说明: 3) 步长可以是正数或负数。步长参数值决定循环的执行情况:如果步长的值为正数, 则必须初值 = 终值。,5.3 For.Next语句,其语法为:For循环变量=初值 To 终值 Step 步长 语句序列1 Exit For 语句序列2 Next 循环变量 说明: 4) 如果省略Next语句中的循环变量, 将不影响循环的执行。但如果Next语句在它相对应的For语句之前出现, 则会产生错误。,5.3 For.Next语句,其语法为:For循环变量=初值 To 终值 Step 步长 语句序列1 Exit For 语句序列2 Next 循环变量 说明: 5) 在循环中改变循环变量的值, 将会使程序代码的阅读和调试变得困难。,5.3 For.Next语句,【例5-5】用For循环结构显示1000以内的所有能被37整除的自然数。 1) 窗体界面的设计与属性设置。,5.3 For.Next语句,【例5-5】用For循环结构显示1000以内的所有能被37整除的自然数。 2) 编写代码。编写命令按钮Command1的Click事件代码:说明:常量vbCrLf表示插入一个回车与换行符组合, 也可以直接用一个回车符加上换行符(Chr(13) & Chr(10))来产生一个行断点。,5.3 For.Next语句,【例5-6】求从1000到1100之间的所有素数。 分析:例5-2介绍了利用DoLoop循环判断素数的方法, 现在只需对10001100之间的各整数依次测试。在如图5-13所示的流程图中, 使用了双重For循环。,5.3 For.Next语句,【例5-6】求从1000到1100之间的所有素数。 窗体界面的设计参见图5-14, 这里给出命令按钮Command1的Click事件代码:,5.4 列表框与组合框,5.4.1 列表框1. 列表框的属性与方法 表5-1列出了常用的列表框属性。,5.4 列表框与组合框,5.4.1 列表框1. 列表框的属性与方法 表5-2列出了常用的列表框方法。,5.4 列表框与组合框,5.4.1 列表框2. 使用列表框显示数据【例5-7】将例5-5中的文本框改为列表框, 如图5-15所示。,5.4 列表框与组合框,5.4.1 列表框2. 使用列表框显示数据【例5-7】将例5-5中的文本框改为列表框, 如图5-15所示。 将窗体中的文本框换为列表框, 无需修改属性, 只需修改命令按钮的Click事件代码:,5.4 列表框与组合框,5.4.1 列表框2. 使用列表框显示数据【例5-8】“同构数”是指这样的整数:它恰好出现在其平方数的右端, 例如1和5就是这样的数。试找出19999之间的全部“同构数” 。,5.4 列表框与组合框,5.4.1 列表框2. 使用列表框显示数据【例5-8】“同构数”是指这样的整数:它恰好出现在其平方数的右端, 例如1和5就是这样的数。试找出19999之间的全部“同构数” 。 这里给出命令按钮的Click事件代码:,5.4 列表框与组合框,5.4.1 列表框2. 使用列表框显示数据【例5-9】小学生做加减法的算术练习程序。计算机连续地随机给出两位数的加减法算术题, 要求学生回答, 答对的打“”, 答错的打“”。将做过的题目存放在列表框中备查, 并随时给出答题的正确率。,5.4 列表框与组合框,5.4.1 列表框2. 使用列表框显示数据【例5-9】小学生做加减法的算术练习程序。 设计步骤如下: 1) 建立应用程序用户界面。,5.4 列表框与组合框,5.4.1 列表框2. 使用列表框显示数据【例5-9】小学生做加减法的算术练习程序。 设计步骤如下: 2) 设置对象属性, 见表5-3。其他属性的设置参见图5-18。,5.4 列表框与组合框,5.4.1 列表框2. 使用列表框显示数据【例5-9】小学生做加减法的算术练习程序。 3) 编写代码。 出题部分由窗体的激活(Activate)事件代码完成:,5.4 列表框与组合框,5.4.1 列表框2. 使用列表框显示数据【例5-9】小学生做加减法的算术练习程序。 3) 编写代码。 答题部分由文本框的按健(KeyPress)事件代码完成:,5.4 列表框与组合框,5.4.1 列表框2. 使用列表框显示数据【例5-9】小学生做加减法的算术练习程序。 3) 编写代码。 “关闭”按钮的Click事件代码:Private Sub Command1_Click() Unload MeEnd Sub,5.4 列表框与组合框,5.4.1 列表框3. 选择和移动数据【例5-10】利用循环结构和列表框控件, 设计的“选项移动”窗体。 所谓“选项移动”窗体是指由两个列表框和4个命令按钮所构成的界面, 在Windows程序中常见到此类窗口(如图5-19所示)。,5.4 列表框与组合框,5.4.1 列表框3. 选择和移动数据【例5-10】利用循环结构和列表框控件, 设计的“选项移动”窗体。 1) 建立应用程序用户界面与设置对象属性。界面的设计与属性的设置参见图5-18。其中列表框的属性设置参见表5-4。,5.4 列表框与组合框,5.4.1 列表框3. 选择和移动数据【例5-10】利用循环结构和列表框控件, 设计的“选项移动”窗体。 2) 编写事件代码。 编写窗体的读入(Load)事件代码:,5.4 列表框与组合框,5.4.1 列表框3. 选择和移动数据【例5-10】利用循环结构和列表框控件, 设计的“选项移动”窗体。 2) 编写事件代码。 编写命令按钮的Click事件代码:,5.4 列表框与组合框,5.4.1 列表框3. 选择和移动数据【例5-10】利用循环结构和列表框控件, 设计的“选项移动”窗体。 2) 编写事件代码。 编写命令按钮的Click事件代码:,5.4 列表框与组合框,5.4.1 列表框3. 选择和移动数据【例5-10】利用循环结构和列表框控件, 设计的“选项移动”窗体。 2) 编写事件代码。 编写命令按钮的Click事件代码:,5.4 列表框与组合框,5.4.1 列表框3. 选择和移动数据【例5-10】利用循环结构和列表框控件, 设计的“选项移动”窗体。 2) 编写事件代码。 编写命令按钮的Click事件代码:,5.4 列表框与组合框,5.4.2 组合框 有3种形式的组合框:下拉组合框(默认)、简单组合框和下拉列表框, 通过更改ComboBox控件的Style属性可选择所需要的形式。 Style属性为2 Dropdown List(下拉列表框):和列表框一样, 为用户提供了一些选项和信息的列表。 在列表框中, 任何时候都能看到多个选项, 而在下拉列表框中, 一般只能看到一个选项, 用户可以通过单击向下按钮来显示可滚动的下拉列表框。,5.4 列表框与组合框,5.4.2 组合框 有3种形式的组合框:下拉组合框(默认)、简单组合框和下拉列表框, 通过更改ComboBox控件的Style属性可选择所需要的形式。 Style属性为1 Simple Combo(简单组合框):将文本框和列表框简单地组合在一起, 上面为一个可供输入的文本框, 下面为一个普通的列表框。 Style属性为0 Dropdown Combo(下拉组合框):将文本框和下拉列表框组合在一起, 用户可以通过单击向下按钮来显示可滚动的选项列表, 还可以输入列表中所没有的新选项。,5.4 列表框与组合框,5.4.2 组合框1. 下拉列表框【例5-11】将例5-9算术练习中的列表框改为组合框(下拉列表框), 如图5-20所示。,5.4 列表框与组合框,5.4.2 组合框1. 下拉列表框【例5-11】将例5-9算术练习中的列表框改为组合框(下拉列表框), 如图5-20所示。 1) 建立应用程序用户界面与设置对象属性。在例5-9中将列表框改为组合框, 并修改其属性见表5-5。,5.4 列表框与组合框,5.4.2 组合框1. 下拉列表框【例5-11】将例5-9算术练习中的列表框改为组合框(下拉列表框), 如图5-20所示。 2) 编写程序代码 修改文本框Text1的按健(KeyPress)事件代码:,5.4 列表框与组合框,5.4.2 组合框1. 下拉列表框【例5-11】将例5-9算术练习中的列表框改为组合框(下拉列表框), 如图5-20所示。 2) 编写程序代码 编写命令按钮Command2的Click事件代码:其他代码同例5-8。,5.4 列表框与组合框,5.4.2 组合框2. 简单组合框【例5-12】“简易抽奖机”。在组合框中输入号码, 按“开始”按钮可以得到中奖的号码(如图5-21所示)。,5.4 列表框与组合框,5.4.2 组合框2. 简单组合框【例5-12】“简易抽奖机”。在组合框中输入号码, 按“开始”按钮可以得到中奖的号码(如图5-21所示)。 1) 建立应用程序用户界面与设置对象属性。 首先增加一个用作容器的框架Frame1, 选中Frame1, 在其中增加一个组合框Combo1、一个标签Label1和一个命令按钮Command1。 将Combo1的Style属性改为:1 Simple Combo, 其他属性的设置参见图5-22。,5.4 列表框与组合框,5.4.2 组合框2. 简单组合框【例5-12】“简易抽奖机”。在组合框中输入号码, 按“开始”按钮可以得到中奖的号码(如图5-21所示)。 2) 编写事件代码。 编写组合框Combo1的按健(KeyPress)事件代码:,5.4 列表框与组合框,5.4.2 组合框2. 简单组合框【例5-12】“简易抽奖机”。在组合框中输入号码, 按“开始”按钮可以得到中奖的号码(如图5-21所示)。 2) 编写事件代码。 编写命令按钮Command1的Click事件代码, 使之可以随机地抽取奖号:,5.4 列表框与组合框,5.4.2 组合框3. 下拉组合框【例5-13】在例5-12中使用下拉组合框, 可以更加节省空间。,5.4 列表框与组合框,5.4.2 组合框3. 下拉组合框【例5-13】在例5-12中使用下拉组合框, 可以更加节省空间。 1) 建立应用程序用户界面与设置对象属性。 首先增加一个用作容器的框架Frame1, 选中Frame1, 在其中增加一个组合框Combo1, 一个文本框Text1, 两个标签Label1、Label2, 一个命令按钮Command1和一个图像控件Image1。 组合框的属性取默认值, 其他属性的设置, 参见图5-23。,5.4 列表框与组合框,5.4.2 组合框3. 下拉组合框【例5-13】在例5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 开发测试实验室环境异常(温湿度)应急预案
- 幼儿园教师资格考试保教知识与能力试卷与参考答案2025年
- 公司内部拍照培训课件
- 2025年中小学生粮食节约知识竞赛备赛试题库150题(含答案)
- 2025年全国交通安全知识竞赛备赛试题库150题(含答案)
- 幼儿园小班教案小班综合美丽的蝴蝶
- 公司内训师培训课件
- 城市地下空间三维建模技术在智慧交通中的应用可行性研究报告
- 半导体芯片先进封装工艺在智能家电无线充电模块中的技术创新实践
- 地铁施工生产培训课件
- 投资协议书对赌协议范本
- 2025年1月浙江卷化学试题(解析版)
- 煤炭信息化知识培训总结课件
- 汽车销售培训课程
- 2025秋教科版(2024)小学科学二年级上册(全册)课时练习及答案(附目录)
- 2025天津地区国机研究院所属子公司财务总监招聘2人笔试参考题库附答案解析
- 2025年中国工商银行校园招聘考试题库历年考试真题及答案
- DBJ04-T 344-2025 海绵城市建设技术标准
- 职工养老保险政策讲解
- 肯德基产品讲解
- 国有企业财会监督体系构建的路径选择与机制创新
评论
0/150
提交评论