第4章 循环结构程序设计(二)_第1页
第4章 循环结构程序设计(二)_第2页
第4章 循环结构程序设计(二)_第3页
第4章 循环结构程序设计(二)_第4页
第4章 循环结构程序设计(二)_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第4章 循环结构(二)4.1.14.1.1 ForForNextNext 循环 格式:格式:ForFor ToTo StepStep 语句块语句块 Exit ForExit For 语句块语句块NextNext T T 循循环环变变量量终终值值 语语句句块块 语语句句块块 循循环环变变量量=循循环环变变量量+步步长长 F 循循环环变变量量=初初值值 有有 Exit For F Next 的的下下一一语语句句 4.1.24.1.2 WhileWhileWendWend循环格式:格式:While While 条件条件 循环体循环体WendWend循环初始状态循环条件循环体 TF4形式形式2:DoD

2、o 语句块语句块 Exit DoExit Do 语句块语句块Loop While|Until 形式形式1: Do Do While|UntilWhile|Until 语句块语句块 Exit Do Exit Do 语句块语句块LoopLoop F T 语语 句句 块块 语语 句句 块块 D o W h il e L oo p 条条 件件 有有 E x it D o F T T F 语语 句句 块块 语语 句句 块块 表表 达达 式式 列列 表表1 D o L oo p W h il e 有有 E x it D o F T 引例 密码验证ss=“111”Form1.HideMsgBoxForm1.

3、ShowMsgBox:2TFss=“111”MsgBoxForm1.ShowMsgBox:1TFss=“111”Form1.HideMsgBoxForm1.ShowMsgBox:2TFss=“111”MsgBoxForm1.ShowMsgBox:1TFss=“111”MsgBoxForm1.ShowMsgBox:0TFForm1.Hidess=“111”MsgBoxForm1.ShowMsgBox:2TFForm1.Hidess=“111”MsgBoxForm1.ShowMsgBox:2TFi=3i=1i=i+1ss=“111”Form1.HideMsgBoxForm1.ShowTFss=“1

4、11”MsgBoxForm1.ShowMsgBox:0TFMsgBox:2ss=“111”MsgBoxForm1.ShowMsgBox:1TF实例41 累加Private Sub Command1_Click()Private Sub Command1_Click()Dim Dim i i As Integer, sum As Long, n As Long As Integer, sum As Long, n As Longn = Val(Text1.Text)n = Val(Text1.Text)For For i i = 1 To n = 1 To nsum = sum + 1sum =

5、 sum + 1Next Next i iText2.Text = sumText2.Text = sumEnd SubEnd Subsum=sum+i缩进格式缩进格式Private Sub Command1_Click()Private Sub Command1_Click() Dim Dim i i As Integer, sum As Long, n As Long As Integer, sum As Long, n As Long n = Val(Text1.Text)n = Val(Text1.Text) For For i i = 1 To n = 1 To n sum = su

6、m + sum = sum + i i Next Next i i Text2.Text = sum Text2.Text = sumEnd SubEnd Sub实例42 累乘说明:说明:1、本程序仅用来计算积、本程序仅用来计算积=5000的累乘值,的累乘值,要求要求n!怎么办怎么办?要求用要求用While循环。循环。2、自动计算与手动计算结果不一致,为什、自动计算与手动计算结果不一致,为什么?怎么改?么?怎么改?3、手动计算中的窗体级变量。、手动计算中的窗体级变量。Dim j As Integer, fact As LongPrivate Sub Command2_Click() If j

7、= 0 Then fact = 1 If fact = 5000 Then j = j + 1 fact = fact * j txtcyc.Text = j txtfac.Text = fact Else Command2.Enabled = False End IfEnd Sub手动计算手动计算Private Sub Command1_Click() Dim i As Integer, fac As Long i = 1 fac = 1 While fac = 5000 fac = fac * i i = i + 1 txtcyc.Text = i txtfac.Text = fac We

8、ndEnd Sub自动计算自动计算说明:说明:1、本程序仅用来计算积、本程序仅用来计算积=5000的累乘值,要求的累乘值,要求n!怎么办怎么办?要求用要求用While循环。循环。2、自动计算与手动计算结果不一致,为什么?怎么改?、自动计算与手动计算结果不一致,为什么?怎么改?3、手动计算中的窗体级变量。、手动计算中的窗体级变量。 i=10且=99随机数,并依次显示出来m = Val(Text1)Do Randomize 本语句可使下面的r,每次产生不同的随机数 r = Int(Rnd * 90 + 10) Lblrnd = Lblrnd + + Str(r) n = n + 1For i =

9、2 To r 1 判断素数 If r Mod i = 0 Then Exit ForNext iLoop While n = r Then 统计信息 If r Max Then Max = r End If循环中容易出的问题:死循环循环中容易出的问题:死循环循环体的正常运行一般通过循环循环体的正常运行一般通过循环体中对体中对循环变量循环变量的的改变改变来控制来控制对对循环条件循环条件的判断,使得循环的判断,使得循环能够终止能够终止循环初始状态循环条件循环体 TF如果某变量控制的如果某变量控制的不好,不好,则可能则可能造成永远无法终止循环的情况造成永远无法终止循环的情况称之为称之为“死循环死循环

