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

下载本文档

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

文档简介

第4章循环结构(二)4.1.1

For…Next

循环格式:For<循环变量>=<初值>To<终值>[Step<步长>]

语句块

[ExitFor]

语句块Next<循环变量>4.1.2

While…Wend循环格式:While条件

循环体Wend循环初始状态循环条件循环体TF4形式2:Do

语句块

[ExitDo

语句块]Loop{While|Until}<条件>

4.1.3

Do…Loop

循环形式1:Do{While|Until}<条件>

语句块

[ExitDo

语句块]Loop引例密码验证ss=“111”Form1.HideMsgBoxForm1.ShowMsgBox:2TFss=“111”MsgBoxForm1.ShowMsgBox:1TF…ss=“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=“111”MsgBoxForm1.ShowMsgBox:0TFMsgBox:2ss=“111”MsgBoxForm1.ShowMsgBox:1TF实例4-1累加PrivateSubCommand1_Click()DimiAsInteger,sumAsLong,nAsLongn=Val(Text1.Text)Fori=1Tonsum=sum+1NextiText2.Text=sumEndSubsum=sum+i缩进格式PrivateSubCommand1_Click() DimiAsInteger,sumAsLong,nAsLong

n=Val(Text1.Text)

Fori=1Tonsum=sum+iNextiText2.Text=sumEndSub实例4-2累乘说明:1、本程序仅用来计算积<=5000的累乘值,要求n!怎么办?要求用While循环。2、自动计算与手动计算结果不一致,为什么?怎么改?3、手动计算中的窗体级变量。DimjAsInteger,factAsLongPrivateSubCommand2_Click()Ifj=0Thenfact=1Iffact<=5000Thenj=j+1fact=fact*jtxtcyc.Text=jtxtfac.Text=factElseCommand2.Enabled=FalseEndIfEndSub手动计算PrivateSubCommand1_Click()DimiAsInteger,facAsLongi=1fac=1Whilefac<=5000fac=fac*ii=i+1txtcyc.Text=itxtfac.Text=facWendEndSub自动计算说明:1、本程序仅用来计算积<=5000的累乘值,要求n!怎么办?要求用While循环。2、自动计算与手动计算结果不一致,为什么?怎么改?3、手动计算中的窗体级变量。i<txtcyc.texti=i+1fac=fac*i实例4-3随机数与素数‘产生m个>=10且<=99随机数,并依次显示出来m=Val(Text1)DoRandomize‘本语句可使下面的r,每次产生不同的随机数

r=Int(Rnd*90+10)Lblrnd=Lblrnd+""+Str(r)n=n+1Fori=2Tor–1‘判断素数

IfrModi=0ThenExitForNextiLoopWhilen<mIfi>=rThen‘统计信息Ifr>MaxThenMax=r…EndIf循环中容易出的问题:死循环循环体的正常运行一般通过循环体中对循环变量的改变来控制对循环条件的判断,使得循环能够终止循环初始状态循环条件循环体TF如果某变量控制的不好,则可能造成永远无法终止循环的情况称之为“死循环”死循环S=0i=1i<=50S=S*2i=i-1TFS=0i=1i<=50S=S*2i=1TFS=0i=1i<=50S=S*2TF正确循环的规律i<xTFi

不断增大i>xTFi

不断减小164.1.4循环的嵌套在一个循环体内又包含了一个完整的循环结构称为循环的嵌套或多重循环。外部的循环称为外循环,内嵌的循环称为内循环。PrivateSubForm_Click()Forx=1To5Fory=1To5Printy;NextyPrintNextxEndSub实例4-4:图形输出内循环变量与外循环变量不能同名;外循环必须完全包含内循环,不能交叉;不能从循环体外转向循环体内,反之则可以。

Forii=1To10Forii=1To20

…Nextii Nextii

Forii=1To10

Forjj=1To20…

Nextjj

Nextii

Forii=1To10

Forjj=1To20…

Nextii

Nextjj

Forii=1To10

Nextii

Forii=1To10

Nextii注意补例1求1!+2!+…+10!PrivateSubForm_click()DimsAsLong,fAsLong,iAsInteger,jAsIntegers=0Fori=1To10

f=1

Forj=1Toif=f*jNextjs=s+fNextiPrint"1!+2!+...+10!=";sEndSubDimjAsIntegerDimiAsIntegerj=1s=0Fori=1To10j=j*is=s+jNextiForx=1To5Fory=1ToxPrinty;NextyPrintNextxForx=5To1Step-1Fory=1ToxPrinty;NextyPrintNextx补例2读程序,写结果补例3根据结果,写程序:Forx=5To1Step-1Fory=5ToxStep-1Printy;NextyPrintNextxForx=5To1Step-1Fory=5To6-xStep-1Printy;NextyPrintNextx21补例4打印九九乘法表关键:①内外循环变量与被乘数和乘数关系 ②输出格式控制

PrivateSubCommand1_Click()Picture1.ClsDimseAsStringPicture1.PrintTab(35);"九九乘法表"Picture1.PrintTab(35);"---------------"Fori=1To9Forj=1To9se=j&"×"&i&"="&i*jPicture1.PrintTab((j-1)*9+1);se;NextjPicture1.PrintNextiEndSub练习:打印上三角或下三角程序如何改动?可通过微软拼音输入法面板输入“×”等特殊符号,或在Word中输入,再复制、粘贴编程练习:4.2案例:译码器1、密码验证:PassWordChar=“*”DimnAsIntegerPrivateSubCmdok_Click()Constpassword="111",name="111"n=n+1Ifn<=3ThenIfTxtname=""OrTxtpassword=""ThenMsgBox"必须输入姓名和密码",64,"提示"ElseIfTxtname=nameAndTxtpassword=passwordThenFrm1.HideFrm2.ShowElseMsgBox"姓名和密码错误",48,"警告"EndIfEndIfElseEndEndIfEndSubn:计数器两个窗体DimnAsInteger‘n=0PrivateSubCmdok_Click()…n=n+1…EndSub‘n=1第一次单击DimnAsInteger‘n=1PrivateSubCmdok_Click()…n=n+1…EndSub‘n=2第二次单击DimnAsInteger‘n=2PrivateSubCmdok_Click()…n=n+1…EndSub‘n=3第三次单击2、译码器控制结构:每三位数字一个字符循环变量赋初值删原文左侧空格ori=LTrim(Txtori)orip=Mid(ori,n,3)Orip<>“###”取第一组数字n=1n=n+3译码orip=Mid(ori,n,3)Whileorip<>"###“Wendn=n+3..... orip=Mid(ori,n,3)译码一Orip是字符?IfVal(orip)>=0AndVal(or

温馨提示

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

评论

0/150

提交评论