VB程序设计第2版第5章.ppt
《VB程序设计第2版第5章.ppt》由会员分享,可在线阅读,更多相关《VB程序设计第2版第5章.ppt(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第五五章章 选选择择结结构构程程序序设设计计第第5 5章章选择结构程序设计选择结构程序设计本章要点本章要点:条件语句条件语句单行结构条件语句单行结构条件语句If.Then.Else.块结构条件语句块结构条件语句If.ThenEndIf多分支选择语句多分支选择语句Select Case.End Select多分支选择转移语句多分支选择转移语句OnGoTo特点特点:根据条件是否成立,决定程序的执行分支根据条件是否成立,决定程序的执行分支1第第五五章章 选选择择结结构构程程序序设设计计引言引言 顺序结构程序的执行次序是按语句的先后排列顺序结构程序的执行次序是按语句的先后排列次序依次执行的,然而,计
2、算机在处理实际问题次序依次执行的,然而,计算机在处理实际问题时,往往需要根据条件是否成立,决定程序的执时,往往需要根据条件是否成立,决定程序的执行方向,在不同的条件下,进行不同的处理。假行方向,在不同的条件下,进行不同的处理。假如遇到这样一个问题:如遇到这样一个问题:Y=|x|x0lnx x0 在输入变量在输入变量x的值之后,需根据的值之后,需根据x的不同取值范的不同取值范围做不同的处理,使用顺序结构的程序无法解决围做不同的处理,使用顺序结构的程序无法解决这一问题的。本章将介绍解决此类问题的四种语这一问题的。本章将介绍解决此类问题的四种语句结构。句结构。2第第五五章章 选选择择结结构构程程序序
3、设设计计5.1 单行结构条件语句单行结构条件语句1.格式格式 If Then Else 2.功能功能 如果如果 成立,则执行成立,则执行 否则执行否则执行 T语句组语句组1条件条件语句组语句组2F3第第五五章章 选选择择结结构构程程序序设设计计3.说明说明(1)可以是:可以是:n关系表达式关系表达式n布尔表达式布尔表达式n数值表达式:数值表达式:0为为False;非非0为为Truen字符串表达式:字符串表达式:0为为False;非非0为为True(2)可以没有可以没有Else部分,这时必须有部分,这时必须有 。T语句组语句组1条件条件F 例例:If Xaaa Then Print X4第第五五
4、章章 选选择择结结构构程程序序设设计计(3)、:可以有多条语句,各语可以有多条语句,各语句之间用冒号隔开。句之间用冒号隔开。例例:If N0 Then A=A+B:B=B+A Else A=A-B:B=B-A(4)应应作作为为一条一条语语句句书书写。如果写。如果语语句太句太长长需要需要换换行,行,必必须须在折行在折行处处使用使用续续行符号行符号。(5)无论条件是否成立,都具有共同出口无论条件是否成立,都具有共同出口例例:If X=0 Then X=1+X Else X=5-X Y=1-X Print Y=;Y 若若 X=2 则打印则打印 Y=-2 若若 X=-2 则打印则打印 Y=-6共同出口
5、共同出口(6)单行结构条件语句可以嵌套单行结构条件语句可以嵌套 IF.THEN.IF.THEN.ELSE.ELSE5第第五五章章 选选择择结结构构程程序序设设计计【例【例5-1】设界面如下图所示,用文本框输入】设界面如下图所示,用文本框输入x的值,的值,单击单击“计算计算Y”按钮时,根据以下公式计算按钮时,根据以下公式计算y的值。的值。|x|x0lnx x0y=Command1Text1Label36第第五五章章 选选择择结结构构程程序序设设计计分析:分析:本例需要输入本例需要输入x,根据根据x的值决定的值决定y的的值,然后输出值,然后输出y的值,的值,该计算过程可以用流该计算过程可以用流程图
6、表示:程图表示:lnxyT|x|yx0F输入输入x的值的值输出输出y的值的值Private Sub Command1_Click()X=Val(Text1.Text)If X 0 Then Y=Log(X)Label3.Caption=Y程序段程序段2:X=Val(Text1.Text)Y=Log(X)If X 0,Y0X0,Y0第二象限第二象限X0X0第三象限第三象限X0,Y0X0,Y0,Y0,Y0X0FY0Y0F输入输入X,YX,Y的值的值输出:该点输出:该点不在任何象限不在任何象限Y0Y0T输出:输出:在第一象限在第一象限输出:输出:在第四象限在第四象限输出:输出:在第二象限在第二象限输
7、出:输出:在第三象限在第三象限FT10第第五五章章 选选择择结结构构程程序序设设计计 设运行时单击命令按钮设运行时单击命令按钮Command1进行判断,进行判断,并将结果直接打印在窗体上,并将结果直接打印在窗体上,Command1的的Click事件过程如下:事件过程如下:Private Sub Command1_Click()X=Val(Text1.Text):Y=Val(Text2.Text)If X=0 Or Y=0 Then _ Print 不在任何象限内不在任何象限内:Exit Sub If X 0 Then If Y 0 Then Print IN A Else _ Print IN
8、 D Else If Y 0 Then Print IN B _ Else Print IN C End Sub11第第五五章章 选选择择结结构构程程序序设设计计5.2 块结构条件语句块结构条件语句1.格式格式 If Then ElseIf Then ElseIf Then Else End If12第第五五章章 选选择择结结构构程程序序设设计计2.功能功能TTTF条件条件1 1语句组语句组1 1语句组语句组2 2条件条件2 2F条件条件n n语句组语句组n nF语句组语句组n+1n+113第第五五章章 选选择择结结构构程程序序设设计计3.说明说明1)整个块结构必须以整个块结构必须以If语句开
9、头,语句开头,End If语句结语句结束束2)除了第一行的除了第一行的If语句和最后一行的语句和最后一行的End If语句语句是必须的以外,是必须的以外,ElseIf子句和子句和Else子句都是可子句都是可选的。选的。3)两种常见的简化形式两种常见的简化形式:形式一:形式一:If Then Else End If形式二:形式二:If Then End If14第第五五章章 选选择择结结构构程程序序设设计计【例【例5-3】将例】将例5-2改成用块结构条件语句实现。改成用块结构条件语句实现。Private Sub Command1_Click()X=Val(Text1.Text):Y=Val(Te
10、xt2.Text)If X=0 Or Y=0 Then Print 该点不在任何象限内该点不在任何象限内 ElseIf X 0 And Y 0 Then Print 在第一象限在第一象限 ElseIf X 0 Then Print 在第二象限在第二象限 ElseIf X 0 And Y 40时,打印时,打印HOT 30C40时,打印时,打印 WARM 20C30时,打印时,打印 ROOM TEMPERATURE 10C20时,打印时,打印 COOL 0 40 Then Label2.Caption=HOT ElseIf C 30 Then Label2.Caption=WARM ElseIf
11、C 20 Then Label2.Caption=ROOM TEMPERATURE ElseIf C 10 Then Label2.Caption=COOL ElseIf C 0 Then Label2.Caption=COLD Else Label2.Caption=FREEZING End IfEnd Sub 17第第五五章章 选选择择结结构构程程序序设设计计4.注意注意1)ElseIf不能写成不能写成Else If,即中间不能有空格。即中间不能有空格。2)在书写时,可以将在书写时,可以将If语句、语句、ElseIf子句、子句、Else子子句、和句、和End If语句左对齐,而各语句组向右
12、缩语句左对齐,而各语句组向右缩进若干空格,以使程序结构更清楚。进若干空格,以使程序结构更清楚。3)严格按格式要求书写,不可随意换行或将两行严格按格式要求书写,不可随意换行或将两行合并成一行。例如,对于条件结构:合并成一行。例如,对于条件结构:If x=0 Then y=1 Else y=2 End If 以下两种写法都是错误的:以下两种写法都是错误的:写法一:写法一:If x=0 Then y=1Else y=2End If写法二:写法二:If x=1 Then y=10 Else y=20End If18第第五五章章 选选择择结结构构程程序序设设计计5.3 多分支选择语句多分支选择语句1.格
13、式格式 Select Case Case Case Case Else End Select2.功能功能:根据测试表达式的值根据测试表达式的值,按顺序匹配按顺序匹配Case后的后的表达式表达式,如果匹配成功如果匹配成功,则执行该则执行该Case下的语句块下的语句块,然后转到然后转到End Select语句之后继续执行。语句之后继续执行。19第第五五章章 选选择择结结构构程程序序设设计计语句组语句组n+1n+1TTTF匹配匹配表达式表表达式表1语句组语句组1 1语句组语句组2 2F语句组语句组n nF匹配表达式匹配表达式表表2匹配表达式匹配表达式表表n多分支选择语句的功能流程图多分支选择语句的功
14、能流程图:20第第五五章章 选选择择结结构构程程序序设设计计3.说明说明 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 Is=0 与与 Case 0 相同相同 且三种形式可以混用且三种形式可以混用,如如:Case Is -5,0,5 To 10021第第五五章章 选选择择结结构构程程序序设设计计Y=ex+e-x x0【例【例5-5】按以下公式求分段函
15、数按以下公式求分段函数y的值。的值。Text1Text2Command1 设运行时从文本框设运行时从文本框Text1输入输入x的值,单击命令的值,单击命令按钮按钮Command1计算计算Y的值,结果显示于文本框的值,结果显示于文本框Text2中,界面如下:中,界面如下:22第第五五章章 选选择择结结构构程程序序设设计计命令按钮命令按钮Command1的的Click事件过程如下:事件过程如下:Private Sub Command1_Click()X=Val(Text1.Text)输入输入X的值的值 Select Case X 为为X Case Is 0 Y=Log(X)/Log(10)End
16、Select Text2.Text=Format(Y,0.000000)End Sub23第第五五章章 选选择择结结构构程程序序设设计计4.注意注意1)的类型应与各的类型应与各Case后的表达式类后的表达式类型一致。型一致。2)不能在不能在Case后的表达式中使用后的表达式中使用中中的变量。例如:的变量。例如:Select Case X Case X 0 在这里使用了变量在这里使用了变量X,是错误的是错误的 Y=Log(X)/Log(10)End Select24第第五五章章 选选择择结结构构程程序序设设计计3)只能是一个变量或一个表达式,只能是一个变量或一个表达式,而不能是变量表或表达式表。
17、例如,检查变量而不能是变量表或表达式表。例如,检查变量X1、X2、X3之和是否小于零,之和是否小于零,不能写成:不能写成:Select Case X1,X2,X3 错误写法错误写法 Case X1+X2+X3 0 End Select 而应该写成:而应该写成:Select Case X1+X2+X3 正确写法正确写法 Case Is 0 End Select25第第五五章章 选选择择结结构构程程序序设设计计4)不要在不要在Case后直接使用布尔运算符来表示条件。后直接使用布尔运算符来表示条件。例如,要表示条件例如,要表示条件0X0 And Is100 使用了使用了And,是错误的是错误的 En
18、d Select 对于较复杂的条件,可以用块结构条件语句来对于较复杂的条件,可以用块结构条件语句来实现,而有些条件完全可以转换成实现,而有些条件完全可以转换成Case语句允许语句允许的几种形式之一。的几种形式之一。26第第五五章章 选选择择结结构构程程序序设设计计【例【例5-6】某运输公司对用户计算运费,距离越远,】某运输公司对用户计算运费,距离越远,每公里运费越低,计算标准如下每公里运费越低,计算标准如下:距离距离250km 没有折扣没有折扣 250km距离距离500km 2%折扣折扣 500km距离距离1000km 5%折扣折扣 1000km距离距离2000km 8%折扣折扣 2000km
19、距离距离3000km 10%折扣折扣 3000km距离距离 15%折扣折扣分析:分析:设每公里每吨货物的基本运费为设每公里每吨货物的基本运费为Price,货货物重为物重为Weight,运输距离为运输距离为Distance,折扣为折扣为Discount,则总运费则总运费Freight的计算公式为的计算公式为:Freight=Price*Weight*Distance*(1-Discount)27第第五五章章 选选择择结结构构程程序序设设计计设计界面如下图:设计界面如下图:Text1Text2Text3Text4Command128第第五五章章 选选择择结结构构程程序序设设计计Command1的的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 程序设计
限制150内