《4.4 运用循环结构描述问题求解的过程》教学设计
课题名称 4.4 运用循环结构描述问题求解的过程
学科 信息技术 年级 高一 课时 2课时
教材 普通高中教科书 信息技术 必修1 数据与计算(粤教版 2019年)
授课老师 学校
课标 要求 1.内容要求 使用程序设计语言实现简单算法。通过解决实际问题,体验循环结构设计的基本流程,掌握程序调试与运行的方法,感受算法的效率。 2.学业要求 依据解决问题的需要,设计和表示简单算法,掌握一种程序设计语言的基本知识,利用程序设计语言实现简单算法,解决实际问题。
学习 内容 分析 本课题内容选自粤教版《必修一 数据与计算》第四章“程序设计基础”第4节“运用循环结构描述问题求解过程”,包括for循环、while循环、循环嵌套和循环控制等知识点。学生通过解决具体实际问题,体验程序设计的基本流程,掌握程序调试与运行的方法,从而深化对循环结构的认识,初步学会利用循环结构解决简单的实际问题的方法,激发利用计算机解决问题的兴趣,提高计算思维能力。
学习 者 分析 本课题学习对象是高中一年级学生,思维能力有了很大的提高。能够对给定问题进行深入思考,但思维方法还需要教师有效地引导和培养。 在学习本课题内容之前,学生已经学习了python语言的基本数据类型与常用运算符,并通过实践体验掌握了顺序结构和选择结构的特点和执行过程。通过本节课的学习,学生要能够掌握循环结构的特点,并编写简单的循环程序解决实际问题。
教学 目标 1.掌握程序设计中循环结构的基本流程; 2.掌握for语句和while语句的基本格式、执行过程及特点; 3.理解循环嵌套的执行过程,根据具体问题找出内循环变量、外循环变量和循环体并分析之间的联系; 4.明确循环控制中continue语句和break语句的用法和区别; 5.根据具体问题情境,灵活运用循环结构(for语句、while语句、循环嵌套语句和循环控制语句)解决实际问题,提高计算思维能力。
教学重点 与难点 1.教学重点 掌握python程序设计语言中循环结构的for语句、while语句、循环嵌套、循环控制等的一般格式及使用方法; 2.教学难点 循环嵌套的用法; 根据具体问题情境,灵活运用循环结构(for语句、while语句、循环嵌套语句和循环控制语句)解决实际问题,提高计算思维能力。
教学方法 讲授法、任务驱动法、自主探究法
教学策略 1.循环递进式探究法 在教学过程中,通过“教师讲解——举例说明——体验探究——能力提升”等活动循环探究,逐步深入,完成知识建构。 2.基于问题的学习 在教学活动中,具体的实际问题贯穿始终,学生以解决问题为目的,展开探究和思考,突破教学重难点。
教学资源 1.硬件资源:多媒体机房、计算机(人机比1:1) 2.软件资源:海龟编辑器/python3.4.4-3.7.5安装其中一个、思维导图软件(如百度脑图) 3.课程资源:PPT、举例/体验探究/能力提升相关程序代码、演示视频
教学活动 本课题的教学流程如下图所示: 具体的教学活动如下表所示: 教学过程教师活动学生活动设计意图任务驱动, 引入主题展示任务:请用编程打印出1-10以内的所有偶数。 进一步启发学生思考如何打印1-100、1-1000甚至更多的数?提供解决任务的文件代码,导入新课。 介绍循环结构的基本流程及作用。用已有经验完成任务。 运行老师提供的方法1和方法2代码,体验老师提供的解决方案,感受循环结构的魅力。引发学生认知冲突,激发学习循环结构的兴趣,了解循环结构的基本流程及作用。for循环的应用问题情境,讲授新知通过分析方法1代码帮助学生了解for循环语句的一般格式和执行过程,强调for语句中冒号、缩进、序列等注意点,并解释序列的生成方式。 ※列表 ※range( )函数 例1:利用for语句计算1-100的累加和。 (展示并解释代码及循环的过程)认真聆听、思考并记录for语句的一般格式、注意事项,结合实际案例深化对for语句的理解。该环节以教师讲解为主,结合实际案例,帮助学生理解如何运用for语句描述问题求解的过程,突破教学重点。体验探究,自主学习体验探究1:请运用for循环语句求解10以内的所有奇数累乘的结果。 (提供代码素材) 教师及时了解学生解决问题的过程并答疑。了解任务要求,打开资源包中“探究1.py”文件,补充代码使其输出正确结果。该环节主要是让学生实践体验运用for语句描述问题求解的过程。问题难度较易,提高学生编程成就感。能力提升,深化理解能力提升1:请思考如何利用for循环语句输出100以内7的倍数。 (提供代码素材及答案)了解任务要求,打开资源包中“拓展1.py”文件,补充代码使其输出正确结果。该环节是针对学习能力较强的学生,让学生进一步运用for语句描述问题求解的过程。while循环的应用问题情境,讲授新知通过分析方法2代码帮助学生了解while循环语句的一般格式和执行过程,注意事项并以“猜价格”游戏举例。 例2:编写程序猜测价格,实现“猜对了”就跳出循环。 (分析问题、展示代码及执行过程)认真聆听、思考并记录while语句的一般格式、注意事项,结合举例深化对while语句的理解。该环节以教师讲解为主,结合实际案例,帮助学生理解如何运用while语句描述问题求解的过程,突破教学重点。体验探究,自主学习演示例2中的“猜价格游戏”运行过程,提出问题:如果猜不对,就会无限循环,成为死循环。该如何解决呢? 体验探究2:请运用while循环语句实现控制次数的猜价游戏。 (提供代码素材) 教师及时了解学生解决问题的过程并答疑。了解任务要求,打开资源包中“探究2.py”文件,补充代码使其输出正确结果。 理解while循环中一定要有改变表达式值的语句,避免死循环。该环节主要是让学生实践体验运用while语句描述问题求解的过程。问题难度中等,提高学生编程成就感。 此外,该问题解决过程中,学生会经历不断试错、完善代码的过程,在教师的帮助引导下,逐步建立正确使用while语句解决问题的思维方式。能力提升,深化理解能力提升2:请思考如何利用while循环语句实现人机互动,让机器提示猜的价格偏高还是偏低。 (提供代码素材及答案)了解任务要求,打开资源包中“拓展2.py”文件,补充代码使其输出正确结果。该环节是针对学习能力较强的学生,让学生进一步运用while语句描述问题求解的过程。循环嵌套的应用讲授新知,举例说明总结for语句和while语句相关知识,介绍循环嵌套的必要性和执行过程。 举例3:九九乘法表 (展示代码并分析其执行过程)理解循环嵌套语句的过程和必要性。 理解九九乘法表的代码,分析外循环、内循环和循环体。该环节以教师讲解为主,结合实际案例,帮助学生理解如何运用循环嵌套语句描述问题求解的过程,突破教学重点及难点。体验探究,自主学习体验探究3:在控制台上打印一个10行10列的矩形,如图所示。 (提供代码素材) 教师及时了解学生解决问题的过程并答疑。了解任务要求,打开资源包中“探究3.py”文件,补充代码使其输出正确结果。该环节主要是让学生实践体验运用循环嵌套语句描述问题求解的过程。问题难度较易,提高学生编程成就感。能力提升,深化理解能力提升3:请思考如何补充空白处代码使其正确输出,效果如图所示。 (提供代码素材及答案)了解任务要求,打开资源包中“拓展3.py”文件,补充代码使其输出正确结果。该环节是针对学习能力较强的学生,让学生进一步运用循环嵌套语句描述问题求解的过程。循环控制的应用问题情境,讲授新知介绍break语句和continue语句的作用和区别,并举例说明分析。 (展示代码及并分析执行结果)理解break语句和continue语句的作用和区别。该环节以教师讲解为主,结合实际案例,帮助学生理解break语句和continue语句的作用和区别,突破教学重点。体验探究,自主学习体验探究4:请根据问题要求,补充空白处代码,认真体会break、continue语句的功能。 (提供代码素材) 教师及时了解学生解决问题的过程并答疑。了解任务要求,打开资源包中“探究4.py”文件,补充代码使其输出正确结果。该环节主要是通过体验探究活动,让学生实践体验运用break语句和continue语句的作用和区别,问题难度较易。能力提升,深化理解能力提升4:分别写出两个程序运行结果,分析程序功能。 分析两个程序的作用及执行过程,尝试写出运行结果。该环节是针对学习能力较强的学生,让学生深入理解break语句和continue语句的作用和区别,能够分析程序功能。知识总结, 完善升华总结本节课所学知识要点,鼓励学生用思维导图软件总结本节课内容。利用思维导图软件回忆、完善本节学习内容,总结反思,知识巩固。该环节由学生独立完成,利用思维导图软件总结新知,完善升华。
板书设计
教学反思 本课题以具体的实际问题贯穿始终,通过举例说明、体验探究、能力提升等活动展开问题解决的过程,帮助学生理解for循环、while循环、循环嵌套和循环控制等知识点。学生通过解决具体实际问题,体验程序设计的基本流程,掌握程序调试与运行的方法,从而深化对循环结构的认识,初步学会利用循环结构解决简单的实际问题的方法,激发利用计算机解决问题的兴趣,提高计算思维能力。 本课题的亮点主要体现在以下几个方面: 1.基于问题的学习。所有的教学活动都是具体的实际问题,学生通过解决问题体验程序设计的基本流程,掌握程序调试与运行的方法,深化对循环结构的认识,提高利用计算机解决问题的能力。 2.循环递进式探究法。在教学过程中,通过“教师讲解——举例说明——体验探究——能力提升”等活动循环探究,逐步深入,完成知识建构。 同时本课题存在一定的不足。主要体现在整个课题课程内容、教学活动设计比较集中,活动趣味性欠缺,学生需要高度集中注意力学习。
附:学生学习任务单
请同学们结合课本认真观看本课题视频内容,按照自己的方式和进度,交互性地使用视频资源进行个性化学习(可以暂停、快进、回看、重看微课视频)。为帮助大家更好的使用本课题中的资源代码,可参考以下清单:
表1 资源包代码清单
知识点及对应问题 代码文件名 文件所在文件夹
导入:打印1-10以内的所有偶数(1-100以内、1-1000以内甚至更多?) 方法1.py 方法2.py “课堂教学资源”
for循环的应用 例1:计算1-100的累加和。 例1:for计算1-100的累加和.py “课堂教学资源”
体验探究1:计算10以内的所有奇数累乘的结果。 探究1.py “学生练习”
探究1答案.py “学生练习(答案)”
能力提升1:输出100以内7的倍数。 拓展1.py “学生练习”
拓展1答案.py “学生练习(答案)”
while循环的应用 例2:编写程序猜测价格,实现“猜对了”就跳出循环。 例2:while猜价格.py “课堂教学资源”
体验探究2:请运用while循环语句实现控制次数的猜价游戏。(3次猜测机会) 探究2.py “学生练习”
探究2答案.py 探究2答案(改进).py “学生练习(答案)”
能力提升2:请思考如何利用while循环语句实现人机互动,让机器提示猜的价格偏高还是偏低。 拓展2.py “学生练习”
拓展2答案.py “学生练习(答案)”
循环嵌套的应用 例3:九九乘法表。 例3:九九乘法表.py “课堂教学资源”
体验探究3:在控制台上打印一个10行10列的矩形,如图所示。 探究3.py “学生练习”
探究3答案.py “学生练习(答案)”
能力提升3:请思考如何补充空白处代码使其正确输出,效果如图所示。 拓展3.py “学生练习”
拓展3答案.py “学生练习(答案)”
循环控制的应用 例4.1:break语句 例4.2:continue语句 例4.1:break语句.py 例4.2:continue语句.py “课堂教学资源”
体验探究4:请根据问题要求,补充空白处代码,认真体会break、continue语句的功能。 (1)请计算1到5的累加和。 (2)请计算10以内的奇数和。 探究4.1.py 探究4.2.py “学生练习”
探究4.1答案.py 探究4.2答案.py “学生练习(答案)”
能力提升4:请分别写出下面两个程序运行结果,分析程序功能。 拓展4.1.py 拓展4.2.py “学生练习”