欢迎来到天天文库
浏览记录
ID:29466492
大小:4.63 MB
页数:22页
时间:2018-12-20
《visualbasic程序设计讲义第5章循环结构程序设计》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第5章循环结构程序设计5.1循环结构程序设计的概念实际的数据处理中,常需要进行一些大量重复的操作如求:1+2+3+……+n1!+2!+3!+…..+n!这些操作都可有用循环结构实现VB中有多种循环结构,最常用的有Do….Loop结构和For….Next结构5.2Do…Loop语句DO循环的格式⑴无条件循环DO循环体LOOP⑵当循环前测试型DOWHILE<继续循环的条件>循环体LOOP⑶当循环后测试型DO循环体LOOPWHILE<继续循环的条件>⑷直到循环前测试DOUNTIL<终止循环的条件>循环体LOOP⑸直到循环后测试型DO循环体LOOPUNTIL<终止循环的条件>◇另外可以用EXITDO语
2、句终止循环例(p94-1.vbp)用exitdo退出循环操作PrivateSubCommand1_Click()DimSumAsSingle,xAsSingleSum=0Dox=Val(InputBox("enteravalue"))Ifx=0ThenExitDoSum=Sum+xPrint"sum=";SumLoopEndSub[例5-1](P95-1.VBP)计算1+2+3+…..+100可以用当循环来实现。PrivateSubCommand1_Click()‘当循环DimsAsInteger,nAsIntegers=0:n=1DoWhilen<=100s=s+nn=n+1LoopLabe
3、l2.Caption="1+2+3+...+100="&sEndSubPrivateSubCommand2_Click()‘直到循环DimsAsInteger,nAsIntegers=0:n=1DoUntiln>100s=s+nn=n+1LoopLabel2.Caption="1+2+3+...+100="&s&"(直到循环)"EndSubPrivateSubForm_Load()Label1.Caption="今有100个数:1、2、3、……、100,试计算其累加和。"Label2.Caption=""Command1.Caption="&C计算"EndSub[例5-2](p96-1.vbp
4、)判断一个正整数是否是素数。选用当循环。PrivateSubCommand1_Click()DimnAsInteger,iAsInteger,aAsStringSelectCaseVal(Text1.Text)CaseIs<3MsgBox"请输入一个大于2的整数!",vbInformation+vbOKOnly,"注意"CaseIs>2147483647MsgBox"此数太大!",vbInformation+vbOKOnly,"注意"CaseElsen=Val(Text1.Text)s=0:i=2DoWhilei<=Sqr(n)Ands=0IfnModi=0Thens=1Elsei=i+1En
5、dIfLoopIfs=0Thena="是一个素数"Elsea="不是一个素数"EndIfLabel1.Caption=Str(n)&aEndSelectText1.SetFocusEndSub[例5-3](p97-1.vbp)计算π。计算公式:2222222222分析:分子为2保持不变若第n项的分母为p,则第n+1项的分母为p2pnn1n第1项除外,第2项的分母为20,p的初值为02s若前n项的乘积为s,则前n+1项乘积为snnn1pn1第1项的乘积为2,s的初值为2通过前后两个乘积的差,来控制循环。从而得流程图:PrivateSubCommand1_Clic
6、k()DimmAsInteger,pAsDouble,sAsDoubleDimpiAsDouble,fAsString,tAsDoublem=Val(Text1.Text)p=0:s=2Dot=s:p=Sqr(2+p):s=s*2/pLoopUntilAbs(t-s)<0.1^mf=String(m-1,"#")Text2.Text=Format(s,"0."&f)Text1.SetFocusEndSub[例5-4]输入两个正整数,求它们的最大公约数(P98-VBP)。用辗转相除法,m、n是两个正整数,r是余数,用直到循环操作的流程图:注:若m7、。PrivateSubCommand1_Click()DimmAsInteger,nAsInteger,rAsIntegerm=Val(Text1.Text)n=Val(Text2.Text)Ifn*m=0ThenMsgBox"两个数都不能为0!“"ExitSubEndIfDor=mModnm=nn=rLoopUntilr=0Text3.Text=mEndSub5.3For…Next语句FOR循环
7、。PrivateSubCommand1_Click()DimmAsInteger,nAsInteger,rAsIntegerm=Val(Text1.Text)n=Val(Text2.Text)Ifn*m=0ThenMsgBox"两个数都不能为0!“"ExitSubEndIfDor=mModnm=nn=rLoopUntilr=0Text3.Text=mEndSub5.3For…Next语句FOR循环
此文档下载收益归作者所有