可视化程序设计第5章 循环结构程序设计.ppt
《可视化程序设计第5章 循环结构程序设计.ppt》由会员分享,可在线阅读,更多相关《可视化程序设计第5章 循环结构程序设计.ppt(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第5章 循环结构程序设计5.1 5.1 循环结构程序设计的概念循环结构程序设计的概念循环结构程序设计的概念循环结构程序设计的概念通常循环结构有通常循环结构有“当型循环当型循环”(先判断条件,后执行循环)和(先判断条件,后执行循环)和“直到型循环直到型循环”(先执行循环,再判断条件)。(先执行循环,再判断条件)。在在Visual Basic程序设计中,实现循环结构的语句主要有下列程序设计中,实现循环结构的语句主要有下列4种:种:DoLoop语句语句 ForNext语句语句 WhileWend语句。语句。For each Next语句语句 5.25.2 DoLoop DoLoop语句语句语句语句5
2、.2.1 前测型前测型DoLoop循环循环(先判断先判断,后执行后执行)其语法为其语法为Do While|Until 条件条件 语句列语句列1 Exit Do 语句列语句列2LoopDo WhileLoop是是(前测型前测型)当型循环语句当型循环语句Do UntilLoop是(前测型)直到型循环语句是(前测型)直到型循环语句说明:说明:(1)当使用)当使用While构成循环时,当条件为构成循环时,当条件为“真真”,则反复执行循环体,当条件为,则反复执行循环体,当条件为“假假”,则退出循环。,则退出循环。(2)当使用)当使用Until 构成循环时,当条件为构成循环时,当条件为“假假”,则反复执行
3、循环体,直到条件成立,即为,则反复执行循环体,直到条件成立,即为“真真”时,时,则退出循环。则退出循环。(3)在循环体内一般应有一个专门用来改变条件表达式)在循环体内一般应有一个专门用来改变条件表达式中变量的语句,以使随着循环的执行,条件趋于不成立中变量的语句,以使随着循环的执行,条件趋于不成立(或成立),最后达到退出循环。(或成立),最后达到退出循环。(4)语句)语句Exit Do的作用是退出它所在的循环结构,它只的作用是退出它所在的循环结构,它只能用在能用在DO/Loop结构中,并且常常是同选择结构一起出结构中,并且常常是同选择结构一起出现在循环结构中,用来实现当满足某一条件时提前退出现在
4、循环结构中,用来实现当满足某一条件时提前退出循环。循环。设计步骤如下:设计步骤如下:窗体界面的设计参见前面章节,这里仅给出命令按钮的窗体界面的设计参见前面章节,这里仅给出命令按钮的Click事件代码:事件代码:Private Sub Command1_Click()Dim s As Integer,n As Integer s=0:n=1 Do While n 100 s=s+n n=n+1 Loop Label2.Caption=1+2+3+100=&sEnd Sub【例例5-2】输入一个正整数,利用输入一个正整数,利用“当型当型”循环判断是否素数。循环判断是否素数。设计步骤如下:设计步骤如
5、下:窗体界面的设计参见前面章节,这里给出命令按钮的窗体界面的设计参见前面章节,这里给出命令按钮的Click事件代码:事件代码:Private Sub Command1_Click()Dim n As Long Select Case Val(Text1.Text)Case Is 2147483647 MsgBox 此数太大此数太大!,vbInformation+vbOKOnly,注意注意 Case Else n=Val(Text1.Text)s=0:i=2 Do While i=Sqr(n)And s=0 If n Mod i=0 Then s=1 Else i=i+1 End If Loop
6、 If s=0 Then a=是一个素数是一个素数 Else a=不是素数不是素数 End If Label1.Caption=Str(n)&a End Select Text1.SetFocusEnd Sub 另另外外,为为了了使使用用文文本本框框得得到到焦焦点点后后,文文本本立立即即被被选选中中,编编写写Text1的的GotFocus事件代码如下:事件代码如下:Private Sub Text1_GotFocus()Text1.SelStart=0 Text1.SelLength=Len(Text1.Text)End Sub5.2.2 后测型后测型DoLoop循环循环(先执行先执行,后判断
7、后判断)其语法为其语法为Do 语句列语句列1 Exit Do 语句列语句列2Loop While|Until 条件条件【例例5-3】输输入入有有效效数数字字的的位位数数,利利用用下下述述公公式式计计算算圆圆周周率率的的近似值近似值:设计步骤如下:设计步骤如下:(1)建立应用程序用户界面与设置对象属性。建立应用程序用户界面与设置对象属性。(2)编写程序代码。编写程序代码。根据流程图,可以写出命令按钮根据流程图,可以写出命令按钮Command1的的Click事件代码为事件代码为Private Sub Command1_Click()Dim m As Integer m=Val(Text1.Text
8、)p=0#:s=2#:e=0.1 m Do t=s:p=Sqr(2+p):s=s*2/p Loop Until Abs(t s)0.1 m f=String(m 1,#)Text2.Text=Format(s,0.&f)Text1.SetFocusEnd Sub文本框文本框Text1的的GotFocus事件代码:事件代码:Private Sub Text1_GotFocus()Text1.SelStart=0 Text1.SelLength=Len(Text1.Text)End Sub【例例5-4】输入两个正整数,求它们的最大公约数。输入两个正整数,求它们的最大公约数。设计步骤如下。设计步骤如
9、下。窗体界面的设计如图窗体界面的设计如图5-10所示,这里给出命令按钮的所示,这里给出命令按钮的Click事件代码:事件代码:Private Sub Command1_Click()m=Val(Text1.Text)n=Val(Text2.Text)If n*m=0 Then MsgBox 两数都不能为两数都不能为0!Exit Sub End If If m n Then t=m:m=n:n=t End If Do r=m Mod n m=n n=r Loop While r 0 Text3.Text=mEnd Sub5.3 For.Next语句语句 其语法为其语法为:For循循环环变变量量=
10、初初值值To终终值值Step步步长长 语句列语句列1 Exit For 语句列语句列2 Next 循环变量循环变量【例例5-5】利利用用For循循环环结结构构显显示示1000以以内内的的所所有有能能被被37整整除除的的自自然然数数(如图(如图5-13所示)。所示)。设计步骤如下:设计步骤如下:(1)窗体界面的设计与属性设置。窗体界面的设计与属性设置。(2)编写代码。编写代码。0 初值初值终值终值 =1 时时,可省可省略略终值终值=0 死循环死循环 步长步长编写命令按钮的编写命令按钮的Click事件代码:事件代码:Private Sub Command1_Click()a=For n=1 To
11、1000 If n Mod 37=0 Then a=a&Str(n)&vbCrLf End If Next Text1.Text=aEnd Sub【例例5-6】求从求从1000到到1100之间的所有素数。之间的所有素数。窗体界面的设计参见图窗体界面的设计参见图5-15,这里给出命令按钮的,这里给出命令按钮的Click事件代码:事件代码:Private Sub Command1_Click()a=For n=1001 To 1100 Step 2 s=0 For i=2 To Int(Sqr(n)If n Mod i=0 Then s=1 Exit For End If Next If s=0
12、Then a=a&Str(n)&vbCrLf Next Text1.Text=aEnd Sub5.4 列表框与组合框列表框与组合框一、用途一、用途 列表框控件(列表框控件(ListBox)用于显示项目列表,用户可从中)用于显示项目列表,用户可从中选择一个或多个项目。如果项目总数超过了可显示的项目数,选择一个或多个项目。如果项目总数超过了可显示的项目数,VB会自动加上滚动条。会自动加上滚动条。列表框有两种风格:标准和复选列表框。通过它的列表框有两种风格:标准和复选列表框。通过它的Style属性来设置。如下图:属性来设置。如下图:组合框控件(组合框控件(ComboBox)将文本框和列表框的功能结合
13、)将文本框和列表框的功能结合在一起,用户可以在列表中选择某项(只能选取一项)。在一起,用户可以在列表中选择某项(只能选取一项)。或在编辑区域中直接输入文本内容来选定项目。组合框共或在编辑区域中直接输入文本内容来选定项目。组合框共三种风格:下拉式组合框、简单组合框和下拉式列表框三种风格:下拉式组合框、简单组合框和下拉式列表框(见下图)。(见下图)。二、主要属性二、主要属性1Style属性属性 该值用来指示控件的显示类型和行为。在该值用来指示控件的显示类型和行为。在运行时运行时是只读的。是只读的。对于列表框控件或组合框控件都有对于列表框控件或组合框控件都有Style属性,但它们的含属性,但它们的含
14、义是不同的义是不同的2List、ListCount和和ListIndex属性属性 List:字符型数组,存放列表框的项目数据,下标是从字符型数组,存放列表框的项目数据,下标是从0开始的。开始的。例如:例如:List(0)表示第一项(表示第一项(Listindex=0)的内容)的内容 列表框项目可在设计模式下一项一项输入。列表框项目可在设计模式下一项一项输入。ListIndex:为整型值,选中的项目的序号,如果列表框:为整型值,选中的项目的序号,如果列表框可多选,则为最后一次选中项目的序号,可多选,则为最后一次选中项目的序号,没有项目选中没有项目选中时为时为-1。ListCount:为整型值,表
15、示项目的数量,:为整型值,表示项目的数量,ListCount-1是是最后一项的下标。最后一项的下标。3MultiSelect属性属性 用于指示是否能够在列表框控件中进行复选以及如何进行复用于指示是否能够在列表框控件中进行复选以及如何进行复选,在运行时是只读的。注意,组合框控件无此属性。选,在运行时是只读的。注意,组合框控件无此属性。MultiSelect 属性设置值及含义属性设置值及含义设置值含 义0(缺省值)不允许复选1简单复选。鼠标单击或按下空格键在列表中选中或取消选中项。箭头键移动焦点2扩展复选。按下 SHIFT 并单击鼠标将在以前选中项的基础上扩展选择到当前选中项。按下 CTRL 并单
16、击鼠标来在列表中选中或取消选中项4Selected属性属性 该属性返回或设置列表框控件中的一个项目的选择状态。该属性返回或设置列表框控件中的一个项目的选择状态。该属性是一个逻辑类型的数组,数组元素个数与列表框中该属性是一个逻辑类型的数组,数组元素个数与列表框中的项目数相同,其下标的变化范围与的项目数相同,其下标的变化范围与List属性相同。属性相同。例如:例如:List1.Selected(0)=True表示列表框表示列表框List1的第一的第一个项目被选中,此时个项目被选中,此时ListIndex的值设置为的值设置为0。Selected属性属性在在设计时设计时是不可用的,即无法在属性窗口中设
17、置属性值。是不可用的,即无法在属性窗口中设置属性值。5Sorted属性属性 返回一个逻辑值,当返回一个逻辑值,当Sorted属性为属性为True时列表框控件或时列表框控件或组合框控件的项目自动按字母表顺序(升序)排序,为组合框控件的项目自动按字母表顺序(升序)排序,为False时项目按加入的先后顺序排列显示。该属性只能在设时项目按加入的先后顺序排列显示。该属性只能在设计时设置,不能在程序代码中设置。计时设置,不能在程序代码中设置。6Text属性属性 对于组合框:(对于组合框:(Combo1)下拉式组合框与简单组合框(下拉式组合框与简单组合框(Style=0和和1):):Text属性返回编辑区域
18、中的文本。属性返回编辑区域中的文本。下拉列表框,下拉列表框,Text属性的返回当前被选中的项,值总与属性的返回当前被选中的项,值总与combo1.List(combo1.ListIndex)的值相同。)的值相同。对于列表框对于列表框:(:(List1)Text属性选中的文本,如果列表框可多选,则为最后一次属性选中的文本,如果列表框可多选,则为最后一次选中项目。选中项目。Text属性值总与属性值总与List1.List(List1.ListIndex)的值相同。的值相同。列表框、组合框各主要属性的值:列表框、组合框各主要属性的值:List1.List(List1.ListIndex)=“abc”
19、ListCount=6 ListIndex=3 (下标从0开始的)Selected(3)=True,其余为False。Sorted=False,没有排序。Text=“abc”,Combo1.List(Combo1.ListIndex)=“abc”3 方法方法1AddItem方法方法 用于将项目添加到列表框控件或组合框控件。语法格式:用于将项目添加到列表框控件或组合框控件。语法格式:对象名对象名.AddItem item,index 其中:其中:item:为字符串表达式,表示要加入的项目。为字符串表达式,表示要加入的项目。Index:决定新增项目的位置,缺省,则添加在最后。决定新增项目的位置,缺
20、省,则添加在最后。2RemoveItem方法方法 用于从列表框控件或组合框控件中删除一项。用于从列表框控件或组合框控件中删除一项。语法格式:语法格式:对象名对象名.RemoveItem index 对对index参数的规定同参数的规定同AddItem方法。方法。3Clear方法方法 用于清除列表框控件或组合框控件中的所有项目。语法格用于清除列表框控件或组合框控件中的所有项目。语法格式:式:对象名对象名.Clear 例如,删除列表框(例如,删除列表框(List1)中所有项目,可使用:)中所有项目,可使用:List1.Clear4、事件、事件(1)Click事件事件 当单击某一列表项目时,将触发列
21、表框与组合框控件的当单击某一列表项目时,将触发列表框与组合框控件的Click事件。该事件发生时系统会自动改变列表框与组合事件。该事件发生时系统会自动改变列表框与组合框控件的框控件的ListIndex、Selected、Text等属性,无需另行编等属性,无需另行编写代码。写代码。(2)DblClick事件事件 当双击某一列表项目时,将触发列表框与简单组合框控当双击某一列表项目时,将触发列表框与简单组合框控件的件的DblClick事件。事件。(3)Change事件(列表框没有此事件)事件(列表框没有此事件)当用户通过键盘输入改变下拉式组合框或简单组合框控当用户通过键盘输入改变下拉式组合框或简单组合
22、框控件的文本框部分的正文,或者通过代码改变了件的文本框部分的正文,或者通过代码改变了Text属性的属性的设置时,将触发其设置时,将触发其Change事件。事件。【例例5-7】将例将例5-6中的文本框改为列表框(如图中的文本框改为列表框(如图5-16所示)。所示)。将窗体中的文本框换为列表框,无需修改列表框的属性,只需修改命令按将窗体中的文本框换为列表框,无需修改列表框的属性,只需修改命令按钮的钮的Click事件代码:事件代码:Private Sub Command1_Click()List1.Clear For n=1001 To 1100 Step 2 s=0 For i=2 To Int(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可视化程序设计第5章 循环结构程序设计 可视化 程序设计 循环 结构
限制150内