第5章选择结构设计_第1页
第5章选择结构设计_第2页
第5章选择结构设计_第3页
第5章选择结构设计_第4页
第5章选择结构设计_第5页
已阅读5页,还剩101页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第5 5章章 选择结构设计选择结构设计 第第5章章 选择结构设计选择结构设计 5.1 选择结构的概念选择结构的概念 5.2 条件表达式条件表达式 5.3 If语句语句 5.4 多分支条件选择语句多分支条件选择语句Select Case 5.5 计时器控件计时器控件 5.6 选择性控件选择性控件 习题五习题五 第第5 5章章 选择结构设计选择结构设计 5.1 选择结构的概念选择结构的概念 在日常生活和工作中,经常需要根据给定的条件进行分析、比较和判断,以采取相应的不同操作。 第第5 5章章 选择结构设计选择结构设计 选择结构是计算机科学用来描述自然界和社会生活中分支现象的重要手段。其特点是:根

2、据所给定的条件为真(即条件成立)与否,而决定从各实际可能的不同分支中执行某一分支的相应操作,并且任何情况下总有“无论分支多寡,必择其一;纵然分支众多,仅选其一”的特性。第第5 5章章 选择结构设计选择结构设计 5.2 条条 件件 表表 达达 式式 5.2.1 关系运算符与关系表达式 1. 关系运算符 关系运算符的作用是对两个表达式的值进行比较,若关系成立,则返回True,否则返回False。VB提供了6种关系运算符,如表5-1所示。第第5 5章章 选择结构设计选择结构设计 表5-1 关系运算符 第第5 5章章 选择结构设计选择结构设计 2. 关系表达式 关系表达式是指用关系运算符将两个表达式连

3、接起来的式子(例如2 * 3 2 + 3),关系表达式的格式为表达式1关系运算符表达式2关系运算符表达式3.第第5 5章章 选择结构设计选择结构设计 5.2.2 布尔运算符与布尔表达式 布尔表达式是指用布尔运算符连接若干关系表达式或布尔值而组成的式子。如不等式2x3可以表示为2 = x And x 1 + 4 And Not 6 5 And Not 6 = 0 Then y = Sqr(x) Else y = -x 判断并计算 Text2.Text = y 输出结果 Text2.Locked = TrueEnd Sub程序运行结果如图5.1所示。第第5 5章章 选择结构设计选择结构设计 图5.

4、2 输出两数中的较大数 第第5 5章章 选择结构设计选择结构设计 【例5-4】 已知两个数x和y,比较它们的大小,输出较大数。 设计步骤如下: (1) 建立应用程序用户界面并设置对象属性,如图5.2所示。 (2) 编写事件代码。命令按钮Command1的单击(Click)事件代码为第第5 5章章 选择结构设计选择结构设计 Private Sub Command1_Click() Dim x As Single, y As Single 定义变量数据类型为单精度数 x = Val(Text1.Text) y = Val(Text2.Text) If x y Then Label3.Caption

5、 = 较大数为 & Str(x)End Sub第第5 5章章 选择结构设计选择结构设计 或者编写代码为Private Sub Command1_Click() Dim x As Single, y As Single 定义变量数据类型为单精度数 x = Val(Text1.Text) y = Val(Text2.Text) If x = 0 Then y = Sqr(x) Else y = -x End If Text2.Text = y Text2.Locked = True End Sub第第5 5章章 选择结构设计选择结构设计 【例5-6】 将例5-4中命令按钮Command1的

6、单击(Click)事件代码改为多行If语句: Private Sub Command1_Click() Dim x As Single, y As Single x = Val(Text1.Text) y = Val(Text2.Text) If x y Then 第第5 5章章 选择结构设计选择结构设计 Label3.Caption = 较大数为 & Str(y) ElseLabel3.Caption = 较大数为 & Str(x) End IfEnd Sub第第5 5章章 选择结构设计选择结构设计 5.3.4 If语句的嵌套 1. If语句的嵌套 If语句的嵌套是指If或E

