程序的基本结构-----选择结构
一 、教材分析
教材选自教科版《算法与程序设计》第二章第三节,上课时,把教材的导入例子作了的简单的处理,以一个有奖竞猜程序作为导入,既能引起学生的学习兴趣又能使学生更易理解条件语句的执行。至于多种选择语句,先用有奖竞猜做简单讲解,再用另一道根据学生分数判断该成绩是属于哪一个等级的题目作为实践,从而与学生的学习更有联系,提高学习兴趣。 二、 学情分析
学生已掌握算法的概念及描述方法,定义常量与变量的方法,并且体验了可视化编程,为本节的学习打下了基础。 三、教学目标 1、知识与技能
理解程序选择结构中的条件选择语句的执行流程,掌握条件选择语句的使用方法,能够编写简单的选择结构的程序,以解决生活中的一些计算问题。 2、过程与方法
本节从简单的问题入手,通过有奖竞猜程序,让学生明白条件选取择语句的执行流程及使用方法。进而再做类似的练习,加强学生的理解,课程安排形成循序渐进的梯度,充分挖掘学生潜力。 3、情感态度和价值观
程序设计选取的题目都是生活中遇到的例子,加强学生利用本学科解决日学生活中的问题的意识。 四、 重点难点 1、教学重点
(1)条件选择语句的使用 (2)程序条件选择结构的执行流程
(3)会使用条件语句编写程序解决简单的应用题 2、教学难点:利用分支结构解决生活中的问题。 五、教学方法:自主探究、讲授、观察、展示、分组 六、教学过程
创设情境导入新课:
猜价格游戏。\"看商品 猜价格\"的游戏,下面我们也来模拟玩一下这个游戏。在这个VB所编的程序中,能够对所输入的价格进行判断给出结果从而展示游戏者是否猜对价格。那么,这节课我们就来解密并优化这个程序,这就是我们这节课要学习的内容--程序的选择结构(条件语句)。 新课教学:
一、 定义:这种先根据条件做 出判断,再决定执行哪一 种操
作的结构称为分支结构,也称为选择结构. 二、 YN
语句1条件表达式语句2二、单分支结构
1、编写程序:手机价格竞猜:某商场举行活动,猜对手机价格就会奖励你一部智能手机。请你帮忙设计一个程序。(手机价格为2999) 学生活动:根据以前所学的知识,学生画出流程图并展示引出单分支结构。
教师活动:讲解单分支结构 if 条件 then 语句或语句组 end if
学生活动:学生根据流程图并利用老师讲解的单分支结构写出程序并展示。
dim price as single
price=val(inputbox(“请输入你心目中的价格”)) if price =2999 then
lbljg.caption=“你真棒,猜对了,手机奖给你!” Endif
教师活动:提问学生这个程序有没有缺点?大部分学生看出此程序在价格猜错的时候没有显示猜错的信息。
学生思考:如果猜错了也让这个程序显示“对不起,您猜错了”。应如何修改程序。先让学生修改流程图并展示引出双分支结构。 三、教师讲解 双分支结构 if 条件 then
语句或语句组1 else
语句或语句组2 end if
学生尝试写出程序段,如果猜错了也让这个程序显示“对不起,您猜错了”的程序段并展示。 dim price as integer
price=val(inputbox(“请输入你心目中的价格” )) if price =7180 then
lbljg.caption=“你真棒,猜对了,手机奖给你!” else
lbljg.caption= “对不起,您猜错啦” endif
学生思考:如果刚才的有奖竞猜进一步优化将猜错了又分为猜高啦和猜低啦,又该如何修改程序。先让学生修改流程图并展示引出多分支结构。
四、教师讲解 多分支结构 if 条件1 then 语句或语句组1 elseif 条件2 then 语句或语句组2 .......
elseif 条件n then 语句或语句组n else
语句或语句组n+1 end if
学生尝试写出程序段,如果刚才的有奖竞猜将猜错了又分为猜高啦和猜低啦的程序段并展示。 dim price as integer
price=inputbox(“请输入你心目中的价格” price ) if price =7180 then
lbljg.caption= “你真棒,猜对了,手机奖给你!” elseif price>7180 then
lbljg.caption= “对不起,您猜高啦” else
lbljg.caption= “对不起,您猜低啦” endif
实战演练:输入一个学生成绩,评定其等级。规则是90分以上为“优秀”,80-90之间为“良好”,70-80之间为“中等”,60-69之间为及格,60分以下为“不及格”。 dim x as single
x=val(inputbox(“请输入学生成绩”)) If x>=90 then
Print \"优秀\" ElseIf x>=80 Then Print \"良好\" ElseIf x>=70 Then Print \"中等\" ElseIf x>=60 Then Print \"及格\" Else
Print \"不及格\" End If
五、拓展:当程序出现多分支选择时,用If语句比较烦琐,而使用多分支选择Select Case语句就方便多了。 Select Case 表达式 Case 表达式列表一 语句组1 Case 表达式列表二 ...... Case Else 语句组n End Select
展示利用select case写的学生成绩等级划分程序段,引起学生兴趣,学生课下自学select case另两种条件格式的用法(课本36页)。
Select Case x Case is>=90 print “优秀” Case is>=80 print “良好” Case is>=70 print “中等” Case is>=60
print “及格” Case Else
print “不及格”End Select 六、课堂小结
1、单分支结构 if 条件 then 语句或语句组 end if
2、双分支结构 if
条件 then
语句或语句组
else
语句或语句组2
end if
3、多分支结构
七、学业水平真题 一、 选择题
1、语句if x=1 then y=1,下列说法正确的是( ) A x=1和y=1均为赋值语句 B x=1和y=1均为关系表达式
C x=1为关系表达式,y=1均为赋值语句 D x=1为赋值语句, y=1为关系表达式 二、程序分析题
1、补充程序电梯的最大容量为13人,在此范围内电梯能正常运行,
(1)if 条件1 then
(2)Select Case
表达式的值
语句或语句组 elseif 条件2 then 语句或语句组2 .......
elseif 条件n then 语句或语句组n else
语句或语句组n+1 end if
Case 情况1 语句块1 Case 情况2 语句块2 …… Case Else 语句块n End Select
超出这个范围电梯将 发出警报( ) dim a as integer
a=avl(inputbox(“请输入进入电梯的人数”)) a<=13 print “正常运行” print “发出警报”
2、用程序实现函数:y=|x| Dim X AS Integer,Y AS Interger X=InputBox(“X=?”) if then Y=X Else
End If print “y=”,y End Sub
3、Dim X As Integer, Y As Integer Text1.Text = \"\" X = 99: Y = 98: M = X If X < Y Then
M = Y End If Text1.Text = M End Sub
运行结果
4、Private Sub Form_Activate( ) Dim a, b, c As Integer a = 15: b = 60: c = 38 If a < b Then m = a Else m = b End If If m > c Then m = c End If Print \"M=\"; m End Sub
运行结果:
学情分析
学生已掌握算法的概念及描述方法,定义常量与变量的方法,并且体验了可视化编程,为本节的学习打下了基础。
效果分析
本节课教学效果良好,完成了课标规定的教学目标,课堂气氛浓厚,学生有很好的学习积极性,培养了学生的信息素养,创新素养,提高了学生利用信息技术解决实际生活中遇到的问题,培养了学生的编程意识。
教材分析
教材选自教科版《算法与程序设计》第二章第三节,上课时,把教材的导入例子作了的简单的处理,以一个有奖竞猜程序作为导入,既能引起学生的学习兴趣又能使学生更易理解条件语句的执行。至于多种选择语句,先用有奖竞猜做简单讲解,再用另一道根据学生分数判断该成绩是属于哪一个等级的题目作为实践,从而与学生的学习更有联系,提高学习兴趣。
评测练习
学业水平真题 一、 选择题
1、语句if x=1 then y=1,下列说法正确的是( )A x=1和y=1均为赋值语句B x=1和y=1均为关系表达式C x=1为关系表达式,y=1均为赋值语句D x=1为赋值语句, y=1为关系表达式二、程序分析题
1、补充程序电梯的最大容量为13人,在此范围内电梯能正常运行,超出这个范围电梯将 发出警报( )
dim a as integera=avl(inputbox(“请输入进入电梯的人数”))
a<=13 print “正常运行” print “发出警报” 2、用程序实现函数:y=|x| Dim X AS Integer,Y AS Interger X=InputBox(“X=?”) if then Y=X Else
End If print “y=”,y End Sub
3、Dim X As Integer, Y As Integer Text1.Text = \"\" X = 99: Y = 98: M = X If X < Y Then M = Y End If Text1.Text = M End Sub
运行结果
4、Private Sub Form_Activate( ) Dim a, b, c As Integer a = 15: b = 60: c = 38 If a < b Then m = a Else m = b End If If m > c Then m = c End If Print \"M=\"; m End Sub
运行结果:
课后反思
本节课教学效果良好,学生听课认真,回答问题积极踊跃,收到了很好的反响,学生对编程有了浓厚的兴趣,为后面的教学打下了坚实的基础,但是也有极个别学生虽然学习兴趣很高,就是反应较慢,不过在同学和老师的帮助下也基本掌握了本节内容。
课标分析
新课改下,信息技术课程是一门旨在全面提升学生信息素养,帮助学
生掌握信息技术基础知识,增强信息意识、发展计算思维的基础课程。算法与程序设计模块旨在使学生进一步体验算法思想,了解算法与程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种设计语言编制程序实现算法解决问题。