做出判断的分支 选择结构教学设计

文档属性

名称 做出判断的分支 选择结构教学设计
格式 doc
文件大小 177.5KB
资源类型 教案
版本资源 教科版(2019)
科目 信息技术(信息科技)
更新时间 2025-04-04 17:40:50

图片预览

文档简介

做出判断的分支
《选择结构》教学设计
一、学情分析
本课教学的对象是高一年级的学生,他们的思维活跃,具有一定的逻辑思维和推理演绎的能力,但归纳总结的能力较弱。在前面的课程中,他们已经掌握了Python的常量、变量、表达式、输入输出语句等基本知识,了解程序设计的一般过程。急切地想编写程序解决生活中更为复杂的实际问题,但是他们现有的知识结构仅限于解决顺序结构的问题,将实际问题转化为Python程序的能力也有待提高。
二、学习内容分析
《 选择结构》是教育科学出版社《信息技术必修1数据与计算》第二章《编程计算》中第二节做出判断的分支。任何规范的程序都可以分解为三种基本结构,即顺序结构、选择结构和循环结构,教材的前一节介绍了顺序结构程序设计。选择结构是用于判断给定的条件,根据判断的结果控制程序执行流程,它分为单分支、双分支及多分支选择结构,不同的分支结构有不同的语法格式和适用场合。牢固掌握选择结构程序设计,是学习程序设计的基本要求,是学会编写结构清晰、易读易懂的程序的前提。
三、教学目标
1、掌握选择结构的基本格式,理解选择结构的执行过程。
2、能根据问题建立合适、正确的“条件”,利用选择结构解决实际问题。
3、领悟选择结构的思想,体验选择在生活实际中的应用。
四、教学重难点
教学重点:选择结构的基本格式;利用选择结构解决实际问题。
教学难点:选择结构的嵌套。
五、教学策略
本课教学采用了案例模拟教学法。通过呈现问题、观察代码、模仿尝试、归纳小结、问题解决、拓展应用、总结提升等环节,设计了递进式的学习活动。通过“比较两个数的大小”“出租车计费器”“月饼促销”“计算三角形面积”“BMI等级的判断”等程序的完善,让学生在一个个问题的解决中,层层深入的认识选择结构。学生在模仿中,通过对多个“个”的尝试,找出“个”背后“类”的规律性问题,归纳出选择结构的一般格式,实现从“个”到“类”的提升。这样的设计有助于学生从整体上认识选择结构,并不断向纵深发展。同时,真实的问题情境,有效激发学生的学习兴趣,让学生积极思考、主动建构,获得程序设计的成就感。
六、教学过程
(一)呈现代码
运行上节课编写的“计算两个数的商”程序。
x=int(input("请输入被除数:"))
y=int(input("请输入除数:"))
q=x/y
print("商为:",q)
分析程序的漏洞:当除数为0时,程序提示出错,说明这样的程序是不完善的。实际上,在除数不为零的情况下,才能计算它们的商,否则应提示“除数为零”。用程序来描述就是:
if y!=0:
q=x/y
print("商为:",q)
else:
print("除数为零")
小结:根据条件判断的结果,选择执行不同语句的结构,称为选择结构。
设计意图:从上一节课的顺序结构程序引入,学生通过观察分析,发现其中的If语句结构起着引导程序走向的作用。这样的设计使得学生的学习并非是被动的接受,而是一个以已有知识经验为基础的主动建构过程。
(二)模仿尝试
活动1:模仿上例完善程序,尝试解决下面两个问题。
(1) 输入两个数x和y,比较他们的大小,使得x大于y。
x = int(input("输入x的值:"))
y = int(input("输入y的值:"))
if :
t = x
x = y
y = t
print("x的值为:",x)
print("y的值为:",y)
(2) 出租车计费程序,三公里(含)以内起步价9元,超出三公里的部分每公里2.4元。
s =float(input("输入里程数:"))
if s<=3:
y=9
else:

