多重选择语句的格式
教学重点:语法格式
教学难点:条件设置
教学场所:多媒体教室
教学课时:1
学情分析:同学们已学习了算法、VB基础知识和IF语句,对条件语句中的条件分析有一定的理解和动手编程的能力。选修课目《算法与程序设计》内容多,学生零基础,一周一节课,学生学起来吃力。“先会算法、然后会编程,最后到机房上机调试程序”,这样的教学安排学生普通反映学习效率高。因此选择在多媒体教室上分析理论课。
一、复习导入
利用恩格尔系数,运用IF条件语句判断家庭生活水平的状况。
N=人均食品支出总额/人均个人消费支出总额×100% 如果运用IF语句则:
Dim x As Single
Dim y As Single
Dim n As Single
x = InputBox("请输入人均食品消费总额")
y = InputBox("请输入人均个人消费支出总额")
n = x / y
Print "恩格尔系数:"; n
If n > 0.59 Then Print "贫困!"
If 0.5 <= n And n <= 0.59 Then Print "温饱"
If 0.4 <= n And n < 0.5 Then Print "小康"
If 0.3 <= n And n < 0.4 Then Print "富裕"
If n < 0.3 Then Print "特别富裕"
我们使用了5个IF语句来处理5种情况,这样的程序的可读性和效率方面都是比较差的,如果再多一些情况,它的缺陷就会暴露得更加明显。如何处理这个问题呢?
二、新课
请同学们自主学习P46页的多重选择语句的格式。
Select case 表达式
Case 表达式列表1
语句组1
case表达式列表2
……
[Case else
语句组N+1]
End select
(1)自主学习后,教师提问:
1、数据类型有哪些?表达式与表达式列表只能是什么数据类型?
2、表达式列表与表达式有什么关系?
3、表达式与表达式列表的数据类型可以不一样吗?
4、如何理解表达式列表的三种表现形式?
(2)select case多重选择语句的格式分析
1、表达式和表达式列表可以是数值型或字符型,表达式列表还可以是多个用逗号分开的表达式。
2、表达式列表又称为值域。
3、表达式列表与表达式类型必须相同。
4、表达式列表有如下三种形式:
1)表达式1,表达式2,……
2)表达式1 to 表达式2。
3)IS 关系表达式。
例如:
Case 1,3,5 表示表达式的值为1或3或5时,执行后面的语句组。
Case 10 to 20 表示当表达式的值在10到20之间时执行后面的语句组。
Case is >=10表示当表达式的值大于或等于10时执行后面的语句组。
例1:运用Select case 多重选择语句编写:运用恩格尔系数判断同学们家庭生活水平状况。
Dim x As Single
Dim y As Single
Dim n As Single
x = InputBox("请输入个人食品消费总额")
y = InputBox("请输入个人人均消费总额")
n = x / y
Select Case CInt(n * 100)
Case Is > 59
Print "贫困"
Case 50 To 59
Print "温饱"
Case 40 To 49
Print "小康"
Case 30 To 39
Print "富裕"
Case Is < 30
Print "特别富裕"
End Select
例2:任意输入一个月份,判断“是大月,31天”?“是小月,30天”?还是“闰年,2月29天,平年2月28天”?
Dim month As Integer
Dim y as integer
x = InputBox("请输入月份值")
y = Year(date) '返回今天日期的年份
Select Case x
Case 1, 3, 5, 7, 8, 10, 12
Print "大月,31天"
Case 4, 6, 9, 11
Print "小月,30天"
Case 2
If y Mod 4 = 0 And y Mod 100 <> 100 Or y Mod 400 = 0 Then
Print "本年是闰年,二月29天"
Else
Print "平年,二月是28天"
End If
Case Else
Msgbox”您输入的月份数字不对”
End Select
例3、从键盘上任意输入一个字符判断它是大写字母、小写字母、数字还是其它字符?
Dim a As String
a = InputBox("请输入键盘上任意一个字符")
Select Case a
Case "a" To "z"
Print "您输入的是小字字母!"
Case "A" To "Z"
Print "您输入的是大字字母!"
Case "0" To "9"
Print "您输入的是数字!"
Case Else
Print "您输入的是其它字符!"
End Select
例4、书本第47页实践(1):阅读以下的程序,分别写出当F=1,2,3,4地程序运行的结果,说明程序的功能,并上机验证。
f = InputBox("请输入1-4之间任意一个正整数!")
a = 2
b = 3
Select Case f
Case 1: c = a + b: d = "+"
Case 2: c = a - b: d = "-"
Case 3: c = a * b: d = "*"
Case 4: c = a / b: d = "/"
Case Else: End
End Select
Print a; d; b; "="; c
三、复习巩固
多重选择语句的格式,条件设置,表达式列表的三种表达方式。
四、作业
书本第47页的实践1;第49页练习(4)。
下节课上机房调试程序。