程序的选择结构
[教学目标]
(一) 知识与技能
(1)学习和掌握VB语言的条件语句的格式、功能、执行过程,掌握条件选择语句的使用方法,能够编写简单的选择结构的程序
(2)初步掌握程序调试、运行的方法。
(二)过程与方法
本节课通过组织学生探究“制作矩形框”问题,引导学生学习条件选择语句的执行流程及使用方法,通过练习进一步引导学生经历分析问题、设计算法、编写程序、调试程序等用计算机解决问题的过程。
(三)情感态度与价值观
(1)让学生经历用计算机解决问题的过程,体验成功的快乐;
(2)让学生体验自主学习,协作学习的乐趣。
[教材分析]
本节课的教学内容是教育科学出社版、高中课程标准实验教材选修模块一《算法与程序设计》中的第2章《程序的基本结构》2.3.2节《选择结构》第1课时,是在上两课时(2.1—2.2)学习VB的顺序结构的基础上,学习程序的选择结构—条件语句,其中包含“条件语句的格式、功能、执行过程”。
在解决实际问题的过程中,常常需要对事物进行判断和选择。如何在程序设计中能够实现判断和选择,条件语句是重要的选择方式之一。在讲解这一知识点时,采用是否能成功制作矩形框的问题入手,引导学生经历分析问题、设计算法、编写程序、调试程序等用计算机解决问题的全过程。通过分析程序,归纳总结出VB语言的条件语句的格式、功能、执行过程。
重点:理解VB语言条件语句的格式、功能、执行过程。
难点:在理解条件语句的基础上,如何利用计算机来解决生活中的实际问题。
[教学策略]
本节课以课程标准为核心,以教材为依据,教学流程呈现梯度层进式发展。通过组织学生探究“制作矩形框”问题,引入选择结构,紧接着教师引导学生学习if语句,并通过练习加深学生对if语句的认识和理解。学生参照课本输入程序代码,调试运行,进一步加深印象。“编写程序”环节中要注意引导学生对照算法来编写程序,以降低学习难度,逐步提高学生的编程能力。
以醒目的方式将条件语句的格式、功能和执行过程呈现给学生,把鼠标还给学生,自己动手实践,通过商场打折问题加以强化,课程安排形成循序渐进的梯度,充分挖掘学生潜力。展示评价环节,让学生在交流中明确条件选择语句的执行流程及使用方法,逐步建构规范合理的利用计算机解决日常生活中问题的意识。
[教学环境]
具备多媒体教学设备的微机房
[课时]
1节课
[教学过程]
导入新课
提出问题:一条长度为L的铁丝,希望用来制作一个面积为S的矩形框,问这个矩形框的长和宽应当各为多少?才能制作出来这样的矩形框?
学生活动:思考分析问题
教师活动:引导学生分析问题,写出算法。
分析问题
设长为X,则宽为L/2-X,列出方程经X(L/2-X)=S
得:X2-L/2*X+S=0,通过求根公式可得出解答。
设计算法(板书)
输入L;
输入S;
判断D=L*L/4-4*S
如果D>=0,则计算X1=(L/2+sqr(D)/2和X2=(L/2-sqr(D))/2
输出X1和X2,否则,输出“找不到这样的矩形!”。
结束。
分析以上算法的流程图,引入新课
教师总结:(展示定义)像这种根据不同的条件判断来决定程序执行走向的结构,我们把它称为选择结构——引出本节课内容。
新课讲解
教师讲解:选择结构主要用条件语句的格式来来实现,接下来我们就一起学习条件语句(if语句)。
单分支选择结构
教师活动:课件出示单分支选择结构的格式、流程图。
格式一: If? 条件 ? Then? 语句组
格式二: If? 条件 ? Then
语句组
End if
注:格式二中的 If 和 End if 必须成对出现
判断条件件
语句组
真
假
请同学分析流程图总结该语句的执行过程。
学生活动:根据流程图总结单分支选择结的执行过程。
举例
如果x大于或等于y,则输出x - y的值。
双分支选择结构
教师活动:出示格式、流程图,请同学分析流程图总结该语句的执行过程。
格式一:if 条件 then 语句组1? Else 语句组2
条件
语句组1
语句组2
假
真
格式二:If? 条件 Then
语句组1
Else
语句组2
End If
学生活动:根据流程图总结双分支选择结构的执行过程。
(2)举例
如果a大于b,则将a 赋给 x,否则将b 赋给 x。
多分支选择结构
教师活动:出示格式、流程图,总结该语句的执行过程。
格式: 流程图:
If? 条件1 Then
语句组n+1
条件1
条件2
条件n
语句组1
语句组2
语句组n
真
假
真
真
假
假
语句组1
Else If 条件2 Then
语句组2
……
Else If 条件n Then
语句组n
Else
语句组n+1
End If
教师:分析流程图总结执行过程:先判断条件1,若条件1成立,就执行语句组1后,退出该if语句;否则再判断条件2,若条件2成立,就执行语句组2后,退出该if语句,否则再判断条件3….,若以上条件都不满足就执行语句组n+1.
(设计意图:加深学生对各分支结构的理解。)
教师活动:我们继续来解决“制作矩形框”问题。根据if语句的学习,选择解决该问题的分支结构。
1、编写程序代码
有了算法,对照算法一起编写程序;教师板书。
2、设计程序界面
教师演示讲解
3、参照板书,要求学生输入程序,调试运行。
4、观察学生编写、调试程序,存在的普遍问题及时解释、说明。
(设计意图:让学生在教师的引导下编写程序代码,能够回答其中重要的语句,加深学生对if语句的理解)
学生活动:1、完善程序。
求实数a的绝对值。
Dim a As Single
a = InputBox("输入a的值")
If Then
Print "y="; a
Else
Print "y="; -a
End If
学生活动:读程序,完成填空。
(设计意图:学生能读懂简单的程序代码 ,并能完善它。)
引出关系表表达式
关系表达式
程序的第三行是一个条件语句,其中的条件A>=0表达式,一般称为关系表达式,关系表达式是用关系运算符连接起来的式子。
关系运算符号有:
运算符号
=
>
>=
<
<=
<>
含义
等于
大于
大于等于
小于
小于等于
不等于
当关系表式成立时其值为真(Ture),当表达式不成立时其值则为假(False);关系表达式的值既不是数值型量,也不是字符型量,而是一种新的数量类型——逻辑型。逻辑型只有两个可能的值:假(False)和真(Ture)。
5、逻辑表达式
在实际问题中,对于一些复杂的条件,还需要几个关系表达式组合起来才能表示。例如,条件2 Not(非)取操作数相反的值。即当操作数为假时,结果为真;当操作数为真时,结果为假。
And(与)当两个操作数都为真时,结果才为真。
Or(或)当两个操作数都为假时,结果才为假。
逻辑运算的顺序
(1)当条件中只有逻辑运算符时,运算的顺序为Not、And、Or
(2)当条件中既有算术运算符,又有关系运算符和逻辑运算符时,运算顺序是:算术运算符,关系运算符,逻辑运算符
例如:a+b>c+d and a>=5 or not c>0 or d<0
当a=5,b=7,c=2,d=1时,运算结果是真。
学生活动:试编写程序完成下面问题
某商场为了对苹果进行促销,规定购买2千克以上可以在原价每千克1.5元的基础上打8折。请设计一个程序计算购买x千克苹果的应付款。
学生活动:讨论并编写程序,调试,然后提交作业。(可以2人一组合作完成)
(设计意图:在分析、实践的过程中逐渐掌握if语句,培养学生的观察、思维能力。)
评价交流
通过多媒体教学系统演示学生作品,与学生一同观看,指出存在的问题及解决方法。
学生活动:部分同学演示运行自己的程序,进行自平和互评。
(设计意图:让学生通过评价,把所学知识整理得更加条理化。)
课堂总结
1、选择结构有几种形式?
2、顺序结构与选择结构的不同之处。
总结:与顺序结构相比较,选择结构就是程序的执行不再完全按照语句的顺序执行,而是根据某种条件是否成立来决定程序执行的走向,它进一步体现了计算机的智能特点。
课外拓展
试编一个程序,输入三个数,输出其中的最大数。
教学反思
本节课采用“问题解决教学法”进行教学。教学设计思路明确,按照:问题导入—案例探究—分析问题—设计算法—展示课题—选择结构条件格式分析—编写程序代码—巩固练习―交流评价—课堂小结—课外拓展的流程完成学习过程。
高一年级学生学习算法与程序设计上是有畏难情绪的。我首先提出问题,吸引学生的注意力、激发学生的学习兴趣,自然引入案例—制作矩形框,通过组织学生探究“制作矩形框”问题,引入选择结构,紧接着教师引导学生学习if语句,并通过练习加深学生对if语句的认识和理解。
课堂作业精炼,既简单又能对本课学习的选择语句进行巩固。
不足之处:时间紧,课堂容量大造成在评价交流上有所欠缺。