7、lse后面的语句块中又包含If语句。语句形式如下: If条件1Then If条件2Then End If End If第第5 5章章 选择结构设计选择结构设计 【例5-7】 键盘输入3个不同的数,将它们从大到小排序。 (1) 建立应用程序用户界面并设置对象属性,如图5.3所示。 (2) 编写事件代码。命令按钮Command1的单击(Click)事件代码为 第第5 5章章 选择结构设计选择结构设计 图5.3 从大到小排序第第5 5章章 选择结构设计选择结构设计 Private Sub Command1_Click() Dim x As Single, y As Single, z As Sing

8、le x = Val(Text1.Text) 输入数据 y = Val(Text2.Text) z = Val(Text3.Text) If x y Then 将第1个数与第2个数进行比较,使大数在前t = x : x = y : y = t 交换数据第第5 5章章 选择结构设计选择结构设计 End If If y zIf x y,此时的x、y已不再是原x、y的值 t = x : x = y : y = tEnd If End If Label4.Caption = 从大到小排序结果: & Str(x) & Str(y) & Str(z)End Sub第第5 5章章 选

9、择结构设计选择结构设计 【例5-8】 某百货公司为了促销,采用购物打折扣的优惠办法,即每位顾客一次购物: (1) 在1000元以上2000元以下者,按九五折优惠; (2) 在2000元以上3000元以下者,按九折优惠; (3) 在3000元以上5000元以下者,按八五折优惠; (4) 在5000元以上者,按八折优惠。第第5 5章章 选择结构设计选择结构设计 设计步骤如下: (1) 建立应用程序用户界面并设置对象属性,如图5.4所示。 (2) 编写事件代码。命令按钮Command1的单击(Click)事件代码为第第5 5章章 选择结构设计选择结构设计 图5.4 计算优惠价第第5 5章章 选择结构

10、设计选择结构设计 Private Sub Command1_Click() Dim x As Single, y As Single x = Val(Text1.Text) If x 1000 Theny = x 不打折 ElseIf x 2000 Then 九五折 y = 0.95 * xElse If x 3000 Then第第5 5章章 选择结构设计选择结构设计 y = 0.9 * x 九折 ElseIf x 5000 Then y = 0.85 * x 八五折Else y = 0.8 * x 八折End If 第第5 5章章 选择结构设计选择结构设计 End IfEnd If End

11、If Text2.Text = y Text2.Locked = TrueEnd Sub程序运行结果如图5.4所示。第第5 5章章 选择结构设计选择结构设计 2. If语句的嵌套格式ElseIf 如果出现多层If语句嵌套,将使程序冗长,不便阅读。为此VB提供了带ElseIf的块If语句来处理当条件为假时又内嵌块If语句的情形,以使程序简化易写。其语法结构为第第5 5章章 选择结构设计选择结构设计 If条件1Then 语句列1ElseIf条件2Then 语句列2 Else 其他语句列End If第第5 5章章 选择结构设计选择结构设计 【例5-9】 在例5-8中使用带ElseIf的块If语句来计

12、算出优惠价。将命令按钮Command1的单击(Click)事件代码改为 Private Sub Command1_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 九五折第第5 5章章 选择结构设计选择结构设计 ElseIf x 3000 Theny = 0.9 * x 九折 ElseIf x 5000 Theny = 0.85 * x 八五折 Elsey = 0.8 * x 八折 End If Text2.Text

13、= y Text2.Locked = TrueEnd Sub第第5 5章章 选择结构设计选择结构设计 【例5-10】 编制命令按钮代码,要求每单击一次命令按钮,就会依次在窗体上显示下面诗词中的诗句。 静夜思 床前明月光, 疑是地上霜。 举头望明月, 低头思故乡。 (1) 建立应用程序用户界面并设置对象属性,如图5.5所示。 (2) 编写事件代码。命令按钮Command1的单击(Click)事件代码为第第5 5章章 选择结构设计选择结构设计 Private Sub Command1_Click() Label1.FontName = 隶书 Label1.FontSize = 14 Label1.

