您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > vb-4-循环结构程序设计
第4章循环结构程序设计第六次课第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计本章内容循环结构用For-Next语句实现循环结构用DoWhile-Loop语句实现循环结构嵌套的循环结构第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计循环结构条件循环体TrueFalse条件循环体TrueFalse第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计用For-Next语句实现循环结构1.语句形式:For循环变量=初值to终值[Step步长][循环体][ExitFor][循环体]Next循环变量第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计2.语句说明:循环变量必须为数值型。当步长为正时,初值小于终值,反之初值大于终值;步长缺省时为1。循环体由一条或多条语句组成。执行到ExitFor语句时退出循环体,执行For语句的下一语句。循环次数:int为取整。)1int(步长初值终值用For-Next语句实现循环结构第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计用For-Next语句实现循环结构3.语句执行过程:循环变量的初值循环变量是否超过终值循环体循环变量加步长TF第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计用For-Next语句实现循环结构【实例4.1】求1+2+3+……+n的和。窗体界面如图4-2第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计实例4.1代码编写分析求1+2+3+……+100的和,描述如下:Sum=Sum+1Sum=Sum+2Sum=Sum+3……Sum=Sum+100Sum=Sum+jj=1,2,……100Fori=1tonSum=Sum+jNextiFori=1tonSum=Sum+iNextij=i第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计实例4.1代码编写Fori=1To100step2sum=sum+iNextiFori=1To50sum=sum+2*i-1NextiFori=2To100step2sum=sum+iNexti求1到100间的奇数之和求1到100间的奇数之和求1到100间的偶数之和第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计【实例4.1】界面设计fratopicfraresultlabtopiclabntxtntxtsumcmdcalcmdquit第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计实例4.1代码编写1.“计算”按钮完整代码:PrivateSubcmdcal_Click()DimiAsInteger,sumAsLong,nAsLongn=Val(txtn.Text)Fori=1Tonsum=sum+iNextitxtsum.Text=sumEndSub第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计实例4.1代码编写2.“计算结果”框架中的标签(labn)内容随txtn输入值变化PrivateSubtxtn_Change()labn.Caption=1+2+3……+&txtn.TextEndSub问题:修改程序(1)单击“计算”按钮时,检测n的值,如果为空或不合法,弹出提示对话框第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计实例4.1代码编写PrivateSubcmdcal_Click()DimiAsInteger,sumAsLong,nAsLongIftxtn.Text=ThenMsgBox请输入一个正整数,vbOKOnly,提示信息txtn.SetFocusElsen=Val(txtn.Text)Fori=1Tonsum=sum+iNextitxtsum.Text=sumEndifEndSubPrivateSubcmdcal_Click()DimiAsInteger,sumAsLong,nAsLongn=Val(txtn.Text)Fori=1Tonsum=sum+iNextitxtsum.Text=sumEndSub第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计实例4.1代码编写问题:修改程序(2)计算完毕后,“计算”按钮的标题改为“清空”,此时点击两个文本框的内容清空如何检测按钮的状态是需要显示“计算”还是“清空”?解决方法:设置一个布尔变量true对应“计算”,false对应“清空”第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计例:1*2*3……*100PrivateSubcmdCal_Click()DimFacAsIntegerDimiAsIntegerFac=1Fori=1To100Fac=Fac*iNextilblSum.Caption=FacEndSub第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计1!+2!+3!+……+15!PrivateSubcmdCal_Click()DimFacAslong,sumAslongDimiAsIntegerFac=1Fori=1To15Fac=Fac*isum=sum+FacNextilblSum.Caption=sumEndSub分析程序运行结果i=1fac=1*1sum=1i=2fac=1*2sum=1+2i=3fac=1*2*3=3!sum=1!+2!+3!i=4fac=1*2*3*4=4!sum=1+2+3!+4!i=5fac=4!*5=5!sum=1+2!+3!+4!+5!………………第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计用While语句实现循环1.语句形式:While条件[循环体]Wend2.语句说明:•“条件”一般为条件表达式,结果为布尔变量True或False。•“条件”用于控制“循环体”是否执行。•多用于循环次数不定的情况。第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计用While语句实现循环3.语句执行过程:条件循环体TrueFalse第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计用While语句改写实例4.1“计算”按钮完整代码:PrivateSubcmdcal_Click()DimiAsIntegerDimsumAsLong,nAsLongn=Val(txtn.Text)Fori=1Tonsum=sum+iNextitxtsum.Text=sumEndSubi=1Whilei=nsum=sum+ii=i+1wend第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计用While语句实现循环【实例4.2】实现1*2*3*……*n的操作,当阶乘值5000时结束操作。txtcyctxtfac第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计实例4.2代码编写PrivateSubcmdcal_Click()DimiAsInteger,facAsLongi=1:fac=1Whilefac=5000fac=fac*ii=i+1txtcyc.Text=itxtfac.Text=facWendEndSub初始化语句是否可以去掉?第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计实例4.2代码编写“手动计算”按钮:单步演示累乘结果,需要窗体级变量保留成绩,及点击次数PrivateSubCmdcalh_Click()Ifj=0Thenfact=1Iffact=5000Thenj=j+1fact=fact*jtxtcyc.Text=jtxtfac.Text=factElseCmdcalh.Enabled=FalseEndIfEndSub该语句的作用?第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计用DO语句实现循环DoWhile–Loop语句DoWhile条件循环体语句LoopDo–LoopWhile语句Do循环体语句LoopWhile条件先执行,后判断至少执行一次循环体先判断,后执行有可能一次也不执行第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计用DO语句实现循环第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计用DoWhile–Loop语句改写实例4.1“计算”按钮完整代码:PrivateSubcmdcal_Click()DimiAsIntegerDimsumAsLong,nAsLongn=Val(txtn.Text)Fori=1Tonsum=sum+iNextitxtsum.Text=sumEndSubi=1DoWhilei=nsum=sum+ii=i+1Loop第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计执行过程NoYessum=sum+ii=100i=i+1第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计用Do–LoopWhile语句改写实例4.1“计算”按钮完整代码:PrivateSubcmdcal_Click()DimiAsIntegerDimsumAsLong,nAsLongn=Val(txtn.Text)Fori=1Tonsum=sum+iNextitxtsum.Text=sumEndSubi=1Dosum=sum+ii=i+1LoopWhilei=100第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计补充例题1产生m个1~100之间的随机数,求出其中的最大值、最小值和平均值。窗体设计界面和运行界面如图。txtnum补充例题1代码分析NoYes产生随机数r=Int(Rnd*100)+1nmn=n+1m=val(txtnum.text)r与max、min进行比较,和sum累加,输出结果第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计代码PrivateSubCommand1_Click()DimmAsInteger,nAsInteger,rAsInteger,iAsInteger,maxAsInteger,minAsIntegerDimsumAsSingle,aveAsSinglelblrnd.Caption=m=Val(txtnum.Text)r=Int(Rnd*100)+1max=rmin=rn=1sum=rlblrnd.Caption=Str(r)第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计代码Dor=Int(Rnd*100)+1IfrmaxThenmax=rElseIfrminThenmin=rEndIfsum=sum+rlblrnd.Caption=lblrnd.Caption++Str(r)n=n+1LoopWhilenm该语句的作用?Dowhilenm…………loop第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第四章VB程序设计代码ave=sum/n'求平均值lblmax.Caption=max'标签显示最大值lblmin.Caption=min'标签显示最小值lblave.Caption=ave'标签显示平均值EndSub第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第
本文标题:vb-4-循环结构程序设计
链接地址:https://www.777doc.com/doc-3747980 .html