10、”死循环死循环S = 0i = 1i = 50S = S * 2 i = i - 1 TFS = 0i = 1i = 50S = S * 2 i = 1 TFS = 0i = 1i = 50S = S * 2 TF正确循环的规律正确循环的规律i xTFi 不断减小不断减小164.1.4 4.1.4 循环的嵌套循环的嵌套 在一个循环体内又包含了一个完整的循环结构在一个循环体内又包含了一个完整的循环结构称为循环的嵌套称为循环的嵌套或多重循环或多重循环。外部的循环称为外部的循环称为外循环,内嵌的循环称为内循环。外循环,内嵌的循环称为内循环。Private Sub Private Sub Form_C

11、lickForm_Click() () For x = 1 To 5 For x = 1 To 5 For y = 1 To 5 For y = 1 To 5 Print y; Print y; Next y Next y Print Print Next x Next xEnd SubEnd Sub实例实例44:图形输出:图形输出内内循环变量与外循环变量不能同名;循环变量与外循环变量不能同名;外循环必须完全包含内循环,不能交叉;外循环必须完全包含内循环,不能交叉;不能从循环体外转向循环体内,反之则可以不能从循环体外转向循环体内,反之则可以。 For ii =1 To 10 For ii=1

12、To 20 Next ii Next ii For ii =1 To 10 For jj=1 To 20 Next jj Next ii For ii =1 To 10 For jj=1 To 20 Next ii Next jj For ii =1 To 10 Next ii For ii =1 To 10 Next ii 注意注意补例1 求1!+2!+10!Private Sub Private Sub Form_clickForm_click() () Dim s As Long, f As Long, Dim s As Long, f As Long, i i As Integer,

13、j As Integer As Integer, j As Integer s = 0 s = 0 For For i i = 1 To 10 = 1 To 10 f = 1f = 1 For j = 1 To For j = 1 To i i f = f f = f * * j j Next j Next j s = s + f s = s + f Next Next i i Print 1!+2!+.+10!=; s Print 1!+2!+.+10!=; sEnd SubEnd SubDim j As IntegerDim i As Integerj = 1s = 0For i = 1

14、To 10 j = j * i s = s + jNext i For x = 1 To 5 For y = 1 To x Print y; Next y Print Next x For x = 5 To 1 Step -1 For y = 1 To x Print y; Next y Print Next x补例补例2 读读程序,写结果程序,写结果补例补例3 根据根据结果,写程序:结果,写程序: For x = 5 To 1 Step -1 For y = 5 To x Step -1 Print y; Next y Print Next x For x = 5 To 1 Step -1

15、For y = 5 To 6-x Step -1 Print y; Next y Print Next x21补例4 打印九九乘法表关键:内外循环变量与被乘数和乘数关系关键:内外循环变量与被乘数和乘数关系输出格式控制输出格式控制 Private Sub Command1_Click() Picture1.Cls Dim se As String Picture1.Print Tab(35); 九九乘法表 Picture1.Print Tab(35); - For i = 1 To 9 For j = 1 To 9 se = j & & i & = & i * j

16、 Picture1.Print Tab(j - 1) * 9 + 1); se; Next j Picture1.Print Next iEnd Sub练习练习:打印上三角或下三角程序如何改动?打印上三角或下三角程序如何改动?可通过微软拼音输入法面板输可通过微软拼音输入法面板输入入“”等特殊符号,或在等特殊符号,或在WordWord中输入,再复制、粘贴中输入,再复制、粘贴编程练习:4.2 案例:译码器1 1、密码验证:、密码验证:PassWordChar=“*”Dim n As IntegerPrivate Sub Cmdok_Click()Const password = 111, name

17、 = 111n = n + 1If n = 3 Then If Txtname = Or Txtpassword = Then MsgBox 必须输入姓名和密码, 64, 提示 Else If Txtname = name And Txtpassword = password Then Frm1.Hide Frm2.Show Else MsgBox 姓名和密码错误, 48, 警告 End If End IfElse EndEnd IfEnd Subn:计数器:计数器两个窗体两个窗体Dim n As Integern=0Private Sub Cmdok_Click()n = n + 1End

18、Subn=1第一次单击第一次单击Dim n As Integern=1Private Sub Cmdok_Click()n = n + 1End Subn=2第二次单击第二次单击Dim n As Integern=2Private Sub Cmdok_Click()n = n + 1End Subn=3第三次单击第三次单击2、译码器控制结构: 每三位数字 一个字符循环变量赋初值循环变量赋初值删原文左侧空格删原文左侧空格ori = LTrim(Txtori) orip = Mid(ori, n, 3)Orip“#”取第一组数字取第一组数字n = 1n=n+3译码译码orip = Mid(ori, n, 3) While orip #“ Wend n = n + 3 .orip = Mid(ori, n, 3)译码一Orip是字符?是字符?If Val(orip) = 0 And Val(orip) 99 trap = “word = word + 1other = other + 1other = other + 3trap 9other = other + 2t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论