print("价格为:",y,"元。")
设计意图:通过模仿,完善两个半成品程序,进一步深化对选择结构的认识。有目的的将部分核心代码留空,让学生将有限的注意力集中到核心问题的解决上,做到“有的放矢”;另一方面,关键代码的填写可以为学生理解程序提供支架,降低活动的难度。
(三)归纳提升
选择结构根据条件判断的结果控制程序的走向,不同的问题可能有不同的条件判断,但If语句的基本格式是固定的:
单分支选择结构(如图1):
if 条件:
语句或语句组
双分支选择结构(如图2):
if 条件:
语句或语句组1
else:
语句或语句组2
图1 单分支选择结构
图2 双分支选择结构
小结:单分支的选择结构,当条件为真时才执行指定语句,否则跳过。双分支的选择结构根据条件是否成立,程序选择执行相对应的语句,然后执行选择结构后面的语句。
设计意图:通过适时地归纳总结,让学生在对选择结构有了感性认识的基础上,系统地认识单分支和双分支选择结构的一般格式,并借助流程图分析选择结构的执行过程,帮助学生建构清晰而完整的知识框架,这将为后面的学习打下扎实的基础。
(四)问题解决
活动2:利用单分支和双分支选择结构,完善程序,解决问题。
已知三角形的三条边a,b,c,求三角形的面积(判断三条边是否构成三角形的条件为:任意两边之和大于第三边)。
import math
a=int(input("请输入三角形一边a:"))
b=int(input("请输入三角形一边b:"))
c=int(input("请输入三角形一边c:"))
p=(a+b+c)/2
#如果输入的三边值(a,b,c)的任意两边之和大于第三边,则能够构成三角形计算其面积。
#否则提示用户“不能构成三角形”。

小结:条件一般为关系表达式,如活动1中的两个程序,以及活动2中的程序1;也可为逻辑表达式,如活动2中的程序2。
设计意图:活动2在学生对双分支If语句有了较为清晰的理解之后实现一个完整的应用,学生要考虑的不再只是选择结构中各个分支的内容,而要站在一个更高的层面考虑整个选择结构的设计,在思维深度上与前面的活动呈递进关系。同时,此活动的两个问题分别通过关系表达式和逻辑表达式实现条件判断,帮助学生进一步拓展对条件表达式的认知。
(五)拓展应用
活动3:身体质量指数(BMI)是目前国际上常用的衡量人体胖瘦程度的标准,WHO组织设定中国人的参考标准为:BMI<18.5表示偏瘦;BMI介于18.5~23.9 表示正常;BMI>=23.9表示偏重。
借助数轴(如图3)分析问题,形成算法:
图3 BMI指数的等级范围
(1)先判断x<18.5,成立则输出“偏瘦”
(2)否则判断x<23.9,成立则输出“正常”,否则输出“偏重”
w=float(input("请输入体重(公斤):"))
h=float(input("请输入身高(米):"))
bmi=w/h/h
if bmi<18.5:
print("偏瘦")
else:

小结:在第一次判断的基础上,再次进行判断。这种在一个If语句的内部又出现了另一个If语句,即称为If语句的嵌套。实际上,Python对于程序有多个分支的问题,有一种专门的If语句形式简化嵌套的问题:
多分支选择结构:
if 条件1:
语句块1
elif 条件2:
语句块2
else:
语句块3
多分支的If语句实现BMI值判断:
w=float(input("请输入体重(公斤):"))
h=float(input("请输入身高(米):"))
bmi=w/h/h
if bmi<18.5:
print("偏瘦")
elif bmi<23.9:
print("正常")
else:
print("偏重")
小结:多分支选择结构首先测试条件1,如果它为假,就测试条件2,依次类推,直到找到一个为真的条件,并执行相应的语句块,如果条件都不为真,执行else后的语句。然后执行选择结构后面的代码。
设计意图:通过“数轴分析法”分析出第二次判断“BMI<23.9”,是以第一次判断“BMI<18.5”为前提,是在第一次条件判断为“假”部分再次进行判断。在完善程序的过程中,帮助学生理解嵌套的缘由,理清嵌套的脉络。在此基础上提出多分支If语句,并分析其执行过程。这样的设计既重过程又重结论,让学生在问题解决的过程中,轻松愉快地完成知识的建构。
(六)思维导图,复习巩固。
图4选择结构思维导图