当前位置:文档之家› 第三节、多分支结构——Select语句

第三节、多分支结构——Select语句

课题:第三节、多分支结构——Select语句
一、教学对象分析与教学设计
这一阶段的学生具备一定的数学基础和具有一定的比较、归纳能力,是一个正处在抽象逻辑思维已初步形成并继续发展的阶段。

学习分支结构程序设计就是要在这些基础上,借助具体事务为载体,了解程序解决问题的条件与办法。

在学习本课之前,学生已经掌握QB程序的编写与运行方法,了解顺序程序结构的执行流程。

二、教学需要分析与教学设计
本节课在有大屏幕投影仪的多功能室上课。

通过再度开发课程资源(《信息技术》第四册第四节《分支结构程序设计》,广东省教学教材研究室编著)和充分利用学生发言的现场事件进行有效讲授,激发学生的探究热情,努力创设师生之间的互动场景,使学生在讨论中协作学习,在发言中共享学习成果。

本教案主要以课本“任务一”的“人机对话”程序为例子,用向学生请教英语和鼓励发散思维、创新思维等方法精心创设多个课堂教学小高潮,逐层推进讲授分支结构程序设计中的三种语句形式及其功能。

本节课在教师设疑、讲解和学生分析、讨论、发言等基础上进行的,主要运用的教学方法是任务驱动法。

教师讲解的过程就是不断地“否定”前面的结论,提出新问题(任务)、请同学们分析问题,提出解决方案,帮助学生解决问题的过程。

在授课过程中,要根据课堂现场发生的事件,随时调整教学内容,当学生的讨论发言偏离本节课的教学目标和内容时,要机智处理。

分支结构程序设计语句形式及其功能:
1、条件语句的一般形式:
格式一 if 条件 then 语句组
功能:当条件满足时执行then 后语句组,否则跳过此行执行下一行。

格式二 if 条件 then 语句组1 else 语句组2
功能:当条件满足时执行语句组1,否则执行语句组2。

2、块结构条件语句的形式:
if 条件1 then
语句组1
e lsei
f 条件2 then
语句2
……
else
语句组n
end if
功能:如果条件1成立,则执行语句组1;否则如果条件2成立,则执行语句组2……否
则执行语句组n。

3、情况语句一般形式:
select case 测试表达式
case 表达式表1
语句组1
case 表达式表2
语句组2
……
case else
语句组n
end select
功能:先求出测试表达式的值,然后看该值与哪一个case子句中的表达式表相匹配,如果找到了,则执行相应的语句组,如果没有找到则执行与case else子句有关的语句组。

课本中的“任务二”、“任务三”和“任务四”作为第二课时上机练习的例题(任务)。

三、教学(目标—内容)分析表
=================
教学过程设计
=================
【讨论引入】(设计用时:4分钟)今天,在上课之前,首先请教同学们一些英语问题:
1、If it's not on the table then it will be in the drawer
2、If I offer to take him out for lunch, then he'll feel in a better mood.
3、If it does not rain then I'll go to park, else I'll stay at home.
这些句子如何翻译?
噢,我懂了。

谢谢同学们的指教。

的确,在日常生活中,许多时候我们需要根据某个前提成立与否做不同的事。

这种根据不同的情况转向不同的分支来处理的程序结构就是分支结构。

下面请同学们再看上述三句英文,讨论它们有什么特点。

(学生讨论、发言,教师引导他们注意if 、then、 else三个词,并为这些按条件语句的一般形式划分部分)
【学生归纳】(设计用时:2分钟)条件语句的一般形式:
格式一:if 条件then 语句组
格式二:if 条件then 语句组1 else 语句组2
【教师说明】(设计用时:3分钟)格式一功能:当条件满足时执行then后语句组,否则跳过此行执行下一行。

(板画:见课本图1-8(1))
格式二功能:当条件满足时执行语句组1,否则执行语句组2。

