Visual Basic程序设计教程 第2版 教学课件 ppt 作者 刘瑞新 电子教案 第4章 选择结构程序设计

上传人:E**** 文档编号:89183890 上传时间:2019-05-20 格式:PPT 页数:63 大小:399KB
返回 下载 相关 举报
Visual Basic程序设计教程 第2版 教学课件 ppt 作者 刘瑞新 电子教案 第4章 选择结构程序设计_第1页
第1页 / 共63页
Visual Basic程序设计教程 第2版 教学课件 ppt 作者 刘瑞新 电子教案 第4章 选择结构程序设计_第2页
第2页 / 共63页
Visual Basic程序设计教程 第2版 教学课件 ppt 作者 刘瑞新 电子教案 第4章 选择结构程序设计_第3页
第3页 / 共63页
Visual Basic程序设计教程 第2版 教学课件 ppt 作者 刘瑞新 电子教案 第4章 选择结构程序设计_第4页
第4页 / 共63页
Visual Basic程序设计教程 第2版 教学课件 ppt 作者 刘瑞新 电子教案 第4章 选择结构程序设计_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《Visual Basic程序设计教程 第2版 教学课件 ppt 作者 刘瑞新 电子教案 第4章 选择结构程序设计》由会员分享,可在线阅读,更多相关《Visual Basic程序设计教程 第2版 教学课件 ppt 作者 刘瑞新 电子教案 第4章 选择结构程序设计(63页珍藏版)》请在金锄头文库上搜索。

1、第4章 选择结构程序设计,第4章 选择结构程序设计,选择结构是计算机科学用来描述自然界和社会生活中分支现象的重要手段。其特点是根据所给定的条件为真(即条件成立)与否,而决定从各实际可能的不同分支中执行某一分支的相应操作,并且任何情况下总有:“无论分支多寡,必择其一;纵然分支众多,仅选其一”。,4.1 选择结构程序设计的概念 在VB中,实现选择结构的语句有:If.Then.Else、If.Then.ElseIf、Select Case语句。这些语句又称为条件语句,条件语句的功能都是根据表达式的值有选择地执行一组语句。 4.2 条件表达式 在条件语句中作为判断依据的表达式称为“条件表达式”,条件表

2、达式的取值为布尔值:真(True)或假(False)。在VB中,True的值等于1,False的值等于0。根据“条件”的简单或者复杂程度,条件表达式可以分为两类:关系表达式以及布尔表达式。,4.2.1 关系运算符与关系表达式 关系表达式是指用关系运算符将两个表达式连接起来的式子(例如a + b 0),关系运算符又称比较运算符,用来对两个表达式的值进行比较,比较的结果是一个布尔值(True或False),这个结果就是关系表达式的值。,1. 关系运算符 VB提供的关系运算符有以下6种,见表4-1。 表4-1 关系运算符,2. 关系表达式 关系表达式的格式为 表达式1关系运算符表达式2关系运算符表达

3、式3 关系表达式的运算次序为:先分别求出关系运算符两侧表达式的值,然后再把二者进行比较,二者的关系若与关系运算符指示的一样,则关系运算的结果为真True,否则为假False。,4.2.2 布尔运算符与布尔表达式 对于较为复杂的条件,必须使用布尔表达式。布尔表达式是指用布尔运算符连接若干关系表达式或布尔值而成的式子。布尔表达式的值也是一个布尔值。VB提供的布尔运算符有:And、Or、Not、Xor、Eqv、Imp等6种,其中常用的为前3种,见表4-2。,表4-2 布尔运算符 说明: 1) 布尔运算符两侧若有数值数据出现,则将数值数据转换为二进制数(补码形式)进行按位运算。此时,1为真,0为假。

4、2) 布尔运算真值表见表4-3。,表4-3 布尔运算真值表 a b a And b a Or b Not a True True True True False True False False True False False True False True True False False False False True Not由真变假,由假变真。And对两个布尔值进行比较,如果两个值均为真,则结果为真,否则为假。Or对两个布尔值进行比较,如果其中一个值为真,则结果为真,只有两个值都为假时,结果才为假。运算布尔表达式时,先运算关系表达式,再运算布尔表达式。,4.2.3 运算符的优先顺序

5、在一个表达式中进行多种操作时,VB会按一定的顺序进行求值,称这个顺序为运算符的优先顺序。运算符的优先顺序见表4-4。 表4-4 运算符的优先顺序,【例4-1】设变量x = 4,y = 1,a = 7.5,b = 6.2,求表达式x + y a + b And Not y 1.3 And Not y b 2) 再作关系运算: True And Not False 3) 作非运算: True And True 4) 最后得: True,【例4-2】判断某个年份是闰年的根据是年份数满足下述条件之一。 条件1:能被4整除,但不能被100整除的年份都是闰年。 条件2:能被100整除,又能被400整除的年

6、份都是闰年。 设变量y表示年份,写出判断y是否闰年的布尔表达式。 解:判断y是否满足条件1的布尔表达式是 y Mod 4 = 0 And y Mod 100 0 判断y是否满足条件2的布尔表达式是 y Mod 100 = 0 And y Mod 400 = 0 两者取“或”,即得判断闰年的布尔表达式: y Mod 4 = 0 And y Mod 100 0 Or y Mod 100 = 0 And y Mod 400 = 0,4.3 单条件选择语句IF 单条件选择结构是最常用的双分支选择结构,其特点是:所给定条件(条件表达式)的值如果为真,则执行a1块;如果为假则执行a2块。其一般形式如图4-

