程序的选择结构 
 [教学目标] 
(一) 知识与技能 
(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语句的认识和理解。 
课堂作业精炼,既简单又能对本课学习的选择语句进行巩固。 
不足之处:时间紧,课堂容量大造成在评价交流上有所欠缺。