《分支与循环》PPT课件.ppt_第1页
《分支与循环》PPT课件.ppt_第2页
《分支与循环》PPT课件.ppt_第3页
《分支与循环》PPT课件.ppt_第4页
《分支与循环》PPT课件.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

第五章分支与循环,高等医药院校药学类第三轮规划教材大学计算机基础,第一节分支结构,目录,第二节循环结构,第三节程序示例,大学计算机基础沈阳药科大学,第一节分支结构,第一节分支结构,大学计算机基础沈阳药科大学,5.1分支结构,1.IfThen语句(单分支结构)IfThen语句块EndIf或IfThen,大学计算机基础沈阳药科大学,经典案例1)判断按键(回车13,空格32)PrivateSubText1_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13ThenText2=2*3.14*Text1EndIfEndSub2)检验正确性(IsNumeric())PrivateSubText1_LostFocus()IfIsNumeric(Text1)ThenText2=2*3.14*Text1EndIfEndSub,大学计算机基础沈阳药科大学,单分支结构应用举例:已知两个数x和y,比较它们的大小,使得x大于y.Ifxb且b+ca时,三角形存在,其面积式中:P=(a+b+c)2,大学计算机基础沈阳药科大学,4.IfThenElseIf语句(多分支结构)形式:IfThenElseIfThenElse语句块n+1EndIf,例如:成绩小于60吗,否的话小于70吗,,大学计算机基础沈阳药科大学,例5-3将考试成绩转换成等级。计算规则如下:分数100-9089-8079-7069-600ThenPrint在第一象限ElseIfx0ThenPrint在第二象限ElseIfx0Andy0Andy0Print在第一象限Casex0Print在第二象限Casex0Andy0Print在第四象限EndSelect,方法二代码错误:1.SelectCase后不能出现多个变量,应写为selectcasex2.Case后不能出现变量及有关运算符,应写为is0,而非x0,大学计算机基础沈阳药科大学,例5-4用SelectCase结构实现例5-3的功能。,例5-5编写一个按月收入额计算个人收入调节税的应用程序,并把结果存入D:盘的数据文件“pay.dat”中。计税公式如下:0pay1000或离退休(pay1000)*0.051000pay1500(pay1500)*0.1+251500pay2000(Pay2000)*0.15+752000pay2500tax=(pay2500)*0.2+1502500pay3000(pay3000)*0.25+2503000pay3500(Pay3500)*0.3+37535004,5y,x,y),Choose结构:Choose(数字类型变量,值为1的返回值,值为2的返回值)i=Int(Rnd*4+1)fuhao=Choose(i,“”,“”,“”,“”),大学计算机基础沈阳药科大学,第二节循环结构,第二节循环结构,大学计算机基础沈阳药科大学,5.2循环结构,所谓循环结构就是重复地执行某些操作,在程序中体现的就是部分代码被重复执行。VB中循环结构分为两大类:条件循环(Do-Loop),用于循环次数未知的情况当型循环结构(While)直到型循环结构(Until)计数循环(For-Next),用于循环次数已知的情况,大学计算机基础沈阳药科大学,形式1:DoWhile语句块ExitDo语句块Loop,形式2:Do语句块ExitDo语句块LoopWhile,先判断后执行,语句块可能一次也不执行,先执行后判断,语句块至少执行一次,1.DoWhile循环语句(当型循环结构,条件为真时执行),大学计算机基础沈阳药科大学,形式1:DoUntil语句块ExitDo语句块Loop,形式2:Do语句块ExitDo语句块LoopUntil,先判断后执行,语句块可能一次也不执行,先执行后判断,语句块至少执行一次,2.DoUntil循环语句(直到型循环结构,条件为假时执行),大学计算机基础沈阳药科大学,除以5、6、7均余1的最小的正整数.vbpPrivateSubCommand1_Click()n=8DoWhilenMod51OrnMod61OrnMod71n=n+1LoopPrint除以5、6、7均余1的最小的正整数是&nEndSubPrivateSubCommand2_Click()n=8DoUntilnMod5=1AndnMod6=1AndnMod7=1n=n+1LoopPrint除以5、6、7均余1的最小的正整数是&nEndSub,DoLoop循环应用举例1,大学计算机基础沈阳药科大学,人口增长计算.vbp我国现有13亿人口,按人口年增长0.8%计算,多少年后我国人口超过26亿?分析:解此问题两种方法,可根据公式:26=13*(1+0.008)n直接利用标准对数函数求得;也可利用循环求得,程序如下:PrivateSubCommand1_Click()x=13n=0DoWhilexn;(2)m除以n得余数r;(3)若r=0,则n为最大公约数结束;否则执行(4);(4)mn,nr,再重复执行(2)。Ifm0)m=nn=rr=mmodnLoopPrint最大公约数=,n,辗转相减法m=m-nmnn=n-mnmm、n为公约数m=nDoWhilemnmnIfmnThen146m=mn86Else26n=nm24EndIf22Loop,DoLoop循环应用举例4,图5-14流程图,大学计算机基础沈阳药科大学,形式For循环变量初值to终值Step步长语句块ExitFor语句块Next循环变量,循环体,5.2.3For-Next循环结构,大学计算机基础沈阳药科大学,For循环应用举例:计算1100的奇数和,程序段如下:Dimi%,s%等价于:Dimi%,s%s=0s=0:i=1Fori=1To100step2DoUntili100s=s+is=s+iNextii=i+2Loop,下面程序的结果是什么?Dima%Dima%a=10a=10fori=6to3fori=3to6a=a+2a=a+2nextinextiPrinta,iPrinta,i,大学计算机基础沈阳药科大学,例5-8编写一个程序求110这十个数的和与乘积。算法分析:求若干个数之和或若干个数的乘积,可采用“累加”与“累乘”法。累加法是设置一个存放和数的变量,称为“累加器”,它的初始值设为0,累加过程通过循环实现,在循环体中,和数与累加器相加后再赋值给累加器;累乘的算法与累加类似,不过设置的是“累乘器”,它的初始值应设为1,在循环体内,乘数应与累乘器相乘。在求乘积时,应注意乘积的大小,设置适当的数据类型。,For-Next循环应用举例1,图5-18程序设计界面及运行图,大学计算机基础沈阳药科大学,例5-9下面是一个从由字母数字组成的字符串中找出所有大写字母并逆序输出的程序。最后再把结果存入D:盘的数据文件“letter.dat”中。从一个字符串中找出符合要求的字符是采取对字符串的每一个字符逐个筛选的方法实现的。本例利用Mid函数可以从字符串中提取出单个字符,利用循环控制处理过程,循环的终值使用Len函数;对于符合要求的字符采用连接运算组成新字符串;逆序输出则是通过从后往前逐个提取字符再连接的。,For-Next循环应用举例2,图5-19程序设计界面及运行图,大学计算机基础沈阳药科大学,无论是Do-Loop循环,还是For-Next循环,都可以在大循环中套小循环。两种不同类型的循环语句也可以嵌套在一起使用。必须注意:小循环一定要完整地被包含在大循环之内,不得相互交叉。,5.2.4循环的嵌套,下面的程序运行结果是什么?a=10fori=1to5forj=4to6a=a+2nextjnextIPrinta,i,j,大学计算机基础沈阳药科大学,例5-10下面是一个模拟摇奖的程序。设有100个人中签,要从中找出两个中奖人。由机器自动随机产生第一组1000个1100间的数据,第1000个随机数据即为第一个中奖人的号码;然后再次随机产生第二组1000个1100间的数据,第1000个随机数据即为第二个中奖人的号码。算法分析:本程序算法比较简单,首先外循环用来控制产生两个随机数,里面使用For-Next循环产生1000个1-100间的随机整数即可。但为了获得摇奖的效果,每产生一个随机数,再利用一个For-Next循环起到延时作用,降低数据显示的速度,以便可以较容易地看清数据变化的状况,使用Refresh方法,使文本框中的文本不断改变。,循环嵌套应用举例1,图5-20界面及运行结果,大学计算机基础沈阳药科大学,第三节程序示例,第三节程序示例,大学计算机基础沈阳药科大学,例5-11产生10个(1,50)之间的随机整数,并将其中的最大数和最小数打印出来。同时存入D:盘的数据文件“Imax.dat”中。算法分析:用两个变量来存放最大和最小数,给这两个变量赋初值时要考虑周全,否则最小值有可能出错。,5.3程序示例,大学计算机基础沈阳药科大学,例5-12已知参加聚会有36人,现共有36块小蛋糕,按照下面规则进行分配,男士每人4块,女士每人3块,小孩2个人分1块,蛋糕刚好分完。问男、女、小孩各多少人?算法分析:根据题目规定,可以判断出男士最多9人,女士最多12人,因为小孩每次只能二人分一块,所以小孩最少是2人,最多是36人。这类题目一般用穷举法来写程序。,5.3程序示例,大学计算机基础沈阳药科大学,例5-13设计一个简易函数计算器。要求对输入的数据进行有效性检验。保证“计算器”在各种操作状况下都正常工作,程序需要考虑在用户没有在文本框中输人数据或输入的数据超出函数的定义域时的出错处理。程序中使用的IsNumeric(s)函数用于检测

温馨提示

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

最新文档

评论

0/150

提交评论