VB 选择分支.ppt

上传人:s****8 文档编号:67317983 上传时间:2022-12-24 格式:PPT 页数:41 大小:352.50KB
返回 下载 相关 举报
VB 选择分支.ppt_第1页
第1页 / 共41页
VB 选择分支.ppt_第2页
第2页 / 共41页
点击查看更多>>
资源描述

《VB 选择分支.ppt》由会员分享,可在线阅读,更多相关《VB 选择分支.ppt(41页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室引言算法的三种结构:顺序、选择/分支、循环。理论已经证明,无论多么复杂的的问题,都可以用这三种结构的组合来表示。徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室第第5 5章章 选择分支与循环选择分支与循环5.1 分支结构与分支结构语句 5.2 循环结构与循环结构语句5.3 程序示例徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室5.1 5.1 分支结构分支结构5.1.1If-Then-Else-EndIf结构语句5.1.2Select

2、Case语句(情况语句)徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室5.1.1 5.1.1 IF结构语句1.IfThen语句(单分支结构)2.IfThenElse语句(双分支结构)3.IfThenElseIf语句(多分支结构)4.If语句的嵌套徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室单分支结构条件语句 单行条件语句的格式如下:If条件ThenA组语句ElseB组语句 单行条件语句的功能是:如果单行条件语句的功能是:如果“条件条件”为为TrueTrue,则执行则执行“A A组语句组语句”,否则执行,否则执行“

3、B B组语句组语句”a=5a=5If a Then Print“aIf a Then Print“a为非零值为非零值”a=5a=5If a0 Then Print“aIf a0 Then Print“a为非零值为非零值”徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室双分支结构(If.Then语句)双分支If语句是用来判断条件成立与否,然后决定下一步怎么执行的一种控制语句,这种选择结构是最常用的双选择结构,即只有两种操作可以选择。如果条件为真,执行其中一个操作;如果条件为假,则执行另外一个操作。双分支结构双分支结构if语句语法格式如下:语句语法格式如下:I

4、f Then Else End If徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室说明:为必选项,它可以是关系表达式、逻辑表达式、数值表达式,但总的说来它是一个逻辑值的表达式,其返回结果必须是True或False,如果不是则进行类型转换。对于数值表达式,VB将0作为False,非0作为True来处理;和可以是一条语句,也可以是多条语句徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室 双分支If语句的执行过程是这样的:首先计算的值,如果结果为True,则执行,否则,执行。T T(真真)F F(假)假)条件满足?条件满足

5、?语句块语句块1 1语句块语句块2 2End IfEnd If之后的语句之后的语句选择结构流程图选择结构流程图徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室【例】设计界面如图所示,用文本框Text1输入x的值,单击按钮时,在标签text2中显示出x的绝对值。运行界面运行界面徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室“求绝对值”按钮Command1的单击事件过程如下:PrivateSubCommand1_Click()x=Val(Text1.Text)将文本框中的字符内容转换成数值Ifx0Thentext2.te

6、xt=xElsetext2.text=-x根据x的正负确定显示结果EndIfEndSub徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室注意以下问题:(1)整个结构必须以If开始,以EndIf结束。(2)双分支结构If语句中Then后面的语句不能与其写在同一行上,否则,认为是一个单行结构的条件语句,这是双分支结构与单行结构条件语句的主要区别。徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室(3)块结构中的是可以省略的。省略后即简化为以下形式:If Then End If 当条件成立时,根据完成的一定的操作;而当条件不成