14、ForeColor = QBColor(4) Label1.Caption = 静夜思 设置标签Label1的标题 Command1.Caption = 显示 设置命令按钮的标题属性第第5 5章章 选择结构设计选择结构设计 Static i As Integer 声明静态变量i为整型数 i = i + 1 Mytext1 = 床前明月光, Mytext2 = Mytext1 + Chr(13) + 疑是地上霜。 Chr(13)表示换行 Mytext3 = Mytext2 + Chr(13) + 举头望明月, Mytext4 = Mytext3 + Chr(13) + 低头思故乡。If i =

15、1 ThenLabel2.Caption = Mytext1 ElseIf i = 2 Then第第5 5章章 选择结构设计选择结构设计 Label2.Caption = Mytext2 ElseIf i = 3 ThenLabel2.Caption = Mytext3 ElseLabel2.Caption = Mytext4i = 0 End IfEnd Sub程序运行结果如图5.5所示。第第5 5章章 选择结构设计选择结构设计 图5.5 显示诗句 第第5 5章章 选择结构设计选择结构设计 5.4 多分支条件选择语句多分支条件选择语句Select Case 虽然使用嵌套的办法可以利用If语句

16、实现多分支选择,但是最好还是使用VB提供的多分支选择结构(Select Case语句)来实现。根据单一表达式来执行多种可能的动作时,Select Case更为简捷。多分支选择结构的特点是:从多个选择结构中,选择第一个条件为真的路线作为执行的路线。Select Case语句的语法格式为第第5 5章章 选择结构设计选择结构设计 Select Case测试条件 Case表达式表1 语句列1 Case表达式表2 语句列2 Case Else 其他语句列End Select第第5 5章章 选择结构设计选择结构设计 【例5-11】 在例5-8中使用Select Case语句来计算优惠价,只需将其中命令按钮

17、Command1的单击(Click)事件代码改为 Private Sub Command1_Click() Dim x As Single, y As Single x = Val(Text1.Text) Select Case x Case Is 1000 y = x Case Is 2000 y = 0.95 * x 第第5 5章章 选择结构设计选择结构设计 Case Is 3000 y = 0.9 * xCase Is 0 Then Label1.Move Label1.Left - 20 当标签右边位置0时,标签向左移 ElseLabel1.Left = Form1.ScaleWidt

18、h 标签从头开始 End IfEnd Sub第第5 5章章 选择结构设计选择结构设计 依次编写单选钮Option1Option4的Click事件代码:Private Sub Option1_Click() Label1.FontName = 宋体End SubPrivate Sub Option2_Click() Label1.FontName = 隶书End SubPrivate Sub Option3_Click() 第第5 5章章 选择结构设计选择结构设计 Label1.FontName = 黑体End SubPrivate Sub Option4_Click() Label1.Font

19、Name = 楷体_GB2312End Sub程序运行结果如图5.14所示。第第5 5章章 选择结构设计选择结构设计 5.6.2 复选框 1. 复选框的常用属性 复选框的常用属性与单选钮基本相同,如复选框的Caption属性可以指定出现在复选框旁边的文本,而Picture属性用来指定当复选框被设计成图形按钮时的图像。 第第5 5章章 选择结构设计选择结构设计 2. 复选框的使用 【例5-17】 用复选框控制文本输入是否加上“下划线”和“斜体显示”。 设计步骤如下: (1) 建立应用程序用户界面。建立3个控件:一个文本框和两个复选框。在文本框中显示文本,由两个复选框决定显示的文本是否加下划线或用

20、斜体显示。 (2) 设置对象属性。3个控件的属性设置如图5.15所示。第第5 5章章 选择结构设计选择结构设计 图5.15 复选框应用示例第第5 5章章 选择结构设计选择结构设计 (3) 编写事件代码。编写的事件代码为Private Sub Text1_Change() If Check1.Value = 1 ThenText1.FontUnderline = True ElseIf Check2.Value = 1 ThenText1.FontItalic = True End IfEnd SubPrivate Sub Check1_Click() If Check1.Value = 1 T

