内容正文:
项目6 选择结构程序设计
项目导入
在日常生活中,经常会按照一定的条件做出相应的决定,在程序中同样如此。选择结构是结构化程序设计的基本结构之一,它是根据一定的条件来决定执行何种操作。
一般来说,选择是二支的,即条件非真即假,在执行选择结构时按照指定的条件进行判断,然后选择其中一组语句执行。比如,判断是否要上体育课,如果下雨则不上,否则照常上课。有些情况下,可供选择的结果可能多于两种,此时程序就有多种可能流向,这种结构称为多分支选择结构。
2
项目目标
掌握单行If…Then 语句的语法格式及执行过程。
掌握多行If…Then 语句的语法格式及执行过程。
会用If语句的嵌套来完成多分支结构及执行过程
会用多分支条件选择结构Select Case语句完成简单的程序设计
引导学生面对多种选择时提高自身实力,创造有利条件,做出正确的选择
3
任务3 If语句的嵌套
任务目标
掌握多行If条件语句的嵌套格式及执行过程。
能够编写简单的嵌套结构的程序。
任务实施
4
(1)格式:
(1)Then的嵌套。
格式:
If <条件 1> Then
If <条件 2> Then
…
End If
…
End If
5
该语句首先判断条件1,若为True,则继续检查条件2 是否为True,如果条件2为True执行Then后面的语句组,若条件 2 为False,则跳出条件2语句块,执行End If后续语句组;以此类推……
若条件 n 为False,这时若存在[Else 默认程序段],则执行默认程序段,否则跳到对应的End If 的下一条语句执行(n>=2)。
6
(2)执行过程:
征兵的条件是:男性18~20岁,1.65米以上;女性16~18岁,1.60米以上。编写程序,从键盘输入一个人的数据时,判断其是否符合征兵的条件。
7
编写“检验”命令按钮的Click事件代码:
Private Sub Command1_Click()
Dim s As String,age As Integer,h As Single
s=Text1.Text
age=Val(Text2.Text)
h=Val(Text3.Text)
If s="男"Then
If age>=18 And age<=20 And h>=1.65 Then
Label4.Caption="合格"
Else
Label4.Caption="不合格"
End If
Else
8
Else
Label4.Caption="不合格"
End If
End If
End Sub
9
(2)Else的嵌套
格式:If <条件 1> Then
<语句组 1>
ElseIf
<语句组2>
…
ElseIf <条件 n> Then
<语句组 n>
[Else
默认程序段]
End If
10
该语句首先判断条件1,若条件1为True,则执行语句组1;否则检查条件2是否为True,若条件2为True,则执行语句组2;若条件2为False,则判断条件3是否为True,若条件3为True,则执行语句组3,以此类推……
若条件n为False,这时若存在[Else 默认程序段],则执行默认程序段,否则跳到 End If 的下一条语句执行(n>=2)。
11
(2)执行过程:
【例6.5】 编写程序,从键盘输入任意一个数x,求Y= 的值。
12
课堂反馈:
商店在出售某一件商品时,假设单价是185元,如果一次购买数量在10件以内则无优惠;购买数量在10~99之间,按9.8折出售;购买数量在100~199之间,按9.5折出售;购买数量在200件以上,按9.0折出售。编写程序,从键盘输入购买数量时,计算出货款。
13
任务4 多分支选择语句
【任务目标】
掌握Select Case 语句的格式及执行过程。
能够运用Select Case 语句编写简单的程序。
【任务实施】
14
(1)格式:
Select Case <测试表达式>
Case <表达式表1>
<语句组 1>
[Case <表达式表2>
<语句组2>]
…
[Case Else
语句组 n]
End Select
15
(2)说明:
“测试表达式”可以是一个字符串或数学表达式。
“表达式表”内容为常量,必须与测试表达式的类型相同,可以是以下形式之一。
(1)一组枚举表达式,用逗号分隔,例如:Case 2, 4, 6, 8。
(2)表达式 1 To 表达式 2,较小的数值必须显示在 To 之前。
例如:Case -7 To 7, Case "a" To "abc"
(3)Is <关系运算符> <常量>
例如:Case Is <5, Is>50
(4)以上表达式的组合
例如:Case 2, 4, Is<-5。
Select Case语句将测试表达式的值与结构中每个Case的值进行比较,若匹配,就执行与该Case相关联的程序组,若都不匹配,则执行Case Else后的语句组 n。
Case Else虽然是可选的,但是最好使用,以防遗漏测试数据
17
(2)执行过程:
【例6.7】 根据输入年龄,判断年龄段。0~6岁为儿童;7~17岁为少年;18~40岁为青年;41~65岁为中年;66岁以上为老年
18
编写窗体的Click事件代码:
Private Sub Form_Click()
Dim Age As Integer
Age=Val(InputBox$("请输入年龄")) '输入数值
Select Case Age ' 根据不同的年龄范围输出不同的内容
Case 0 To 6
MsgBox"您是一个儿童"
Case 7 To 17
MsgBox"您是一个少年"
Case 18 To 40
MsgBox"您是一个青年"
19
Case 41 To 65
MsgBox"您是一个中年人"
Case Is < 150
MsgBox"您是一个老人"
Case Else
MsgBox"您的年龄超出了范围!"
End Select
End Sub
20
项目小结
选择结构是3种基本结构之一。在大多数程序中都会包含选择结构。它的作用是,根据所指定的条件是否满足,决定从给定的多组操作中选择其一。
本项目要求学生能够掌握单行If…Then …Else 语句、多行If…Then …Else 语句、If 语句的嵌套和 Select Case 语句的格式及使用,运用所学语句能够编写选择结构的简单程序。
21
$$