VB第5章选择结构程序设计课件.ppt
《VB第5章选择结构程序设计课件.ppt》由会员分享,可在线阅读,更多相关《VB第5章选择结构程序设计课件.ppt(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第5 5章章选择结构选择结构程序设计程序设计本章要点本章要点:条件语句条件语句单行结构条件语句单行结构条件语句If.Then.Else.块结构条件语句块结构条件语句If.ThenEndIf多分支选择语句多分支选择语句Select Case.End Select条件语句的嵌套条件语句的嵌套特点特点:根据条件是否成立,决定程序的执行分支根据条件是否成立,决定程序的执行分支例例5-3例例5-51引言引言 顺序结构程序的执行次序是按语句的先后排列顺序结构程序的执行次序是按语句的先后排列次序依次执行的,然而,计算机在处理实际问题次序依次执行的,然而,计算机在处理实际问题时,往往需要根据条件是否成立,决
2、定程序的执时,往往需要根据条件是否成立,决定程序的执行方向,在不同的条件下,进行不同的处理。假行方向,在不同的条件下,进行不同的处理。假如遇到这样一个问题:如遇到这样一个问题:Y=|x|x0lnx x0 在输入变量在输入变量x的值之后,需根据的值之后,需根据x的不同取值范的不同取值范围做不同的处理,使用顺序结构的程序无法解决围做不同的处理,使用顺序结构的程序无法解决这一问题的。本章将介绍解决此类问题的语句结这一问题的。本章将介绍解决此类问题的语句结构。构。25.1 单行结构条件语句单行结构条件语句1.格式格式 If 条件条件 Then 语句组语句组1 Else 语句组语句组22.功能功能 如果
3、如果“条件条件”成立成立(True),则执行,则执行“语句语句组组1”否则执行否则执行“语句组语句组2”T语句组语句组1条件条件语句组语句组2F例:例:If x 0 Then y=1 Else y=-1 例:例:If x 0 And x 10 Then y=1 Else y=-1数值表达式:数值表达式:0为为False;非非0为为True 例:例:x=5 If x Then y=1 Else y=-1字符串表达式:字符串表达式:0为为False;非非0为为True2)可以没有可以没有Else部分部分,这时必须有这时必须有“语句组语句组1”例:例:If Xaaa Then Print X43)语
4、句组语句组1、语句组、语句组2:可以有多条语句,可以有多条语句,各语句之间用冒号隔开。各语句之间用冒号隔开。例例:If N0 Then A=A+B:B=B+A Else A=A-B:B=B-A5【例【例5-1】设界面如下图所示,用文本框输】设界面如下图所示,用文本框输入入x的值,单击的值,单击“计算计算Y”按钮时,根据以按钮时,根据以下公式计算下公式计算y的值。的值。|x|x0lnx x0y=Command1Text1Label36Private Sub Command1_Click()X=Val(Text1.Text)If X 0 Then A=A+B:B=B+A Else _ A=A-B:
5、B=B-A82)多条单行结构条件语句不要用冒号合并)多条单行结构条件语句不要用冒号合并成一行成一行。例如:。例如:a=1:b=-2 If a 0 And b 0 Then y=a+b If a 0 And b 0 And b 0 Then y=a+b:If a 0 And b=0 Then X=1+X Else X=5-X Y=1-X Print Y=;Y X=-2 If X=0 Then X=1+X Else X=5-X Y=1-X Print Y=;Y共同出口共同出口105.2 块结构条件语句块结构条件语句1.格式格式 If 条件条件1 Then 语句组语句组1 ElseIf 条件条件2
6、Then 语句组语句组2 ElseIf 条件条件N Then 语句组语句组N Else 其他其他语句组语句组 End If例:例:If x 10 Then y=x-10 ElseIf x 5 Then y=x-5 ElseIf x 0 Then y=x Else Print error End If112.功能功能TTTF条件条件1 1语句组语句组1 1语句组语句组2 2条件条件2 2F条件条件n n语句组语句组n nF语句组语句组n+1n+112条件:关系表达式、布尔表达式、数值表条件:关系表达式、布尔表达式、数值表达式或字符串表达式。达式或字符串表达式。两种常见的简化形式两种常见的简化形式
7、:形式一:形式一:If 条件条件 Then 语句组语句组1Else 语句组语句组2End If形式二:形式二:If 条件条件 Then 语句组语句组End If3.说明说明13【例【例5-2】某运输公司对用户计算运费,距离某运输公司对用户计算运费,距离越远,每公里运费越低,计算标准如下越远,每公里运费越低,计算标准如下:距离距离250km 没有折扣没有折扣 250km距离距离500km 2%折扣折扣 500km距离距离1000km 5%折扣折扣 1000km距离距离2000km 8%折扣折扣 2000km距离距离3000km 10%折扣折扣 3000km距离距离 15%折扣折扣使用块结构条件语
8、句,按以上标准计算运费使用块结构条件语句,按以上标准计算运费14分析:分析:设每公里每吨货物的基本运费为设每公里每吨货物的基本运费为Price,货物重为货物重为Weight,运输距离为运输距离为Distance,折扣为折扣为Discount,则总运费则总运费Freight的计算公式为的计算公式为:Freight=Price*Weight*Distance*(1-Discount)15界面设计:界面设计:Text1Text2Text3Label4Command116代码设计:代码设计:Private Sub Command1_Click()Price=Val(Text1.Text)输入基本运费输
9、入基本运费 Weight=Val(Text2.Text)输入货物重量输入货物重量 distance=Val(Text3.Text)输入运输距离输入运输距离 根据不同的运输距离根据不同的运输距离distance计算折扣计算折扣 If distance=250 And distance=500 And distance=1000 And distance=2000 And distance 3000 Then Discount=0.1 Else Discount=0.15 End If 计算总运费计算总运费 Freight=Price*Weight*distance*(1-Discount)输出总
10、运费输出总运费 Label4.Caption=Format(Freight,0.00)End Sub18If distance 250 Then Discount=0ElseIf distance 500 Then Discount=0.02ElseIf distance 1000 Then Discount=0.05ElseIf distance 2000 Then Discount=0.08ElseIf distance=0 Then y=1 Else y=2 End If 以下两种写法都是错误的:以下两种写法都是错误的:写法一:写法一:If x=0 Then y=1Else y=2End
11、 If写法二:写法二:If x=1 Then y=1 Else y=2End If4.注意注意205.3 多分支选择语句多分支选择语句1.格式格式 Select Case 测试表达式测试表达式 Case 表达式表表达式表1 语句组语句组1 Case 表达式表表达式表2 语句组语句组2 Case Else 语句组语句组n End Select2.功能功能根据测试表达式根据测试表达式的值,按顺序匹的值,按顺序匹配配Case后的表后的表达式,如果匹配达式,如果匹配成功,则执行该成功,则执行该Case下的语句下的语句块,然后转到块,然后转到End Select语句语句之后继续执行。之后继续执行。21语
12、句组语句组n+1n+1TTTF匹配匹配表达式表表达式表1语句组语句组1 1语句组语句组2 2F语句组语句组n nF匹配表达式匹配表达式表表2匹配表达式匹配表达式表表n多分支选择语句的功能流程图多分支选择语句的功能流程图:223.说明说明1)测试表达式测试表达式:数值或字符表达式数值或字符表达式2)Case 后的后的“表达式表表达式表”可以为如下形式可以为如下形式:表达式表达式1,表达式表达式2.如如:Case 1,3,5 表达式表达式1 TO 表达式表达式2 如如:Case 10 TO 30 Case A TO Z Is 关系运算符关系运算符 表达式表达式 如如:Case Is=10 Case
13、 Is=0 与与 Case 0 相同相同 且三种形式可以混用且三种形式可以混用,如如:Case Is -5,0,5 To 10023【例例5-3】用用多多分分支支选选择择语语句句实实现现:输输入入年年份和月份,求该月的天数。份和月份,求该月的天数。分析:分析:当月份为当月份为1、3、5、7、8、10、12时,天时,天数为数为31天;天;当月份为当月份为4、6、9、11时,天数为时,天数为30天;天;当月份为当月份为2时,如果是闰年则天数为时,如果是闰年则天数为29天,天,否则天数为否则天数为28天。天。某年为闰年的条件是:某年为闰年的条件是:年份能被年份能被4整除,但不能被整除,但不能被100
14、整除,或整除,或年份能被年份能被400整除。整除。24界面设计:Text1Text2Text325代码设计:Private Sub Command1_Click()Dim Y As Integer,M As Integer Y=Val(Text1.Text)输入年份输入年份 M=Val(Text2.Text)输入月份输入月份 Select Case M Case 1,3,5,7,8,10,12 Text3.Text=31 Case 4,6,9,11 Text3.Text=3026 Case 2 如果月份为如果月份为2 If(Y Mod 4=0 And Y Mod 100 0)_ Or(Y Mo
15、d 400=0)Then Text3.Text=29 Else Text3.Text=28 End If End SelectEnd Sub271)“测试表达式测试表达式”的类型应与各的类型应与各Case后的表后的表达式类型一致。达式类型一致。2)不能在不能在Case后的表达式中使用后的表达式中使用“测试表测试表达式达式”中的变量。例如:中的变量。例如:Select Case X Case X 0 在这里使用了在这里使用了X,是错误的,是错误的 Y=Abs(X)End Select4.注意注意283)“测试表达式测试表达式”只能是一个变量或一个只能是一个变量或一个表达式,而不能是变量表或表达式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 选择 结构 程序设计 课件
限制150内