21、henText1.FontUnderline = True Else第第5 5章章 选择结构设计选择结构设计 Text1.FontUnderline = False End IfEnd SubPrivate Sub Check2_Click() If Check2.Value = 1 ThenText1.FontItalic = True ElseText1.FontItalic = False End IfEnd Sub程序运行结果如图5.15所示。第第5 5章章 选择结构设计选择结构设计 习习 题题 五五 5.1 写出下列VB表达式的值。(1) 4 * 10 = 65 (2) ABCDE

22、ABCDF(3) 456 456 & xyz (4) Not 10 * 20 256(5) 10 = 10 And 10 4 + 3 (6) 10 2 Or Not 5 20 + 5(7) 103 10 And 2 20 And 12 = 20第第5 5章章 选择结构设计选择结构设计 5.2 将下列命题用VB布尔表达式表示。(1) z比x,y都大 (2) | a | | b +2 | 或a b+2(3) p是q的倍数 (4) x ( -5,-2,并且x ( 2,5(5) x,y其中有一个小于z (6) a是小于正整数b的偶数第第5 5章章 选择结构设计选择结构设计 5.3 根据下面所给

23、的条件,列出相应的VB布尔表达式。 (1) 分房的条件为:已婚(married),年龄(age)在26岁以上,工作年限(working_age)在5年以上。 (2) 征兵的条件是:男性(sex)年龄(age)在1820岁之间,身高(size)在1.65米以上;或者女性(sex)年龄(age)在1618岁之间,身高(size)在1.60米以上。 5.4 已知下面的分段函数,要求输入x,计算y的值:1(0)12(0)xxyxx第第5 5章章 选择结构设计选择结构设计 5.5 为铁路编写计算运费的程序。假设铁路托运行李,规定每张客票托运费计算方法是:行李重量不超过50 kg时,每千克0.25元;超过

24、50 kg而不超过100 kg时,其超过部分每千克0.35元;超过100 kg时,其超过部分每千克0.45元。要求输入行李重量,计算并输出托运的费用。 5.6 编写程序,任给3个实数,求其中间数(即其值大小居中者)。 5.7 编写程序,输入一个数字(06),用中英文显示星期几。第第5 5章章 选择结构设计选择结构设计 5.8 编写程序,求一元二次方程的根。 5.9 编写程序,任意输入一个整数,判定该整数的奇偶性。 5.10 编写程序,键盘输入a、b、c的值,判断它们能否构成三角形的3个边。如果能构成一个三角形,则计算三角形的面积。 5.11 编写程序,利用文本框检查用户口令。提示:可以利用文本

25、框的PasswordChar属性来隐蔽用户通过键盘输入的字符。第第5 5章章 选择结构设计选择结构设计 5.12 学校对学习成绩优良的学生将进行奖励,只要满足如下条件之一就可获奖。获奖的条件如下: (1) 所考5门课的总分超过450分。 (2) 每门课的成绩都在88分以上。 (3) 前3门(主课)的成绩都在95分以上,其他两门(非主课)的成绩都在80分以上。输入某学生5门课的成绩s1、s2、s3、s4、s5,判断他是否能够获奖。 5.13 利用输入框函数输入3个不同的数,选出其中最大的数。 第第5 5章章 选择结构设计选择结构设计 5.14 为某航空公司计算票价的优惠率。假设优惠规定如下: (1) 在旅游的旺季5月份、78月份和10月份,如果订票数超过20张,票价优惠15%,20张以下,优惠5%; (2) 在旅游的淡季13月份和12月份,如果订票数超过20张,票价优惠30%,20张以下,优惠20%; (3) 其他情况一律优惠10%。 试设计程序,根据月份和订票张数决定票价的优惠率。第第5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论