(改前板画成:见课本图1-8(2))
【学生阅读】(设计用时:5分钟)请阅读“任务一”。

同时,教师启动QBasic,输入以下程序:
input "Are you happy?(Y or N):"; a$
if a$="Y" then print "Yes. I'm." else print " It’s terrible!"
end
【教师提问】(设计用时:4分钟)1、Are you happy?(答:
“Yes. I'm.”或“It’s terrible!”)
2、根据你的回答,运行上述程序,你要按键盘的什么键?(或答:“y”或“n”(读音,不区分大小写),或答:大写“y”或大写“n”)
3、请同学们讨论,当我想计算机回答“我很高兴。

”,按下了y键(板书小写字母y)后,计算机将如何回应?
【演示】(设计用时:0.5分钟)以大屏幕投影方式,请一位同学上前演示上述程序运行时按下y键后结果。

【教师说明】(设计用时:0.5分钟)我们按下了y键,但输出了“太糟了”。

这说明这
个程序序在一定的缺陷,使用不方便。

这需要我们去改进,使电脑更准确地理解我们的意思。

请同学阅读“任务三”后讨论一下,如何改进?
【学生讨论】(设计用时:5分钟)……
【学生发言】(设计用时:5分钟)请一位小组“发言人”发言,说说他们小组的改进意见,鼓励学生上台写出改进的程序。

下列几个程序之一,可能与学生写的大致相同:
第一种:
input "Are you happy?(Y or N):"; a$
if a$="Y" then print "Yes. I'm."
if a$="y" then print "Yes. I'm."
if a$="N" print "It’s terrible!"
if a$="n" print " It’s terrible!"
end
第二种:
input "Are you happy?(Y or N):"; a$
if a$="Y" then print "Yes. I'm."
elseif a$="y" then print "Yes. I'm."
elseif a$="N" print " It’s terrible!"
elseif a$="n" print " It’s terrible!"
else
print “Oh.I beg your pardon.”
end if
第三种:
input "Are you happy?(Y or N):"; a$
select case a$
case "Y","y"
print "Yes. I'm."
case "N","n"
print " It’s terrible!"
case else
print “Oh.I beg your pardon.”
end select
end
【教师说明】(设计用时:1分钟)(感谢学生提的意见,根据学生的改进意见,设法引出块结构条件语句或情况语句,并与学生共同修改“发言人”写的程序,使之更完善。

)【学生发言】(设计用时:5分钟)除了刚才这种改法外,还有谁能给出另外的不同语句
形式的程序呢?(请另外的小组“发言人”发言,说说他们小组的改进意见,鼓励学生上台写出改进的程序。


【教师说明】(设计用时:2分钟)(感谢学生提的意见,根据学生的改进意见,设法引出块结构条件语句或情况语句,并与学生共同修改“发言人”写的程序,使之更完善。

)【教师说明】(设计用时:3分钟)同样一个问题,可以有不同的程序处理。

选择的标准,首先的算法正确,其次是简洁,易于理解,再次是运行高效。

对于简单的条件判断的处理,可以用条件语句的一般形式,对于二、三个条件判断的可以用块结构条件语句,而多值判断的应该用情况语句。

强调int()函数的形式与功能、case后的表达式形式。

【学生练习】(设计用时:3分钟)请同学们完成任务三和任务四。

(鼓励学生以情况语句定任务三,而以块结构条件语句写任务四)
【教师检测】随机请部分同学到教师机上演示他们的程序,并请他们谈谈自已编(改)写程序的体会。

【小结】(设计用时:1分钟)略
【课后讨论题】(设计用时:1分钟)本节课中,我们没有讲到“任务二”:输入三个数,然后输出其中的最大数。

请同学们,课后阅读课文,并探究:如果输出三个数中的最小数,算法如何修改?下一节课到机房上机实践,请同学做好预习工作。

教学反思:。

相关主题