内容正文:
课 题
运用选择结构描述问题求解过程
——智慧裁判养成记
授课教师
课 时
共 1 课时
课 型
新授课
学科核心素养
与教学目标
1. 信息素养:
· 能从体育节裁判场景中识别问题,明确选择结构的应用需求。
2. 数字化学习与创新:
· 能通过动手编程,将构思的算法转化为可运行的Python程序,创作一个能解决实际问题的“微型应用”,并在调试与优化过程中体验创新的乐趣。
3. 计算思维:
· 理解选择结构的逻辑本质,能运用分支判断设计问题解决方案。
4. 信息社会责任:
· 通过体育节公平裁判场景,培养规则意识和严谨的编程态度。
1. 知识与技能:
· 理解选择结构的基本概念和作用,掌握“if、if-else、if-elif-else”语句的语法格式和执行过程;
· 能够运用流程图描述包含选择结构的算法;
· 能够运用Python选择结构编写程序,解决简单的实际问题。
2. 过程与方法:
· 通过“智慧裁判系统”的项目情境,经历“分析问题-设计算法-编写代码-调试运行”的完整过程。
· 通过任务驱动、小组探究等方式,培养问题解决能力。
3. 情感态度价值观:
· 体验编程解决实际问题的乐趣与成就感,感受信息技术的应用价值。
· 培养严谨、逻辑清晰的程序设计习惯,增强团队协作意识。
教材分析
重点
if单分支、if-else双分支、if-elif-else多分支语句的格式与执行流程。
难点
能够根据问题需求,运用选择结构的if语句描述问题的求解过程;
能够将现实问题中的判断条件,准确地转化为程序中的逻辑表达式。
教学方法
情境教学法、任务驱动教学法、合作探究教学法。
教学用具
多媒体课件(含体育节活动图片)、Python编程环境、学生任务单。
教学流程
一次备课
二次备课
课前
(预)
目标导引
自学自研
提供一道简单的顺序结构编程题(如输入成绩并打印),并提问:“如果想让程序能判断成绩是否及格并给出不同提示,该怎么办?请尝试用中文描述你的思路。”
课前预习选择结构三种基本结构。
课中
(启)
抛思启迪
生成问题
1. 情境启航:
播放体育节比赛的精彩集锦,点燃课堂氛围。
图1 体育节跳高比赛
教师提问:“同学们,在赛场上,裁判是如何快速判断选手是否晋级的?”
(学生回答:看成绩是否达标,或是否在前几名)
2. 抛出核心问题(生存问题):
教师:“如果我们想开发一个‘智慧裁判系统’,让计算机自动完成这种判断,比如输入一个成绩,它就告诉我们选手‘晋级’或‘未晋级’,我们该如何命令计算机做出这种智能的判断呢?”
引出课题:“这就是我们今天要攻克的难题——运用选择结构描述问题解决的过程。”
3.设计意图:
创设真实、富有吸引力的情境,抛出驱动整堂课的核心问题,激发学生的求知欲和解决问题的迫切感。
(探)
知识精讲
搞定重难
(辨)
激发探究
合作解答
(展)
展示点评
总结升华
任务一:单分支结构(if)—— 解决基础判断问题
任务情境一:高中生体育节400米预赛中,为保障参赛安全,设置合格成绩为180秒(包含180秒),即成绩小于等于180秒,则视为该同学顺利晋级。
知识精讲:单分支结构(if)的格式和执行过程,特别强调语法的书写规则,利用计算机解决问题的一般流程,带领学生经历分析问题、设计算法、编写程序到程序调试运行的过程,感受if单分支结构的使用方法。
Y
N
成绩<=180
顺利晋级
图2 流程图描述算法(if单分支)
图3 任务一参考代码
强调重难点:条件表达式(比较运算符)、冒号、缩进(代码块)。教师可故意去掉缩进演示错误,让学生观察报错信息,加深印象。
学生实践:学生模仿输入并运行,感受程序的基础判断能力。
任务情境二:高中生体育节400米晋级赛中,选手成绩达到68秒(包含68秒)才能进入决赛,否则视为淘汰。
知识精讲:
1. 概念讲解:“如果…那么…否则…”,if-else格式和执行过程。
2. 语法示范:引入“else”,强调其与“if”的配对关系,且“else”不需要条件。
3.学生实践:学生快速修改代码,体验逻辑的完善。
N
Y
成绩<=68
进入决赛
继续努力
图4 流程图描述算法(if双分支)
图5 任务二参考代码
多分支结构(if-elif-else)—— 智慧裁判系统V2.0
任务情境三:跳高比赛新规,成绩≥1.7米获得“优秀奖”,≥1.5米获得“达标奖”,否则获得“参与奖”。
1. 教师设疑:“这个规则有几个判断结果?(三个)用我们刚学的if-else能直接实现吗?会遇到什么困难?”(引导学生思考需要多次判断或逻辑嵌套)。
2. 提出探究问题:
问题一(逻辑之辨):判断的顺序应该怎样安排?是先判断“优秀”还是先判断“参与”?为什么?(引导发现:应从严格条件到宽松条件,即从高到低)
问题二(语法之辨):Python提供了什么关键字来处理这种“多选一”的情况?
合作解答:
1. 小组活动:学生以小组为单位,完成以下步骤:
步骤1(辨算法):讨论并绘制算法流程图。
步骤2(辨代码):尝试编写代码。教师提供“代码脚手架”(含输入语句和注释提示)。
N
成绩>=1.7
N
成绩>=1.5
Y
Y
参与奖
达标奖
优秀奖
图6 流程图描述算法(if多分支)
图7 任务三参考代码
2. 教师巡视:关注各小组在条件顺序、“elif”关键字使用、缩进等方面出现的共性疑问,为下一步点评做准备。
1.展示交流:
邀请1~2个小组上台展示其流程图和程序代码,并讲解思路。
邀请另一个小组分享他们测试不同数据(1.4,1.6,1.8)的结果。
2. 教师精准点评与升华:
点评代码:肯定优点,纠正错误。重点强调多分支结构“if-elif-else”的执行逻辑是“多选一”,一旦某个条件满足,便跳过其余部分。
突破难点:通过提问“为什么条件要写成‘height
>= 1.7’和‘height>=1.5’,而不是写成三个区间?”,引导学生理解条件表达的简洁性与逻辑性。
知识结构化:师生共同总结选择结构的“家族成员”:“if”(单分支)、“if-else”(双分支)、“if-elif-else”(多分支)。
思想升华:强调编程的核心是逻辑,选择结构赋予了程序“智能”,让它能应对复杂多变的世界。鼓励学生将这种计算思维应用于解决更多实际问题。
考虑到学生知识基础和课堂教学时间,在操作实践环节,设置关键代码补充,让学生理解选择结构的使用方法。
time=float(input("请输入选手的成绩(秒):"))
空缺(学生补充)
print("恭喜晋级决赛")
time=float(input(“请输入选手的成绩(秒):”))
空缺(学生补充)
print("恭喜进入决赛")
空缺(学生补充)
print("很遗憾,未能晋级,继续加油!")
height=float(input("请输入选手的跳高成绩(米):"))
空缺(学生补充)
print("恭喜获得‘优秀奖’!")
空缺(学生补充)
print("恭喜获得‘达标奖’!")
空缺(学生补充)
print("恭喜获得‘参与奖’,感谢参与!")
作业布置
课后
(拓)
迁移拓展
三项提升
1. 【基础巩固项】(面向全体):完善课堂上的“智慧裁判系统”,增加对输入数据合法性的判断(如成绩不能为负数),给出参考代码。
2. 【能力迁移项】(面向大多数):设计一个“体测成绩评价系统”,输入身高体重,计算BMI指数,并根据国家标准给出“偏瘦、正常、超重、肥胖”的评价。
3. 【创新挑战项】(面向学有余力者):探究更复杂的嵌套选择结构。尝试设计一个“竞赛晋级系统”,规则:成绩达标(如<13秒)后,若为小组前两名则晋级决赛,否则淘汰。
三项课外作业,学生可根据自己的能力选择其中一项作为拓展学习,实现知识点迁移和能力拓展。
板书设计
运用选择结构描述问题求解过程
——智慧裁判养成记
if单分支:if
if双分支:if-else
if多分支:if-elif-else
教学反思
学科网(北京)股份有限公司
$