7、立时不做任何处理,直接执行 End IfEnd If 后面的语句。徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室前例也可以采用下列程序段来实现PrivateSubCommand1_Click()x=Val(Text1.Text)Ifxc 且且 a+cb 且且 b+ca 时,三角形存在,其面积时,三角形存在,其面积 s=sqr(p*(p-a)*(p-b)*(p-c)式中:式中:p=(a+b+c)/2徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室

8、计算机教研室程序代码:PrivateSubCommand1_Click()DimaAsSingle,bAsSingle,cAsSingle,pAsSingle,sAsSinglea=Val(Text1.Text)取数据ab=Val(Text2.Text)取数据bc=Val(Text3.Text)取数据cIfa+bcAnda+cbAndb+caThenp=(a+b+c)/2s=Sqr(p*(p-a)*(p-b)*(p-c)求三角形面积Text4.Text=CStr(s)面积数据写入计算结果文本框ElseText4.Text=“数据错误”数据错误信息EndIfEndSub徐州医学院徐州医学院VBV

9、B教程教程公共教育学院公共教育学院 计算机教研室计算机教研室PrivateSubCommand2_Click()End结束程序EndSubPrivateSubCommand3_Click()Text1.Text=清除原有数据Text2.Text=Text3.Text=Text4.Text=Text1.Setfocus将Text1置为焦点EndSub程序实例徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室 双分支结构If语句可以嵌套,即在IF语句中的和部分仍然可以包含另外一个双分支结构If语句。如果在条件成立或不成立的情况下要继续判断其他条件,则可以在语句块

10、的位置上再使用另外一个双分支结构条件语句。双分支If语句的嵌套徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室If子句部分的嵌套结构子句部分的嵌套结构Else子句部分的嵌套结构子句部分的嵌套结构If then If then Else End IfElse End IFIf then Else If then Else End IfEnd IF徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室使用嵌套语句时应注意以下问题:(1)如果存在嵌套时,语句中的每一个Else必须和一个If相对应,应避免产生混乱。在书写时,可以将同

11、一层的If子句和Else子句左对齐,内层的各语句块相对于外层向右缩进若干空格(TAB),以使程序结构更加清楚,便于阅读和查错。(2)每一个双分支结构都必须以If开始,以EndIf结束。徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室(3)内层嵌套的结构中除了满足该层规定的条件外,还必须首先满足外层结构中相应位置的条件。(4)VB中对块嵌套的层数没有限制,在嵌套的结构中仍然可以继续嵌套其他的结构.(5)利用双分支If语句的嵌套可以解决“多分支”选择的问题。徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室【例】建立如图所示

12、的界面,输入任一点的坐标(X,Y),判断该点位于哪个象限。在平面直角坐标系中,点所在的象限有以下4种情况:X0,Y0 点位于第一象限内 X0,Y0 点位于第四象限内 X0 点位于第二象限内 X0,Y 0 Then If y 0 Then Print 该点位于第一象限该点位于第一象限 Else Print 该点位于第四象限该点位于第四象限 End IfElse If y 0 Then Print 该点位于第二象限该点位于第二象限 Else Print 该点位于第三象限该点位于第三象限 End IfEnd IfEnd Sub徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室

13、计算机教研室多多分支结构分支结构ElseIf ElseIf 语句语句多分支If Then ElseIf语句的格式:If 条件1 then 语句块1ElseIf 条件2 then 语句块2Else 语句块n+1End If徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室格式说明:(1)可以放置任意多个ElseIf子句。(2)关键字ElseIf中间没有空格,不能写成Else If。(3)Else 只能有一个,一般放在最后功能介绍:依次判断条件,如某一条件成立,则执行其下面的语句块;如果所有条件均不成立,则执行Else后面的语句。注意:在相应语句块执行完后,会跳

14、过End If,执行其后面的语句。徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室多分支If Then ElseIf语句结构执行过程T T徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室功能说明:(1)不管有几个ElseIf子句,程序执行完一个语句块后,其余ElseIf子句不再执行。(2)当多个ElseIf子句中的条件都成立时,只执行第一个条件成立的子句中的语句块。因此,在使用ElseIf语句时,要特别注意各判断条件的前后次序。徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室【例】

15、输入一个学生的成绩score,根据其所在分数段给出他的考试等级。score60时,打印“不及格”;60=score=70时,打印“一般”;70score=80时,打印“中等”;80sore=90时,打印“良好”;90score100时,打印“成绩有问题”。该程序就是一个多分支选择的问题,可以使用ElseIf语句实现。徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室程序代码如下:程序代码如下:Private Sub Command1_Click()Dim score As Single score=Val(Text1.Text)If score=60 And

16、 score 70 And score 80 And score 90 And score=100 Then Print 优秀优秀Else Print 成绩有问题成绩有问题End IfEnd Sub徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室 因为只有在前一个条件不成立的情况下,才有可能继续判断下一个条件是否成立,所以,上例中的条件部分也可以进一步简化,改成如下形式:If score 60 Then Print 不及格不及格ElseIf score=70 Then Print 一般一般ElseIf score=80 Then Print 中等中等Els

17、eIf score=90 Then Print 良好良好Elseif score=100 Then Print 优秀优秀Else Print 成绩有问题成绩有问题End If徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室 例例5-25-2一个有多个分支的示例程序 T TF FT TF F徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室PrivateSubCommand1_Click()DimxAsIntegerx=Val(Text1.Text)Ifx1ThenText2.Text=“这是小于1的数”ElseIfxy,

18、x,y)r=IIf(s6,2,4)注意:IIf函数中的三个部分都不能省略。徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室注意:由于 IIf 会计算“True部分”和“False部分”,虽然它只返回其中的一个。因此要注意到这个副作用。例如,如果“False部分”产生一个被零除错误,那么程序就会发生错误,即使“条件”为True徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室5.1.25.1.2 Select Case 语句一般形式:Select Case e Case c1 A组语句 Case c2 B组语句 .Case

19、 Else n组语句 End Select 徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室Select-CaseSelect-Case结构语句使用说明:结构语句使用说明:e称为测试表达式,可以是算术表达式或字符表达式;c1,c2,.是测试项,它们可取三种形式:(1)具体取值:如:3、5、7.2等(当测试表达式是算术表达式时);(2)连续的数据范围:如:8To20;BToH等;(3)满足某个判决条件:如:Is20;Is30注意:多个表达式之间不能用and以及or徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室本结构的执

20、行方式是 先求测试表达式的值,接着逐个检查每个Case语句的测试项,如果,测试表达式的值满足某个测试项中的任意一个测试内容,系统就执行该Case语句下的那组语句,并且以后的Case语句都不执行,即使测试表达式的值满足该测试内容;若没有一个测试项满足要求,就执行CaseElse下的语句,本组语句执行完后,接着执行EndSelect语句后面的语句。徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室PrivateSubCommand1_Click()DimxAsIntegerx=Val(text1.Text)SelectCasexCaseIs=10000 5%50

21、00=交易额10000 3%1000=交易额5000 2%500=交易额1000 1%交易额500 免费假设交易额通过文本框Text1输入,则“计算费用”按钮Command1的事件代码如下:徐州医学院徐州医学院VBVB教程教程公共教育学院公共教育学院 计算机教研室计算机教研室Private Sub Command1_Click()Trade=Val(Text1.Text)Select Case Trade Case Is500 Discount=0Case Is1000 Discount=0.01Case Is5000 Discount=0.02 Case Is10000 Discount=0.03 Case Else Discount=0.05 End Select Fee=Trade*Discount Print FeeEnd Sub程序实例 在解决多分支选择情况的程序时,采用Select Case语句比较方便,并且程序结构清楚,便于阅读和修改。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com