循环结构程序设计课件

上传人:痛*** 文档编号:241324750 上传时间:2024-06-18 格式:PPT 页数:49 大小:304KB
返回 下载 相关 举报
循环结构程序设计课件_第1页
第1页 / 共49页
循环结构程序设计课件_第2页
第2页 / 共49页
循环结构程序设计课件_第3页
第3页 / 共49页
点击查看更多>>
资源描述
中国石油大学(北京)计算机系Visual Basic程序设计程序设计 第第5章章 循环结构程序设计循环结构程序设计1第第5章章 循环结构程序设计循环结构程序设计5.1 循环结构程序设计的概念循环结构程序设计的概念5.2 DoLoop语句语句5.3 ForNext语句语句 5.4 列表框与组合框列表框与组合框5.5 算法举例算法举例2循环程序设计的概念循环程序设计的概念 ch5-5.1o循环是指在指定的条件下多次重复执行一循环是指在指定的条件下多次重复执行一组语句。被重复执行的一组语句称为组语句。被重复执行的一组语句称为循环循环体体oVB最常用的是最常用的是For.Next和和Do.Loop语句语句 3前测型前测型Do.Loop循环循环 ch5-5.2.1o格式:格式:Do While|Until 条件条件 循环体循环体 Loop Do While.Loop:当条件成立:当条件成立(为真为真)时,时,执行循环体;当条件不成立执行循环体;当条件不成立(为假时为假时),终止循,终止循环环 Do Until.Loop(直到型循环直到型循环):当条件不成:当条件不成立立(为假为假)时,执行循环体,直到条件成立时,执行循环体,直到条件成立(为真为真)时,终止循环时,终止循环4前测型前测型Do.Loop循环循环 ch5-5.2.1【例例5.1】求求 1到到n的和。的和。Do While i=n i=i+1 Sum=Sum+i Loop 5前测型前测型Do.Loop循环循环 ch5-5.2.1【例例5.2】求求 S12+22+1002Private Sub Form_Click()Dim n As Integer,s As Long n=1:s=0 Do While s=s+n*n n=n+1 Loop Print s=;sEnd Subn=100s=s+n*nn=n+1?6前测型前测型Do.Loop循环循环 ch5-5.2.1【例例5.35.3】用用Do While.LoopDo While.Loop循环计算循环计算1 1到到200200的奇数和。的奇数和。Private Sub Command1_Click()Dim Sum As Integer,i As Integer Sum=0 i=1 Do While i=200 Sum=Sum+i i=i+2 Loop Print 1+3+5+.+199=&SumEnd Subi=200Sum=Sum+ii=i+27前测型前测型Do.Loop循环循环 ch5-5.2.1【例例5.4】判断一个数是否是素数。判断一个数是否是素数。n=Val(Text1.Text):s=False:i=2 Do While i=n 0.5 And Not s If n Mod i=0 Then s=True Else i=i+1 End If Loop If Not s Then Label1.Caption=n&是素数!是素数!Else Label1.Caption=n&不是素数!不是素数!End If8后测型后测型Do.Loop循环循环 ch5-5.2.2o语句格式如下:语句格式如下:Do 循环体循环体 Loop While|Until条件条件o注意,本语句执行循环的最少次数为注意,本语句执行循环的最少次数为1,而前测型而前测型Do.Loop语句的最少次数为语句的最少次数为0(即一次都不执行循环即一次都不执行循环)9后测型后测型Do.Loop循环循环 ch5-5.2.2【例例5.5】输入两个正整数,求它们的最大输入两个正整数,求它们的最大公约数公约数o“辗转相除法辗转相除法”算法:求出算法:求出m/n余数余数p,若,若p0,n即为最大公约数;若即为最大公约数;若p非非0,则把原来的分母,则把原来的分母n作为新的分子作为新的分子m,把,把余数余数p作为新的分母作为新的分母n继续求解继续求解10后测型后测型Do.Loop循环循环 ch5-5.2.2Private Sub Command1_Click()m=Val(Text1.Text):n=Val(Text2.Text)Do p=m Mod n m=n n=p Loop While p 0 Text3.Text=m End Sub11实例精解实例精解1.假定有如下事件过程:假定有如下事件过程:Private Sub Form_Click()Dim x as integer,n as integerx=1n=0Do while x6Print num;num=num+2.4 LoopEnd Sub程序运行后,单击命令按钮,则窗体上显示的内容是程序运行后,单击命令按钮,则窗体上显示的内容是。(2003.9)A)1 3.4 5.8 B)1 3 5 C)1 4 7 D)无数据无数据输出输出13For.Next循环语句循环语句 ch5-5.3ForFor循环的语法格式如下:循环的语法格式如下:For 循环变量循环变量=初值初值 To 终值终值 Step 步长步长 循环体循环体Next 循环变量循环变量 14For.Next循环语句循环语句 ch5-5.3步步长长:默默认认值值为为1。若若步步长长为为正正数数,应应设设初初值值终值;终值;若若步步长长为为负负数数,应应设设初初值值终终值值,否否则循环体不会被执行。则循环体不会被执行。步步长长不不应应为为0,否否则则程程序序将将陷陷入入无无限限循环(死循环)。循环(死循环)。15For.Next循环语句循环语句 ch5-5.3【例例5.6】在窗体上显示在窗体上显示2至至10各偶数的平方数各偶数的平方数 Private Sub Form_Click()Dim k As Integer For k=2 To 10 Step 2 Print k*k Next kEnd Sub 16For.Next循环语句循环语句 ch5-5.3【例例5.7】用用For循环结构显示循环结构显示1000以内的以内的所有能被所有能被37整除的自然数整除的自然数Private Sub Command1_Click()Dim n As Integer,a As String For n=37 To 1000 Step 37 a=a&n&vbCrLf Next nEnd Sub17For.Next循环语句循环语句 ch5-5.3【例例5.8】求求S=1+2+3+8Private Sub Form_Click()s=0 For k=1 To 8 s=s+k Next k Print s=;sEnd Sub18For.Next循环语句循环语句 ch5-5.3【例例5.9】求T=8!=1238Private Sub Form_Click()t=?For c=1 To 8 t=t*c Next c Print T=;tEnd Subc=1 To 819For.Next循环语句循环语句 ch5-5.3【例例5.10】用用/41-1/3+1/5-1/7+级数求级数求的近似值的近似值 (取前5000项进行计算)Private Sub Form_Click()Dim pi As Single,c As Integer,s As Integer pi=0:s=1 For c=1 To 10000 Step 2 pi=pi+s/c s=-s Next c Print=;pi*4End Subc=1 To 10000 Step 220实例精解实例精解1.在窗体上画一个名称为在窗体上画一个名称为Command1的命令按钮的命令按钮,然后然后编写如下事件过程编写如下事件过程:Private Sub Command1_Click()For n=1 to 20If n Mod 3 0 then m=m+n3 Next nPrint nEnd Sub程序运行后程序运行后,单击命令按钮单击命令按钮,则窗体上显示的内容是则窗体上显示的内容是A)15 B)18 C)21 D)2421实例精解实例精解2.设有如下程序段设有如下程序段:x=2For i=1 to 10 Step 2x=x+iNext运行以上程序后运行以上程序后,x的值是的值是A)26 B)27 C)38 D)5722实例精解实例精解3.执行下面的程序段后执行下面的程序段后,变量变量S的值为的值为_.S=5For i=2.6 to 4.9 Step 0.6S=S+1 Next i923实例精解实例精解4.设有如下程序设有如下程序:Private Sub Command1_Click()Dim sum As Double,x As Doublesum=0n=0For i=1 to 5x=n/in=n+1sum=sum+xNextEnd Sub该程序通过该程序通过For循环计算一个表达式的值循环计算一个表达式的值,这个表达式是这个表达式是A)1+1/2+2/3+3/4+4/5 B)1+1/2+2/3+3/4C)1/2+2/3+3/4+4/5D)1+1/2+1/3+1/4+1/524多重循环多重循环o多重循环是指循环体内含有循环语句的循环多重循环是指循环体内含有循环语句的循环【例例5.12】多重循环程序示例多重循环程序示例 Private Sub Command1_Click()For i=1 To 3 外循环外循环 For j=5 To 7 内循环内循环 Print i,j Next j Next i End Sub25多重循环多重循环【例例5.135.13】打印打印“九九乘法表九九乘法表”。26多重循环多重循环Private Sub Form_Click()Dim strS As String,i As Integer,j As Integer Cls Print vbCr;Tab(41);九九乘法表九九乘法表 Print&String$(89,-)For i=1 To 9 外循环变量外循环变量i为乘法表的为乘法表的行行 For j=1 To i 内循环变量内循环变量j为乘法表的为乘法表的列列 strS=i&j&=&i*j Print Tab(j-1)*10+3);strS;Next j Print Next i Print&String$(89,-)End Sub27循环出口语句循环出口语句o用于提前退出循环用于提前退出循环 格式:格式:Exit For|Do 功能:直接从功能:直接从For循环或循环或Do循环中退出循环中退出28循环出口语句循环出口语句【例例】用用“辗转相除法辗转相除法”求两个自然数求两个自然数m m和和n n的最大公约数。的最大公约数。Do p=m Mod n If p=0 Then Exit Do End If m=n n=pLoop While p 0Print“最大公约数是最大公约数是”:n29循环出口语句循环出口语句【例例5.145.14】求求100100200200之间的素数。之间的素数。分分析析:本本题题的的求求解解可可用用双双重重循循环环实实现现,外外循循环环遍遍历历100100200200之之间间的的所所有有整整数数,内内循循环环判判断断各各数是否为素数。数是否为素数。30循环出口语句循环出口语句For n=100 To 200 外循环遍历外循环遍历100200所有整数所有整数 flag=True For i=2 To Int(Sqr(n)内循环内循环 If n Mod i=0 Then 若若n能被能被i整除,非素数整除,非素数 flag=False Exit For 退出内循环退出内循环 End If Next I If flag Then 若若 n 为素数,显示(每行为素数,显示(每行7个数)个数)Print n;j=j+1 If j Mod 7=0 Then Print End If Next31循环出口语句循环出口语句Private Sub Command1_Click()Dim m As Integer,n As Integer,r As Integer m=Val(Text1.Text)n=Val(Text2.Text)若数据超出有效范围,退出本过程若数据超出有效范围,退出本过程 If m=0 Or n=0 Then Exit Sub Do 求最大公约数求最大公约数 r=m Mod n m=n n=r Loop Until r=0 r=0时退出循环时退出循环 退出循环时退出循环时,m中存放的是最后的除数中存放的是最后的除数,即最大公约数即最大公约数 Label4.Caption=两数的最大公约数两数的最大公约数=&mEnd Sub32实例精解实例精解1.阅读下面的程序:阅读下面的程序:Private Sub Form_Click()Dim Check as boolean,Counter As IntegerCheck=TrueCounter=5DoDo While Counter20Counter=Counter+1If Counter=10 ThenCheck=FalseExit DoEnd IfLoopLoop Until Check=FalsePrint CounterEnd Sub程序运行后,单击窗体,输出结果是程序运行后,单击窗体,输出结果是。(。(2005.4)1033列表框列表框 ch5-5.4.1o列表框列表框(ListBox)用于列出可供用户选择用于列出可供用户选择的项目列表,用户可从中选择一个或多个的项目列表,用户可从中选择一个或多个选项。选项。34列表框常用属性列表框常用属性 ch5-5.4.11.常用属性常用属性 (1)List属性:该属性是一个字符型数组属性:该属性是一个字符型数组,用于存放列表框的表项数组的下标从用于存放列表框的表项数组的下标从0开开始始如图如图:List1.List(0)的值为的值为“教授教授”List1.List(1)的值为的值为“副教授副教授”35列表框常用属性列表框常用属性 ch5-5.4.1o列表框中的项目可以在设计状态下通过属列表框中的项目可以在设计状态下通过属性窗口设定,性窗口设定,一个项目为一行,且以组合一个项目为一行,且以组合键键Ctrl回车进行分行回车进行分行36列表框常用属性列表框常用属性 ch5-5.4.1(2)ListCount属性:返回列表框中表项的数属性:返回列表框中表项的数(3)ListIndex属性:返回已选定表项的顺序号属性:返回已选定表项的顺序号(索引索引)。若未选定任何项,则若未选定任何项,则ListIndex的值为的值为-1(4)Text属性:存放当前选定表项的文本内容属性:存放当前选定表项的文本内容(5)Selected属性:逻辑值,表示列表框中某一表项属性:逻辑值,表示列表框中某一表项是否被选中是否被选中 列表框名列表框名.Selected(Index)=True|False(6)Sorted属性:设置列表框中各表项在运行时是否属性:设置列表框中各表项在运行时是否按字母顺序排列按字母顺序排列 (7)MultiSelect属性:设置是否允许同时选择多个表属性:设置是否允许同时选择多个表项项37列表框常用属性列表框常用属性 ch5-5.4.1例例如如,将将列列表表框框List1List1中中的的第第3 3项项复复制制到到文文本本框框Text1Text1中:中:Text1.Text=List1.List(2)例如,以下代码可以显示出所有被选择的项目:例如,以下代码可以显示出所有被选择的项目:For i=0 To List1.ListCount 1 If List1.Selected(i)=True Then Print List1.List(i)End IfNext I38列表框常用属性列表框常用属性 ch5-5.4.1(8)Style属性属性 确定列表框的样式。取值为确定列表框的样式。取值为0(默认值默认值)和和1,如下左图所示。如下左图所示。(9)Columns属性属性 使用使用Columns属性可以创建多列列表框。属性可以创建多列列表框。如下右图所示。如下右图所示。39列表框事件与方法列表框事件与方法 ch5-5.4.12.事件事件n可接收可接收Click、DblClick等事件等事件3.方法方法n(1)AddItem方法:用于把一个列表项加方法:用于把一个列表项加入列表框入列表框o格式:对象.AddItem 列表项,索引o举例:List1.AddItem 海南省,28n(2)Clear和和RemoveItem方法:用于删方法:用于删除列表项除列表项 40列表框方法列表框方法 ch5-5.4.1 列表框对象列表框对象.RemoveItem 索引号索引号 列表框对象列表框对象.Clear41列表框举例列表框举例 ch5-5.4.1【例例5.15】使用列表框显示城市名称,供使用列表框显示城市名称,供用户选择,当单击用户选择,当单击“确定确定”按钮时,显示按钮时,显示所选择的城市名称。当双击列表框中的项所选择的城市名称。当双击列表框中的项目时,则直接显示所选择的城市名称。目时,则直接显示所选择的城市名称。42列表框举例列表框举例 ch5-5.4.1Private Sub cmdOk_Click()If List1.ListIndex -1 Then Label1.Caption=List1.List(List1.ListIndex)Else Label1.Caption=End IfEnd Sub双击列表框中的项目,直接显示所选城市名称双击列表框中的项目,直接显示所选城市名称Private Sub List1_DblClick()Label1.Caption=List1.List(List1.ListIndex)End Sub43列表框举例列表框举例 ch5-5.4.1o【例例5.16】程序运行结果如下图。程序运行结果如下图。44列表框举例列表框举例 ch5-5.4.1【例例5.17】对列表框进行项目添加、修改和删除对列表框进行项目添加、修改和删除操作。操作。45组合框组合框 ch5-5.4.2o组合框(组合框(ComboBoxComboBox)控件控件,用户既可输入用户既可输入文本内容,也可从列表中选择项目文本内容,也可从列表中选择项目.o组合框的组合框的StyleStyle属性。属性。nStyleStyle0 0时,称为下拉式组合框(可编辑输时,称为下拉式组合框(可编辑输入,可选择项目);入,可选择项目);nStyleStyle1 1时,称为简单组合框(可编辑输入,时,称为简单组合框(可编辑输入,可选择项目);可选择项目);nStyleStyle2 2时,称为下拉式列表框(不可输入,时,称为下拉式列表框(不可输入,只可选择项目)。只可选择项目)。46组合框组合框 ch5-5.4.247组合框组合框 ch5-5.4.2o组合框的主要属性有组合框的主要属性有Text、List、ListIndex、ListCount和和Sorted等,等,o主要方法有主要方法有AddItem、RemoveItem和和Clear。o组合框的主要事件是组合框的主要事件是Click事件。当事件。当Style1时,还支持时,还支持DblClick事件。事件。48组合框举例组合框举例 ch5-5.4.2【例例5.18】进行项目添加、修改和删除操作。进行项目添加、修改和删除操作。49
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!