配色: 字号:
Visual Basic程序设计(第3版)第5章 选择结构程序设计
2022-10-28 | 阅:  转:  |  分享 
  
第5章 选择结构程序设计 选择结构是一种常用的基本结构,是计算机科学用来描述自然界和社会生活中分支现象的重要手段。其特点是:根据所给
定的条件为真(即条件成立)与否,而决定从各实际可能的不同分支中执行某一分支的相应操作,并且任何情况下总有:“无论分支多寡,必择其一
;纵然分支众多,仅选其一”的特性。第5章 选择结构程序设计条件表达式1简单条件选择结构的程序设计 2多分支条件选择结构的程序设计
3计时器控件Timer 4单选钮控件OptionButton 5复选框控件CheckBox 65.1 条件表达式5.1.1 关
系表达式 〈表达式1〉〈关系运算符〉〈表达式2〉[〈关系运算符〉〈表达式3〉…] (1)3 < 6,值为True
(2)8 <= 5,值为False (3)3 > 2,值为True (4)2 >= 3,值为False (5)
2 = 3,值为False (6)"a" <> "b",值为True (7)3 4 < 1 + 2,值为False
5.1.2 布尔表达式 (1)Not (1 > 0),值为:False (2)Not ("a" <>"a"),
值为:True (3)2 > 3 And 1 < 2,值为:False (4)2 > 3 Or 1 < 2,值为:Tr
ue5.1.3 运算符的优先顺序VB表达式2 + 3 > 1 + 4 And Not 6 < 8的值。 ① 算术运
算: 5 > 5 And Not 6 < 8 ② 关系运算: False
And Not True ③ 非运算: False And False ④
结果: False 5.2 简单条件选择结构的程序设计5.2.1 单行结构条件语句
If〈条件〉Then [〈语句组1〉] [ Else〈语句组2〉]Private Sub Command1_Click()
Dim x As Integer x = Val(Text1.Text) If x Mod 2 = 0 Then Label
2.Caption = "偶数" Else Label2.Caption = "奇数"End SubPrivate Sub Com
mand2_Click() Text1.Text = ""End SubPrivate Sub Command3_Click()
Unload MeEnd Sub5.2.2 多行结构条件语句If〈条件〉Then 〈语句组1〉[Else 〈语句组2〉]En
d IfPrivate Sub Command1_Click() Dim x As Single, y As Single x
= Val(Text1.Text) y = Val(Text2.Text) If x < y Then t = x
: x = y : y = t End If Label3.Caption = "较大数为" & Str(x)End
SubPrivate Sub Command1_Click() Dim x As Single, y As Single x
= Val(Text1.Text) y = Val(Text2.Text) If x < y Then Label3.
Caption = "较大数为" & Str(y) Else Label3.Caption = "较大数为" & Str(
x) End IfEnd Sub5.2.3 If语句的嵌套 If语句的嵌套是指If或Else后面的语句块中又包含If语
句。语句形式如下:If〈条件1〉Then If〈条件2〉Then … End If …End If 铁路托运行
李,从甲地到乙地,规定每张客票托运费计算方法是:行李重量不超过50千克时,每千克0.25元;超过50千克而不超过100千克时,其超
过部分每千克0.35元;超过100千克时,其超过部分每千克0.45元。编写程序,输入行李重量,计算并输出托运的费用。Private
Sub Command1_Click() Dim w As Single, x As Single w = Val(Text
1.Text) If w <= 50 Then x = 0.25 w Else If w <= 100 The
n x = 0.25 50 + 0.35 (w - 50) Else x = 0.25 50
+ 0.35 50 + 0.45 (w - 100) End If End If Text2.Text = x
End Sub5.2.4 If语句的嵌套格式ElseIfIf〈条件1〉Then 〈语句组1〉ElseIf〈条件2〉Then 〈语
句组2〉 ...[Else 〈语句组n+1〉]End If某百货公司为了促销,采用购物打折扣的优惠办法,即每位顾客一次购物:
(1) 在1000元以上2000元以下者,按九五折优惠; (2) 在2000元以上3000元以下者,按九折优惠; (
3) 在3000元以上5000元以下者,按八五折优惠; (4) 在5000元以上者,按八折优惠。Private Sub Co
mmand1_Click() Dim x As Single, y As Single x = Val(Text1.Text)
If x < 1000 Then y = x ElseIf x < 2000 Then y = 0.95 x
ElseIf x < 3000 Then y = 0.9 x ElseIf x < 5000 T
hen y = 0.85 x Else y = 0.8 x End If Text2.T
ext = yEnd Sub5.3 多分支条件选择结构的程序设计Select Case〈测试条件〉 [Case〈表达式表1〉
〈语句组1〉] [Case〈表达式表2〉 〈语句组2〉] ... [Case Else 〈语句组n+1〉
]End Select为某航空公司设计程序,根据月份和订票张数决定票价的优惠率。假设优惠规定如下: (1) 在旅游的旺季7~
9月份,如果订票数超过20张,票价优惠15%,20张以下,优惠5%; (2) 在旅游的淡季1~5月份、10月份、11月份,如
果订票数超过20张,票价优惠30%,20张以下,优惠20%; (3) 其他情况一律优惠10%。Private Sub Com
mand1_Click() Dim m As Integer, n As Integer, r As Integer m =
Val(Text1.Text) n = Val(Text2.Text) Select Case m Case Is <=
5, 10, 11 If n < 20 Then r = 20 Else r = 30 Case 7 To 9
If n < 20 Then r = 5 Else r = 15 Case Else r = 1
0 End Select Label4.Caption = "所订机票的优惠率为:" & Str(r) & "%"End Su
b5.4 计时器控件Timer Timer(计时器)控件能有规律地以一定的时间间隔激发Timer事件而执行相应的程序代码。
(1) Timer控件在设计时显示为一个小时钟图标,而在运行时并不显示在屏幕上,通常用标签来显示时间。 (2) 计时器
控件Timer的主要属性有2个。 ① Enabled属性:该属性为True时,定时器开始工作;为False时,暂停。
② Interval属性:表示两个计时器事件之间的时间间隔,其值以毫秒(ms)为单位,介于0~64767ms之间,所以最大的时间间
隔约为1.5min。 Private Sub Timer1_Timer() Label2.Caption = Time$End
Sub5.5 单选钮控件OptionButton 单选钮(OptionButton)的左边有一个。一般来说,单按钮总是
成组(单选按钮组)出现,用户在一组单选钮中必须选择一项,并且最多只能选择一项。当某一项被选定后,其左边的圆圈中出现一个黑点。单选钮
主要用于在多种功能中由用户选择一种功能的情况。5.5.1 单选钮控件的简单使用 (1) 单选钮的主要属性有: Alignmen
t属性:当其值为0时,表示单选钮在左边,标题显示在右边,缺省设置;当值为1时,表示单选钮在右边,标题显示在左边。 Value属性
:当值为True时,表示单选钮被选定;值为False,表示单选钮未被选定,缺省设置。 Enabled属性:要禁用某单选钮,可将其
Enabled属性设置为False。程序运行时,若此单选钮显示模糊,表示无法选取。 输入圆的半径r,利用选项按钮,选择计算圆面积、
计算圆周长等。Private Sub Text1_KeyPress(KeyAscii As Integer) Dim r As
String If KeyAscii = 13 Then pi = 3.14159 r = Val(Text1.Te
xt) Select Case True Case Option1.Value n = pi r
r Label1.Caption = "圆的面积为:" & Str(n) Case Option2.
Value n = 2 pi r Label1.Caption = "圆的周长为:" & St
r(n) Case Option3.Value n = pi r r m = 2
pi r Label1.Caption = "圆的面积为:" & Str(n) & Chr(13) & "
周长为:" & Str(m) End Select Text1.SelStart = 0 Text1.Se
lLength = Len(Text1.Text) End IfEnd SubPrivate Sub Text1_GotFocu
s() Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text)End Sub
Private Sub Option1_Click() Text1.SetFocusEnd SubPrivate Sub Opt
ion2_Click() Text1.SetFocusEnd SubPrivate Sub Option3_Click() T
ext1.SetFocusEnd Sub5.5.2 使用单选按钮组Private Sub Command1_Click() I
f Option1.Value Then Text1.FontName = "宋体" Else Text1.Font
Name = "黑体" End If If Option3.Value Then Text1.FontSize = 10
Else Text1.FontSize = 14 End IfEnd SubPrivate Sub Command2_
Click() Unload MeEnd Sub5.5.3 使用图形选项按钮 修改Timer1的属性:Interval改
为100,Enabled改为False。 修改Option1~Option4的Style属性为:1-Graphical(图形方
式)。 Private Sub Command1_Click() If Command1.Caption = "&S 暂停" T
hen Command1.Caption = "&C 继续" Timer1.Enabled = False Else
Command1.Caption = "&S 暂停" Timer1.Enabled = True End IfEn
d SubPrivate Sub Timer1_Timer() If Label1.Left + Label1.Width >
0 Then Label1.Move Label1.Left – 20 Else Label1.Left = Fo
rm1.ScaleWidth End IfEnd SubPrivate Sub Option1_Click() Label1.
FontName = "宋体"End SubPrivate Sub Option2_Click() Label1.FontNam
e = "隶书"End SubPrivate Sub Option3_Click() Label1.FontName = "黑体
"End SubPrivate Sub Option4_Click() Label1.FontName = "楷体_GB2312
"End Sub5.6 复选框控件CheckBox用复选框控制文本输入是否加上“下划线”和“斜体显示”。Private Sub
Text1_Change() If Check1.Value = 1 Then Text1.FontUnderline = True ElseIf Check2.Value = 1 Then Text1.FontItalic = True End IfEnd SubPrivate Sub Check1_Click() If Check1.Value = 1 Then Text1.FontUnderline = True Else Text1.FontUnderline = False End IfEnd SubPrivate Sub Check2_Click() If Check2.Value = 1 Then Text1.FontItalic = True Else Text1.FontItalic = False End IfEnd Sub 本章结束
献花(0)
+1
(本文系籽油荃面原创)