《VB选择结构程序设计.ppt》由会员分享,可在线阅读,更多相关《VB选择结构程序设计.ppt(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第五章第五章 选择结构程序设计选择结构程序设计25.5.1.1 1.1 单行结构条件语句单行结构条件语句1. 格式格式 If Then Else 2. 功能功能 如果如果 成立,则执行成立,则执行 否则执行否则执行 T语句组语句组1条件条件?语句组语句组2F第五章第五章 选择结构程序设计选择结构程序设计33. 说明说明(1) 可以是:可以是: n关系表达式关系表达式n布尔表达式布尔表达式n数值表达式:数值表达式:0为为False;非非0为为Truen字符串表达式:字符串表达式: 0为为False;非非0为为True(2) 可以没有可以没有Else部分,这时必须有部分,这时必须有 。T语句组语句
2、组1条件条件?F 例例: If Xaaa Then Print X第五章第五章 选择结构程序设计选择结构程序设计4(3) 、 : 可以有多条语句,各语可以有多条语句,各语句之间用冒号隔开。句之间用冒号隔开。例例: If N0 Then A=A+B:B=B+A Else A=A-B:B=B-A(4)(4)应作为一条语句书写。如果语句太长需要换行,应作为一条语句书写。如果语句太长需要换行,必须在折行处使用续行符号必须在折行处使用续行符号。(5) 无论条件是否成立,都具有共同出口无论条件是否成立,都具有共同出口例例: If X = 0 Then X = 1 + X Else X = 5 - X Y
3、= 1 - X Print Y=; Y 若若 X=2 Y? 若若 X=-2 Y?共同出口共同出口(6)(6)单行结构条件语句可以嵌套单行结构条件语句可以嵌套 IF . THEN.IF . THEN .ELSE .ELSE第五章第五章 选择结构程序设计选择结构程序设计5【例【例5-1】设界面如下图所示,用文本框输入】设界面如下图所示,用文本框输入x的值,的值,单击单击“计算计算Y”按钮时,根据以下公式计算按钮时,根据以下公式计算y的值。的值。|x| x0lnx x0y=Private Sub Command1_Click() X = Val(Text1.Text) If X 0 Then Y =
4、 Log(X)Label3.Caption = Y程序段程序段2:X = Val(Text1.Text)Y = Log(X)If X = 0 ThenY = Abs(X)Label3.Caption = Y第五章第五章 选择结构程序设计选择结构程序设计75.1.2 块结构条件语句块结构条件语句1.1.格式格式If 1 Then 1 ElseIf 2 Then 2 ElseIf N Then N Else End IfIf 1 Then 语句组语句组11Else 语句组语句组22End IfElseElse子句子句ElseIfElseIf子句子句IfIf语句语句End IfEnd If语句语句注
5、意注意: 格式书写格式格式书写格式第五章第五章 选择结构程序设计选择结构程序设计8块结构条件语句的功能:块结构条件语句的功能:TTTF条件条件1 1语句组语句组1 1语句组语句组2 2条件条件2 2F条件条件n n语句组语句组n nF语句组语句组n+1n+1第五章第五章 选择结构程序设计选择结构程序设计9【例【例5-8】某百货公司为了促销,采用购物打折的】某百货公司为了促销,采用购物打折的优惠办法。优惠办法。1000元以上者,按九五折优惠;元以上者,按九五折优惠;2000元以上者,按九折优惠;元以上者,按九折优惠; 3000元以上者,按八元以上者,按八五折优惠;五折优惠; 5000元以上者,按
6、八折优惠;编写元以上者,按八折优惠;编写程序,输入购物款数,计算并输出优惠价。程序,输入购物款数,计算并输出优惠价。分析:设购物款数为分析:设购物款数为x元,优惠价为元,优惠价为y元,则优惠付款公式为:元,则优惠付款公式为: x (x1000) 0.95x (1000 x 2000) y= 0.9x (2000 x3000) 0.85x (3000 x=5000)第五章第五章 选择结构程序设计选择结构程序设计10设计步骤如下:(1)建立应用程序界面并设置对象属性,如图所示。(2)编写程序代码.命令按钮command1的Click事件代码如下:ElseIf x 3000 Then y = 0.9
7、 * xElseIf x 5000 Then y = 0.85 * xElse y = 0.8 * xEnd IfText2.Text = yEnd SubPrivate Sub command1_Click()Dim x As Single, y As Singlex = Val(Text1.Text)If x 1000 Then y = xElseIf x = 0 Then y = 1 Else y = 2 End If 以下两种写法都是错误的:以下两种写法都是错误的: 写法一:写法一:If x=0 Then y=1Else y = 2End If写法二:写法二:If x = 1 Then
8、 y = 10 Else y = 20End If第五章第五章 选择结构程序设计选择结构程序设计125.1.3 多分支选择语句多分支选择语句1. 格式格式 Select Case Case Case Case Else End Select2. 功能功能: 根据测试表达式的值根据测试表达式的值,按顺序匹配按顺序匹配Case后的后的表达式表达式,如果匹配成功如果匹配成功,则执行该则执行该Case下的语句块下的语句块,然后转到然后转到End Select语句之后继续执行。语句之后继续执行。第五章第五章 选择结构程序设计选择结构程序设计13语句组语句组n+1n+1TTTF匹配匹配表达式表表达式表1语
9、句组语句组1 1语句组语句组2 2F语句组语句组n nF匹配表达式匹配表达式表表2匹配表达式匹配表达式表表n多分支选择语句的功能流程图多分支选择语句的功能流程图: :第五章第五章 选择结构程序设计选择结构程序设计143. 说明说明 : 数值或字符串表达式数值或字符串表达式 Case 表达式表表达式表: 表中的表项为如下形式表中的表项为如下形式: (1) 表达式表达式1,表达式表达式2. 如如: Case 1 , 3 , 5 (2) 表达式表达式1 TO 表达式表达式2 如如: Case 10 TO 30 Case A TO Z (3) Is 如如: Case Is = 10 Case Is =
10、 0 与与 Case 0 相同相同 注意注意: 测试表达式的类型应与测试表达式的类型应与Case后表达式类型一致,且三后表达式类型一致,且三种形式可以混用种形式可以混用,如如: Case Is -5 , 0 , 5 To 100举例举例5-8 vb5lt8第五章第五章 选择结构程序设计选择结构程序设计15【例【例5-12】任给定一年,判断是否是闰年,并任给定一年,判断是否是闰年,并根据给出的月份判断是什么季节和该月有多根据给出的月份判断是什么季节和该月有多少天。少天。分析: 根据闰年条件可得出判断闰年的逻辑表达式(Y mod 4 =0 and y mod 1000) or( y mod 400
11、=0)每月的天数可根据月份来定,设计用户界面每月的天数可根据月份来定,设计用户界面如图所示,设置如图所示,设置5个标签,个标签,label3label5的的boardstyle设置为设置为fixed singlePrivate Sub Command1_Click()Dim y As Integer, m As IntegerDim leapyear As Booleany = Val(Text1.Text)m = Val(Text2.Text)If (y Mod 4 = 0 And y Mod 100 0) Or (y Mod 400 = 0) Thenleapyear = TrueLabe
12、l3.Caption = 闰年闰年Elseleapyear = FalseLabel3.Caption = 非闰年非闰年End If第五章第五章 选择结构程序设计选择结构程序设计17Select Case mCase 3 To 5Label4.Caption = springCase 6 To 8Label4.Caption = summerCase 9 To 11Label4.Caption = autummnCase 12, 1, 2Label4.Caption = winterEnd Select第五章第五章 选择结构程序设计选择结构程序设计18Select Case mCase 1,
13、3, 5, 7, 8, 10, 12Label5.Caption = 31天天Case 4, 6, 9, 11Label5.Caption = 30天天Case 2If leapyear ThenLabel5.Caption = 29天天ElseLabel5.Caption = 28天天”End IfEnd SelectText1.SetFocusEnd SubPrivate Sub Command2_Click()Text1.Text = Text1.Text = Label3.Caption = Label4.Caption = Label5.Caption = End Sub第五章第五章
14、 选择结构程序设计选择结构程序设计19 如果在条件成立或不成立的情况下要继续判如果在条件成立或不成立的情况下要继续判断其他条件,则可以使用嵌套的条件语句来实现断其他条件,则可以使用嵌套的条件语句来实现,也就是在语句组中再使用另一个条件语句。,也就是在语句组中再使用另一个条件语句。5.1.4 条件语句的嵌套条件语句的嵌套块结构条件语句的嵌套示例:块结构条件语句的嵌套示例:If A = 1 Then If B = 0 Then Print *0* ElseIf B = 1 Then Print *1* End IfElseIf A = 2 Then Print *2*End If第五章第五章 选择
15、结构程序设计选择结构程序设计20多分支选择语句的嵌套示例:多分支选择语句的嵌套示例:Select Case A Case 1 Select Case B Case 0 Print *0* Case 1 Print *1* End Select Case 2 Print *2*End Select第五章第五章 选择结构程序设计选择结构程序设计21 多分支选择语句与块结构条件语句的互相嵌多分支选择语句与块结构条件语句的互相嵌套示例:套示例:Select Case A Case 1 If B = 0 Then Print *0* ElseIf B = 1 Then Print *1* End If
16、Case 2 Print *2*End Select第五章第五章 选择结构程序设计选择结构程序设计225.2.1IIf函数函数格式格式: IIf(, , )功能功能: 当当的值为的值为True时,返回第时,返回第2个参个参数的值;当数的值;当的值为的值为False时,返回时,返回第第3个参数的值。个参数的值。(类似于具有两个分支的类似于具有两个分支的If语句的功能语句的功能)例例: 使用使用IIf函数求两个变量函数求两个变量A和和B的较大数。的较大数。 MaxAB = IIf(A B, A, B) 例例: 使用使用IIf函数求三个变量函数求三个变量A、B和和C的最大数。的最大数。 MaxAB
17、= IIf(A B, A, B) MaxABC = IIf(MaxAB C, MaxAB, C)5.2 条件函数条件函数第五章第五章 选择结构程序设计选择结构程序设计235.2.2Choose函数函数格式格式: Choose(, ,.,)功能功能: 当当的值为的值为1时,返回时,返回的值;当的值;当的值为的值为2时,返回时,返回的值;的值;。如果。如果的的值不是整数,则会先四舍五入为整数。值不是整数,则会先四舍五入为整数。 例例: 将成绩将成绩1分、分、2分、分、3分、分、4分和分和5分转换成相分转换成相应的等级应的等级: 不及格(不及格(1分,分,2分)、及格(分)、及格(3分),良(分),
18、良(4分),优(分),优(5分)。分)。 Grade = Choose(Score, 不及格不及格, 不及格不及格, 及格及格, 良良, 优优)第五章第五章 选择结构程序设计选择结构程序设计241.用途 时钟控件(Timer)又称计时器、定时器控件,用于有规律地定时执行指定的工作,适合编写不需要与用户进行交互就可直接执行的代码,如计时、倒计时、动画等。在程序运行阶段,时钟控件不可见2.属 性(1)Interval(事件间隔)属性 取值范围在0 到 64767 之间(包括这两个数值),单位为毫秒(0.001秒),表示计时间隔。若将Interval属性设置为0或负数,则计时器停止工作。 需要屏蔽计
19、时器,将Interval设为0;需要每0.5s产生一个计时器事件,则将Interval设为500;若需要每1s产生一个计时器事件,则将Interval设为1000。(2)Enabled属性 无论何时,只要时钟控件的Enabled属性被设置为True而且Interval属性值大于0,则计时器开始工作(以Interval属性值为间隔,触发Timer事件)。 通过把Enabled属性设置为False可使时钟控件无效,即计时器停止工作。5.3 5.3 计时器控件计时器控件TimerTimer第五章第五章 选择结构程序设计选择结构程序设计253. 3. 方法方法: : VB没有为时钟控件提供有关的方法。
20、没有为时钟控件提供有关的方法。4. 4. 事件事件: : 时钟控件只能响应时钟控件只能响应Timer事件事件,当,当Enabled属性值为属性值为True且且Interval属性值大于属性值大于0时,该事件以时,该事件以Interval属性指定的时间间隔发生,需要定时执行的操作即放在该属性指定的时间间隔发生,需要定时执行的操作即放在该事件过程中完成。事件过程中完成。 例例5-14 在窗体上设计一个能按在窗体上设计一个能按12小时格式和小时格式和24小小时格式进行转换的数字时钟。时格式进行转换的数字时钟。v5lt14分析:本题目需要使用的函数有分析:本题目需要使用的函数有3个。个。Time函数:
21、返回系统时间函数:返回系统时间Hour函数:返回时间表达式中的小时数函数:返回时间表达式中的小时数Format(time,form1.tag)函数:按照指定格式返回函数:按照指定格式返回系统当前时间。系统当前时间。 第五章第五章 选择结构程序设计选择结构程序设计26设计步骤如下:设计步骤如下: 1.建立用户界面,如图所示。建立用户界面,如图所示。2.设置对象属性Form1.tag: hh:mm:ssLabel1.caption: 00:00:00Label1.color:白色Label1.bordestyle: 1-fixed singlelabel2.visible:falseTimmer1
22、.interval:1000第五章第五章 选择结构程序设计选择结构程序设计273.编写事件代码编写事件代码Private Sub Timer1_Timer()Label1.Caption = Format(Time, Form1.Tag)If Hour(Time) 12 ThenLabel2.Caption = 下午下午ElseLabel2.Caption = 上午上午End IfEnd Sub第五章第五章 选择结构程序设计选择结构程序设计283.编写事件代码编写事件代码Private Sub Command1_Click()If Command1.Caption = 改为改为12小时制小时制
23、 ThenForm1.Tag = hh:mm:ss AM/PMCommand1.Caption = 改为改为24小时制小时制Label2.Visible = TrueElseForm1.Tag = hh:mm:ss Command1.Caption = 改为改为12小时制小时制Label2.Visible = FalseEnd IfEnd Sub第五章第五章 选择结构程序设计选择结构程序设计295.4 单选钮、复选框单选钮、复选框5.4.1 单选钮单选钮 1. 用途用途 单选钮(OptionButton)也称作选择按钮。一组单选钮控件可以提供一组彼此相互排斥的选项,任何时刻用户只能从中选择一个
24、选项,实现一种“单项选择”的功能,被选中项目左侧圆圈中会出现一黑点。单选按钮第五章第五章 选择结构程序设计选择结构程序设计302. 重要属性(1) Caption:文本标题。设置单选钮的文本注释内容。(2) Alignment属性: 0:Left Justify(缺省)控件钮在左边,标题显示在右边。 1:Right Justify 控件钮在右边,标题显示在左边。(3)Value 属性True: True: 单选钮被单选钮被选定选定False: False: 单选钮未被单选钮未被选定(选定(缺省设置)缺省设置)(4) Style 属性属性 0-Standard: 标准方式标准方式 1-Graph
25、ical:图形方式:图形方式 说 明: 在Style属性设置为1时,可使用 Picture 属性(未选定时的图标或位图)、DownPicture属性( 选定时的图标或位图)、DisabledPicture属性(禁止选择时的图标或位图) (5) Enabled 属性属性要禁用某个单选按钮,可将其Enabled属性设置为假。程序运行时,那么就显示为浅灰色,表示无法选取。第五章第五章 选择结构程序设计选择结构程序设计313. 方法方法 SetFocus方法方法是单选钮控件最常用的方法,可以在代是单选钮控件最常用的方法,可以在代码中通过该方法将码中通过该方法将Value属性设置为属性设置为True。
26、与命令按钮相同,使用该方法之前,必须要保证单选与命令按钮相同,使用该方法之前,必须要保证单选钮处于可见和可用状态(即钮处于可见和可用状态(即Visible与与Enabled属性值均为属性值均为True)。)。4. 事件事件 Click事件是单选钮控件最基本的事件,一般情况用户事件是单选钮控件最基本的事件,一般情况用户无需为单选钮编写无需为单选钮编写Click事件过程,因为当用户单击单选钮事件过程,因为当用户单击单选钮时,它会自动改变状态。时,它会自动改变状态。 例例5-15 单选钮示例单选钮示例 修改修改 例例5-14。第五章第五章 选择结构程序设计选择结构程序设计32例例5-17 设计滚动字
27、幕,使设计滚动字幕,使“欢迎使用学生成绩管欢迎使用学生成绩管理系统理系统”字样自右向左反复移动。字样自右向左反复移动。设计步骤如下:设计步骤如下:1。建立如图所示界面,增加一个计时器控件。建立如图所示界面,增加一个计时器控件,一一个个label1和一个和一个command1,四个单选按钮。四个单选按钮。2. 设置属性:四个单选按钮的设置属性:四个单选按钮的style属性设为属性设为1-graphical。Timer.interval=100,timer.enabled=false3.事件代码事件代码:Private Sub Command1_Click()If Command1.Caption
28、 = &s 暂停暂停 ThenCommand1.Caption = &c 继续继续Timer1.Enabled = FalseElseCommand1.Caption = &s 暂停暂停Timer1.Enabled = TrueEnd IfEnd Sub第五章第五章 选择结构程序设计选择结构程序设计33Private Sub Timer1_Timer()If Label1.Left + Label1.Width 0 ThenLabel1.Move Label1.Left - 20ElseLabel1.Left = Form1.ScaleWidthEnd IfEnd Subprivate Sub
29、 Option1_Click()Label1.FontName = 宋体宋体End SubPrivate Sub Option2_Click()Label1.FontName = 黑体黑体End SubPrivate Sub Option3_Click()Label1.FontName = 隶书隶书End SubPrivate Sub Option4_Click()Label1.FontName = 楷体楷体_GB2312End Sub第五章第五章 选择结构程序设计选择结构程序设计345.4.2 复选框或复选框或检查框检查框1. 用途用途复选框复选框(CheckBox)也称作检)也称作检查框、
30、选择框。一组复选框控件查框、选择框。一组复选框控件可以提供多个选项,它们彼此独可以提供多个选项,它们彼此独立工作,所以用户可以同时选择立工作,所以用户可以同时选择任意多个选项,实现一种任意多个选项,实现一种“不定不定项选择项选择”的功能。选择的功能。选择某一选项某一选项后,该控件将显示后,该控件将显示,而清除此,而清除此选项后,选项后,消失。消失。2. 重要属性 Caption、Alignment、Style与单选钮相同复选框第五章第五章 选择结构程序设计选择结构程序设计35 复选框的复选框的Value 属性与单选按钮不同,其值为数值型数属性与单选按钮不同,其值为数值型数据,可取据,可取 0
31、, 1 , 2 复选框复选框0-Unchecked:未被未被选定选定1-Checked:选定:选定2-Grayed:灰色,禁止选择灰色,禁止选择 单选钮单选钮True: True: 单选钮被单选钮被选定选定False: False: 单选钮未被单选钮未被选定选定 缺省设置缺省设置 复选框与单选按钮复选框与单选按钮Value 属性的比较属性的比较3.Click事件是复选框控件最基本的事件。事件是复选框控件最基本的事件。无论何时单击无论何时单击checkbox控件都将触发控件都将触发click事件,然后编事件,然后编写应用程序,根据复选框的状态执行某些操作。写应用程序,根据复选框的状态执行某些操作
32、。4. 举例:在例举例:在例5-17基础上加两个复选框控件基础上加两个复选框控件第五章第五章 选择结构程序设计选择结构程序设计36其他事件代码不变,增加两个复其他事件代码不变,增加两个复选框按钮的选框按钮的click事件代码。事件代码。Private Sub Check1_Click()If Check1.Value = 1 ThenLabel1.FontUnderline = TrueElseLabel1.FontUnderline = FalseEnd IfEnd SubPrivate Sub Check2_Click()If Check2.Value = 1 ThenLabel1.Fon
33、tItalic = TrueElseLabel1.FontItalic = FalseEnd IfEnd Sub第五章第五章 选择结构程序设计选择结构程序设计37本章小结本章小结: :1.单行结构条件语句单行结构条件语句 If Then Else 2. 块结构条件语句块结构条件语句If Then ElseIf Then Else End If3. 多分支选择语句多分支选择语句Select Case Case Case Case Else End Select4.Timer控件,单选钮和复选按钮控件控件,单选钮和复选按钮控件第五章第五章 选择结构程序设计选择结构程序设计38作业练习作业练习:1. 建立如图所示界面,对文本框进行字体选择和效建立如图所示界面,对文本框进行字体选择和效果选择,用计时器进行前景和背景色选择。果选择,用计时器进行前景和背景色选择。第五章第五章 选择结构程序设计选择结构程序设计392. 设计一个窗体,通过文本框接受数据,计算总成设计一个窗体,通过文本框接受数据,计算总成绩,平均成绩,再评定等级。等级评定标准:平均绩,平均成绩,再评定等级。等级评定标准:平均分分91100分为分为“优秀优秀”,平均分,平均分8190为为“良良好好”,平均分,平均分6090为为“中等中等”,平均分,平均分60以下以下为为“差差”,如图所示。,如图所示。
限制150内