VisualBasic控制结构.ppt_第1页
VisualBasic控制结构.ppt_第2页
VisualBasic控制结构.ppt_第3页
VisualBasic控制结构.ppt_第4页
VisualBasic控制结构.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

第7章VisualBasic控制结构,主讲教师:刘潇(计科系)联系电话Q:421877450E-mail:liuxiao528,本章讨论VisualBasic中除顺序结构之外的流程控制语句,包括选择结构、多分支结构及循环结构语句。,目录,7.1选择控制结构,If.Then语句,格式:If条件Then语句或If条件Then语句块EndIf,功能:如果条件成立(值为真),则执行Then后面的语句或语句块,否则直接执行下一条语句或“EndIf”的下一条语句。,7.1选择控制结构,编写一段代码实现:单击窗体,在弹出的输入对话框中输入成绩(CJ)数值,当成绩(CJ60时),显示“成绩不及格”,换行显示“请参加补考”。,PrivateSubForm_Click()CJ=Val(InputBox(请输入成绩数值:,成绩判断)IfCJ60ThenPrint成绩不及格Print请参加补考EndIfEndSub,7.1选择控制结构,If.Then.Else语句,格式:If条件Then语句块1(A)Else语句块2(B)EndIf,功能:首先测试条件,当条件成立时,执行语句块1;当条件不成立时,执行语句块2。执行完语句块2之后,执行“EndIf”之后的语句。,7.1选择控制结构,输入三个数:a、b、c,求出其中最大数。,PrivateSubCommand1_Click()DimaAsSingle,bAsSingleDimcAsSingle,mAsSinglea=Val(Text1.Text)b=Val(Text2.Text)c=Val(Text3.Text)IfabThenm=bElsem=aEndIfIfmcThenm=cText4.Text=mEndSub,7.1选择控制结构,IIf函数,格式:result=IIf(条件,True部分,False部分),功能:当“条件”为真时,IIf函数返回“True部分”,而当“条件”为假时返回“False部分”。,例如:将a、b中的小数,放在Min变量中。Min=IIf(ab,a,b),7.1选择控制结构,ElseIf格式,格式:If条件1Then语句块1ElseIf条件2Then语句块2ElseIf条件3Then语句块3.Else语句块nEndIf,功能?,7.1选择控制结构,输入学生成绩(百分制),判断该成绩的等级(优良、及格、不及格),PrivateSubCommand1_Click()DimscoreAsInteger,tempAsStringscore=Val(Text1.Text)temp=成绩等级为:Ifscore0ThenLabel2.Caption=成绩出错ElseIfscore60ThenLabel2.Caption=temp+不及格ElseIfscore=79ThenLabel2.Caption=temp+及格ElseIfscore=100ThenLabel2.Caption=temp+优良ElseLabel2.Caption=成绩出错EndIfEndSub,7.2多分支控制结构,SelectCase语句,格式:SelectCase测试表达式Case表达式表列1语句块1Case表达式表列2语句块2.CaseElse语句块nEndSelect,功能:先计算表达式的值,然后将该值依次与结构中的每个Case值进行比较,如果该值符合某个Case指定的值条件时,就执行该Case的语句块,然后跳到EndSelect,从EndSelect出口。如果没有相符合的Case值,则执行CaseElse中的语句块。,三种写法:Case1,3,5Case60To80CaseIs50,7.2多分支控制结构,输入学生成绩(百分制),判断该成绩的等级(优良、及格、不及格),PrivateSubCommand1_Click()DimscoreAsInteger,tempAsStringscore=Val(Text1.Text)temp=成绩等级为:SelectCasescoreCase0to59Label2.Caption=temp+不及格Case60to79Label2.Caption=temp+及格Case80to100Label2.Caption=temp+优良CaseElseLabel2.Caption=成绩出错EndSelectEndSub,7.2多分支控制结构,输入两个运算数和运算符(+、-、*、/),组成算式并计算结果,然后显示出来。,PrivateSubCommand1_Click()DimaAsSingle,bAsSingle,tAsSingle,sAsStringa=Val(Text1.Text)b=Val(Text2.Text)SelectCaseTrueCaseOption1.Values=+:t=a+bCaseOption2.Values=-:t=a-bCaseOption3.Values=*:t=a*bCaseOption4.Values=/:t=a/bEndSelectText3.Text=asEndSub,结果:s=5050,7.3For循环控制结构,求T=8!=12348采用Print在窗体上直接输出结果,PrivateSubForm_Load()Showt=1Forc=1To8t=t*cNextPrintT=;tEndSub,结果:T=40320,7.4当循环控制结构,While.Wend循环语句,格式:While条件循环体Wend,功能:当条件成立时,执行循环体;当条件不成立时,终止循环。与For循环的区别:For:对循环体执行指定的次数;While:在指定的条件为True时重复一语句序列(循环体)的执行。,7.4当循环控制结构,求T=8!=12348采用Print在窗体上直接输出结果采用While.Wend循环语句,PrivateSubForm_Load()DimcAsIntegerShowt=1c=1Whilec=8t=t*cc=c+1WendPrintT=;tEndSub,结果:T=40320,7.5Do循环控制结构,Do.Loop循环语句,格式1:DoWhile|Until条件循环体Loop,功能:当指定的“循环条件”为真或直到指定的“循环条件”变为真之前,重复执行循环体,格式2:Do循环体LoopWhile|Until条件,7.5Do循环控制结构,DoLoopUntil循环逻辑框图,DoLoopWhile循环逻辑框图,7.5Do循环控制结构,DoUntilLoop循环逻辑框图,DoWhileLoop循环逻辑框图,7.5Do循环控制结构,求S12+22+1002采用DoWhile.Loop语句采用Print直接在窗体上输出结果,程序代码,PrivateSubForm_load()DimnAsInteger,sAsLongShown=1:s=0DoWhilen=100s=s+n*nn=n+1LoopPrints=;sEndSub,程序运行结果:S338350,7.5Do循环控制结构,输入两个正整数,求它们的最大公约数用“辗转相除法”算法:求出m/n余数p,若p0,n即为最大公约数;若p非0,则把原来的分母n作为新的分子m,把余数p作为新的分母n继续求解。,PrivateSubcommand1_click()DimmAsInteger,nAsInteger,pAsIntegerm=Val(Text1.Text)n=Val(Text2.Text)Ifm0Text3.Text=mEndSub,补充:循环控制结构,循环出口语句格式:ExitFor|Do功能:直接从For循环或Do循环中退出当程序运行时遇到Exit语句时,就不再执行循环体中的任何语句而直接退出,转到循环语句(Next、Loop)的下面继续执行,补充:循环控制结构,设计一个“加法器”程序,把每次输入的数累加。当输入-1时结束程序的运行。,PrivateSubForm_load()DimxAsSingle,SumAsSingleShowSum=0DoWhileTruex=Val(InputBox(“请输入要加入的数_(-1表示结束),输入数据)Ifx=-1ThenExitDoEndIfSum=Sum+xText1.Text=SumLoopMsgBox累加运算结束“EndSub,7.6多重循环,多重循环程序示例,PrivateSubForm_load()ShowFori=1To3外循环Forj=5To7内循环Printi,jNextjNextiEndSub,多重循环是指循环体内含有循环语句的循环注意内、外循环层次要分清,不能交叉。,程序运行结果:151617252627353637,7.6多重循环,编一程序,输出下列所示的图形。,本例可采用两重循环来实现。外循环控制输出7行,内循环控制每行输出要求的字符数。在进入内循环之前,使用PrintTab()来对起始输出位置定位,退出内循环后,使用Print来控制换行。,7.6多重循环,编一程序,输出下列所示的图形。,PrivateSubForm_load()ShowFori=1To7PrintTab(10-i);Forj=1To2*i-1PrintChr(i+48);NextjPrintNextiEndSub,7.7GoTo型控制,7.7.1GoTo语句,GoTo语句,格式:GoTo行号|标号,功能:改变程序的执行顺序,跳转到程序中指定的行开始执行,7.7GoTo型控制,7.7.2OnGoTo语句,On.GoTo语句,格式:On数值表达式GoTo行号表|标号表,功能:根据“数值表达式”的值,控制转移到几个指定的语句行中的一个语句行。类似于Select.EndSelect语句。,思考与练习,课本第164页第7章习题(共15道),思考与练习,7.1输入三个数,

温馨提示

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

评论

0/150

提交评论