7、1所示。 图4-1 单条件选择结构的流程图 实现单条件选择结构的语句是If语句,在VB中有行If语句和块If语句两种。,4.3.1 单行结构条件语句IFTHENELSE 单行If语句的语法格式为 If 条件 Then 语句序列1 Else 语句序列2 说明: 1) 条件可以是关系表达式、布尔表达式或数值表达式。如果以数值表达式作条件,则非0值为真,0为假。 2) 如果没有Else子句,语句序列1为必要参数,在条件为True时执行。,【例4-3】输入x,计算y的值。其中:,流程图4-2所示。 图4-2 计算y值的流程图 根据流程图,写出命令按钮Command1的单击(Click)事件代码为:,图

8、4-3 计算函数的值 Private Sub Command1_Click() Dim x As Single, y As Single x = Val(Text1.Text) If x = 0 Then y = 1 + x Else y = 12 * x Text2.Text = y End Sub,【例4-4】学校对学习成绩优良的学生进行奖励,获奖的条件如下: 1) 所考5门课的总分超过450分; 2) 每门课的成绩都在88分以上; 3) 前3门(主课)的成绩都在95分以上,其他两门(非主课)的成绩都在80分以上。 输入某学生5门课的成绩s1、s2、s3、s4、s5,判断他是否能够获奖。

9、分析:依题意列出3个条件表达式: 1) s1 + s2 + s3 + s4 + s5 = 450 2) s1 = 88 AND s2 = 88 AND s3 = 88 AND s4 = 88 AND s5 = 88 3) s1 = 95 AND s2 = 95 AND s3 = 95 AND s4 = 80 AND s5 = 80,图4-4 判断能否获奖 命令按钮Command1的单击(Click)事件代码为: Private Sub Command1_Click() Dim s1 As Single, s2 As Single, s3 As Single, s4 As Single, s5

10、As Single Dim p As String s1 = Val(InputBox(“请输入第1门课的成绩:“, “输入框“, 0) s2 = Val(InputBox(“请输入第2门课的成绩:“, “输入框“, 0) s3 = Val(InputBox(“请输入第3门课的成绩:“, “输入框“, 0) s4 = Val(InputBox(“请输入第4门课的成绩:“, “输入框“, 0) s5 = Val(InputBox(“请输入第5门课的成绩:“, “输入框“, 0),t1 = (s1 + s2 + s3 + s4 + s5 = 450) t2 = (s1 = 88 And s2 =

11、88 And s3 = 88 And s4 = 88 And s5 = 88) t3 = (s1 = 95 And s2 = 95 And s3 = 95 And s4 = 80 And s5 = 80) If t1 Or t2 Or t3 Then p = “ 可以获奖!“ Else p = “ 不能获奖!“ p = Str(s1) & “,“ & Str(s2) & “,“ & Str(s3) & “,“ & Str(s4) & “,“ & Str(s5) & Chr(13) & p Label1.Caption = “ 该生五门课的成绩分别是:“ & Chr(13) & p End Su

12、b,【例4-5】利用输入框函数输入3个不同的数,选出其中最大的数。 命令按钮Command1的单击(Click)事件代码为: Private Sub Command1_Click() Dim a As Single, b As Single, c As Single a = Val(InputBox(“请输入第1个数:“, “输入框“, 0) b = Val(InputBox(“请输入第2个数:“, “输入框“, 0) c = Val(InputBox(“请输入第3个数:“, “输入框“, 0) p = “ “ & a & “,“ & b & “,“ & c p = p & “三个数中最大的数

13、是:“ If a b And a c Then p = p & a If b a And b c Then p = p & b If c a And c b Then p = p & c Label1.Caption = p End Sub,图4-5 求3个数中最大数 4.3.2 使用IIF函数 还可以使用IIf函数来实现一些比较简单的选择结构。IIf函数的语法结构为: IIf(条件表达式,真部分,假部分) 语句y = IIf(条件表达式,真部分,假部分) 相当于: If 条件表达式 then y =真部分 Else y =假部分,【例4-6】例4-3中命令按钮Command1的单击(Clic

14、k)事件代码可以改为: Private Sub Command1_Click() Dim x As Single, y As Single x = Val(Text1.Text) y = IIf(x = 0, 1 + x, 12 * x) Text2.Text = y End Sub,4.3.3 块结构条件语句IFTHENELSEEND IF VB提供的块If语句,将一个选择结构用多个语句行来实现。其语法结构为: If 条件1 Then 语句序列1 Else 语句序列2 End If 在块形式中,If语句必须是第1行语句。If块必须以一个End If语句结束。,【例4-7】将例4-3中命令按钮

15、Command1的单击(Click)事件代码改为多行If语句: Private Sub Command1_Click() Dim x As Single, y As Single x = Val(Text1.Text) If x = 0 Then y = 1 + x Else y = 12 * x End If Text2.Text = y End Sub,4.3.4 IF语句的嵌套 1. IF语句的嵌套 如果在If语句中操作块a1块(语句序列1)或a2块(语句序列2)本身又是一个If语句,则称为If语句的嵌套。 【例4-8】铁路托运行李,从甲地到乙地,规定每张客票托运费计算方法是行李重量不超

16、过50kg时,0.25元/kg,超过50kg而不超过100kg时,其超过部分按0.35元/kg收费,超过100kg时,其超过部分按0.45元/kg收费。编写程序,输入行李重量,计算并输出托运的费用。,【例4-8】铁路托运行李,从甲地到乙地,规定每张客票托运费计算方法是行李重量不超过50kg时,0.25元/kg,超过50kg而不超过100kg时,其超过部分按0.35元/kg收费,超过100kg时,其超过部分按0.45元/kg收费。编写程序,输入行李重量,计算并输出托运的费用。 分析:设行李重量为wkg,应付运费为x元,则运费公式为:,命令按钮Command1的单击(Click)事件代码为: Private Sub Command1_Click() Dim w As Single, x As Single w = Val(Text1.Text) If w = 50 Then x = 0.25

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号