内容正文:
§2.3.2多选择结构
课题:§2.3.2多选择结构
课时:2课时
课型:理论课
教学目标:
知识与技能:1、在掌握双分支选择结构的基础上学习如何实现多分支选择
2、掌握Select-case语法格式并理解其运行机制
过程与方法:1、会用VB工具箱中常用的几个控件,并能自行设计简单的程序界面
2、能理清IF-else嵌套和Select-case的运行原理
情感与态度:能利用多分支选择结构分析、解决现实生活中的实践问题
教学重点:1、IF-else嵌套结构
2、Select-case
教学难点:在实践解决问题的过程中,能选择合适的分支结构编写程序并上机运行
学情分析:
上节新授课为同学们着重讲解IF-else双分支选择结构方面的知识,同学们对“选择”的概念已有了一定的认识,并能用IF-else嵌套结构,不仅知识点连贯,衔接得当 ,而且更利于学生深入挖掘IF-else嵌套语式的内部“匹配”情况和运行机制;在学生理解了双分支的基础上,再引入Select-case便是水到渠成的事了。
教学内容:
1、 导入:我们刚进行完期中测试,试卷分值为100,及格分为了,如何判断一个同学成绩是否及格呢(师)
众生:判断这位同学得分与60之间的关系,等于或超过了就及格,否则就不及格
师:这个问题分几种情况?
众生:两种,可以用if-else[来源:Z,xx,k.Com]
一起编写如下:
Dim n as integer
N=inputbox(“请输入学生成绩”)
If N>=60 then
print “恭喜,你及格了!”
Else
print “你还需努力哟!”
End if
深入探究 引入新知
如对成绩进行详细分析评价:优(80-100),良(70-80),中(60-70),不及格(60以下),我们应该怎样用程序实现?
这个问题分为四种情况,要比之前IF-else双分支选择结构要复杂,不妨先让学生画出流程图,理清思路再动手设计程序实现
· Dim n as single
· N=inputbox(“请输入一个0-100之间的数作为学生成绩:”)
· If n>=80 then
· print “该生为优”
· Else
· if n>=70 then
· print “该生为良”
· else
· if n>=60 then
· print “该生为中”
· else
· print “该生不及格”
· end if
· end if
· endif
注:当问题出现多种情况是,仅用一个if-else是“无能为力”的,需要将if -else里面再加if-else这种嵌套关系才能解决问题
【例1】:初上几何中大家就学过点与圆之间的位置关系分为几种情况?用程序实现
· Dim r,d as single
· R=5
· D=inputbox(“请输入一个数值,作为点到圆心的距离”)
· If d=r then
· print “点在圆上”
else
· if d>r then
· print “点在圆外”
· else
· print “点在圆内”[来源:Zxxk.Com]
· end if
· End if
Select case语句
基本格式:
Select case <测试表达>
Case <表达式1>
<语句组1>
Case <表达式2>
<语句组2>
……
Case else
<语句组n>[来源:学科网]
End select[来源:学科网ZXXK]
功能:根据测试表达式的值,按顺序匹配case后的表达式,如果匹配成功,则执行该case下的语句块,然后转到end select语句之后继续执行。
<测试表达式>:数值或字符表达式
Case表达式表:表中的表项为如下形式:
(1) 表达式1[,表达式2]…
如case 1,3,5
(2) 表达式1 to 表达式2
如:case 10 to 30
Case “a” to “z”
(3) is <关系运算符><表达式>
如:Case is >=10
Case is =0与 case0相同
注:测试表达式的类型应与case后表达式类型一致,且三种形式可以混用,如
Case is <-5,0,5 to 100
如课本P36表2-11(略),飞船的飞行速度不同