【VB开源代码栏目提醒】:网学会员为广大网友收集整理了,VB06(在程序中使用循环结构) - 编程语言,希望对大家有所帮助!
师生共勉。
师生共勉大部分人都是用自己的早年造成了晚年的悲哀。
6.1问题引入与
问题分析6.2 For循环结构语法格式6.3 For循环结构的应用6.4 相关知识:Exit For语句6.5 相关知识:Inputbox函数的复杂应用6.6 For循环结构在
VB案例中的应用6.7 For循环结构的应用6.8 Do While 循环结构6.9 Do While 循环结构语法格式6.10 相关知识:Do Until6.11 Do While循环的应用6.12 课堂实训与课后
作业师生共勉。
师生共勉大部分人都是用自己的早年造成了晚年的悲哀。
6.1 在上一章中引入了数组后使变量的声明得以简化但对变量的赋值仍然很繁琐。
将一章中的赋值语句中的下标用变量i并将赋值语句都改为用InputBox函数给变量赋值则不难发现所有的赋值语句中其实是同一组语句的重复如果要输入更多的员工信息则该语句组将要重复更多次。
对于这种重复的语句的处理Visual Basic6.0 中提供了一种专门的语句结构——循环结构使用循环结构可使
程序中的重复语句“折叠”起来。
修改主界面修改主界面对前面章节中设计的主界面修改如下即增加一个“数据输入”按钮并将各浏览按钮的标题改”第一个”、”下一个”、”上一个”和”最后一个”.通过单击“数据输入”按钮依次弹出输入框由用户输入员工的工资信息。
For循环引例1For循环引例1不用循环结构不用循环结构:Print 1Print 2Print 3Print 4Print 5如果要显示更多的数则需要更多的语句在屏幕上显示5个数在屏幕上显示5个数用循环结构的语句用循环结构:For i 1 to 5Print iNext I如果要显示更多的数只需将循环终值5改为所需要的数即可不需要增加更多的语句6.2 For流程图如图所示For 循环变量 初值To 终值Step 步长Next For 循环变量 初值To 终值Step 步长Next 循环变量For1. 循环变量赋初值1. 循环变量赋初值2. 判断循环变量是否在初值与终值的范围内2. 判断循环变量是否在初值与终值的范围内3. 若第2步成立则执行循环体循环变量自动增加3. 若第2步成立则执行循环体循环变量自动增加一个步长然后再返回到第2步4. 若第2步不成立则结束循环跳转到循环结构下4. 若第2步不成立则结束循环跳转到循环结构下面的语句.求123…100的和求123…100的和分析每一步的运算均可表示为分析通过分解不难发现每一步的结果总是等于上一步的结果加上该步的序号如果用变量表示引入两个变量s存放每一步的求和结果i存放每一步的序号则每一步的运算均可表示为将i作为循环变量则将i作为循环变量则循环结构可写为For i 1 to 100Next iFor i 1 to 100s s iNext i引例3
设计一个摸拟考生登录的界面引例3设计一个摸拟考生登录的界面准考证所对应的姓名与机器号、假设赋固定的值分析1.将四个考生的数据预先存入变量中当考生输入准考证号时自动在所有数据中
搜索该准考证所对应的姓名与机器号并显示一张对应的图片假设图片文件分别为1.jpg、2.jpg、3.jpg、4.jpg。
2.首先声明3个数组zkz4xm4jqh43.在Form_load中对数组赋值假设赋固定的值Private Sub txt_Num_ChangeFor i 1 To 4If txt_Num.Text m_ArrNumi Thenlbl_Name.Caption m_ArrNameilbl_Mnum.Caption m_ArrMnumiImage1.Picture LoadPictureApp.Path “” i _ .jpgExit ForElselbl_Name.Caption lbl_Mnum.Caption Image1.Picture LoadPictureEnd IfNext iEnd SubPrivate Sub txt_Num_ChangeFor i 1 To 4If txt_Num.Text m_ArrNumi Thenlbl_Name.Caption m_ArrNameilbl_Mnum.Caption m_ArrMnumiImage1.Picture LoadPictureApp.Path “” i _ .jpgExit ForElselbl_Name.Caption lbl_Mnum.Caption Image1.Picture LoadPictureEnd IfNext iEnd Sub此循环的作用是将用户在文框中输入的内容与四个准考证变量逐个比较相同的就退出循环此循环的作用是将用户在文框中输入的内容与四个准考证变量逐个比较一旦发现相同的就退出循环在准考证文本框的Change事件中编写如下
代码在准考证文本框的Change事件中编写如下
代码6.4 Exit For 用法用法功能功能循环的循环体中的任何地方??可在For循环的循环体中的任何地方??强行退出循环结构而不管循环变量的值是否超出循环范围。
–是循环结构的一个非正常出口一般不提倡使用也可对循环变量强行赋超出范围的值来实现强行退出如本例中可用i5来替代此语句。
但习惯上人们更愿意使用该语句。
6.5 : InputboxInputboxtitledefault…弹出一个带提示信息的输入框也可带指定的标题缺省值等。
格式格式功能功能形式在循环结构中为了使输入框上的提示信息动态地随循环次数变量通常要对参数“Prompt”用包含循环变量的表达式来表示如弹出的提示框中显示“请输入第i个数”i随着循环次数变化则应写成如下的形式数据输入”0Inputbox“请输入第”i“个数””数据输入”0在“数据输入”按钮中编写如下
代码Private Sub cmd_Input_ClickFor i 1 To 10m_strArrNameiInputBox请输入第 Stri 个员工姓名m_strArrNumiInputBox请输入第 Stri 个员工编号m_intArrWageiValInputBox请输入第 Stri 个员工工资m_intArrPrziValInputBox请输入第 Stri 个员工奖金m_intArrSudiValInputBox请输入第 Stri 个员工各种补助NextEnd Sub在“数据输入”按钮中编写如下
代码Private Sub cmd_Input_ClickFor i 1 To 10m_strArrNameiInputBox请输入第 Stri 个员工姓名m_strArrNumiInputBox请输入第 Stri 个员工编号m_intArrWageiValInputBox请输入第 Stri 个员工工资m_intArrPrziValInputBox请输入第 Stri 个员工奖金m_intArrSudiValInputBox请输入第 Stri 个员工各种补助NextEnd Sub句即可完成??在上一章中变量的定义的基础上将数组的下标下界改为10??将for 循环与inputbox函数结合起来实现
VB案例中的数据由用户输入而不再是只浏览固定的数据。
仅由如下的语句即可完成10组数据的输入。
修改
VB案例中浏览按钮的
代码修改
VB案例中浏览按钮的
代码为了由四个按钮实现浏览任意多组数据除“第一个”和“最后一”按钮用于浏览固定某一组数据外“上一个”、“下一个”按钮则用于浏览中间所有组的数据而不是固定某一组数据。
如“下一个”按钮总是浏览当前数据的后一组若当前组数据的序号为i则i1表示其后一组的序号即ii1。
反之“上一个”按钮浏览的某组数据可用ii-1表示。
改写“浏览”按钮的
代码改写“浏览”按钮的
代码修改
VB案例中浏览按钮的
代码修改
VB案例中浏览按钮的
代码在“下一条”按钮在“下一条”按钮中
代码可为注这里的选择结构用于防止已达到最后一条时再点击此按钮可能产生的错误Private Sub cmd_Next_ClickIf i 10 Theni i 1 ElseMsgBox 已是最后一条了End If……End SubPrivate Sub cmd_Next_ClickIf i 10 Theni i 1 ElseMsgBox 已是最后一条了End If……End Sub修改
VB案例中浏览按钮的
代码修改
VB案例中浏览按钮的
代码注这里的选择结构用于防止已达到第一条时再点击此按钮可能产生的错误在“上一条”按钮在“上一条”按钮中
代码可为Private Sub cmd_Next_ClickIf i 1 Theni i -1 ElseMsgBox “已是第一条了End If……End SubPrivate Sub cmd_Next_ClickIf i 1 Theni i -1 ElseMsgBox “已是第一条了End If……End Sub6.7 For说明txt_result为界面上文本框名称求1×2×3×…×10的值。
求1×2×3×…×10的值。
中的
代码可写为分析这是累乘问题与累加的思想一样不同的是存放积的变量初值必须赋为1否则得不到正确结果。
在“计算”按钮中的
代码可写为t 1 For i 1 to 10Next itxt_result.Text tt 1 For i 1 to 10ttiNext itxt_result.Text tFor i 1 to 30产生随机数Next iFor i 1 to 30m_aiintrnd10010 ??产生随机数Next iFor i1 to 30Next i For i1 to 30if m_ai mod 3 0 thenk k1 ??统计被3整除的数end ifNext i For i1 to 30Next iFor i1 to 30if m_ai10 5 thenll1 ??统计十位为5的数end ifNext iFor循环的应用课堂实训2For循环的应用课堂实训2题目要求题目要求产生30个两位数的随机数分别统计其中能被3整除的数和十位上为5的数的个数结果。
分别编写如下
代码1.定义数组dim m_a30用于存放30个随机数2.产生二位的随机数intrnd100103.能被3整除的数满足的条件为m_ai mod 304.十位上为5的数满足的条件为m_ai1055.必须设两个变量存放统计结果。
分别编写如下
代码要点分析要点分析??题目要求要点分析For i1 to 20if m_ai mod 0 thenk k1 ??统计偶数的个数elsel l1 ??统计奇数的个数end ifNext i For循环的应用课堂实训4For循环的应用课堂实训4题目要求题目要求产生20个两位数的随机数分别统计其中奇数与偶数的个数1.数组定义与产生随机数与上题相同2.奇、偶数满足的条件分别为m_ai mod 2的值为1、03.定义两个变量分别存放奇数与偶数的个数。
4.
代码编写产生随机数与上题相同只是循环的终值改为30要点分析要点分析??题目要求要点分析a_max a1:a_min a1For i2 to 10if m_ai a_max thena_max m_ai ??将较大的数组元素赋给变量end if if m_ai