内容正文:
《4.4 运用循环结构描述问题求解过程》教学设计
课题
4.4 运用循环结构描述问题求解过程
课时
1课时(45分钟)
学科
信息技术
年级
高一
授课学校
眉山市彭山区第一中学
年级组
高中技术组
一、教材与学情分析
教材分析:本节是粤教版必修一第四章“程序设计基础”的最后一节,核心内容是循环结构——让程序重复执行某段代码。教材内容包括:①for循环的应用——用于已知循环次数的场景;②while循环的应用——用于未知循环次数、根据条件判断是否继续的场景;③循环嵌套的应用——循环内部包含循环;④循环控制的应用——break和continue语句。循环结构是三种基本程序结构中最灵活、最强大的结构。
学情分析:学生已掌握顺序结构和选择结构,能够编写具有判断功能的程序。但对于“重复执行”的需求(如计算1到100的和、打印九九乘法表),现有知识无法解决。学生对“让程序自动重复做某件事”充满兴趣,需要通过具体的案例来理解循环的价值。
二、学科核心素养与教学目标
信息意识
理解循环结构是程序具有“自动化”能力的基础,认识到循环在解决重复性计算问题中的巨大价值。
计算思维
掌握for循环和while循环的语法格式和执行流程;理解循环的“三要素”——初始化、条件、更新;能够运用循环结构编写解决重复性问题的Python程序。
数字化学习与创新
能够在Python环境中编写、运行和调试循环结构的程序,体验“让计算机自动重复执行”的编程魅力。
信息社会责任
理解循环结构在数据处理中的重要作用,培养用程序解决实际问题的意识和能力。
三、教学重难点
教学重点
①for循环的语法格式和使用(range()函数的配合使用);②while循环的语法格式和使用;③循环的“三要素”——初始化、条件、更新。
教学难点
①理解循环的执行流程——条件判断→执行循环体→更新变量→再次判断;②避免“死循环”——确保循环条件最终变为False;③循环变量的作用与更新。
四、教学方法与资源
教法
类比讲授法、代码演示法、对比分析法、任务驱动法。
学法
类比迁移、观察模仿、独立编写、小组互助。
教学准备
多媒体课件(含循环流程图、代码示例动画演示)、Python编程环境、学案(含代码填空练习)。
五、教学过程(45分钟)
环节
时间
教师活动
学生活动
设计意图
情境导入
5分钟
1. 提出问题:“同学们,上节课我们学习了选择结构——让程序做判断。但如果我们要计算1+2+3+…+100的和,需要写100行加法代码吗?当然不用——我们需要让程序重复执行加法操作。这就是循环结构。”
2. 生活类比:“生活中也有很多循环——比如跑步时‘绕操场跑10圈’,就是重复执行‘跑一圈’这个动作10次。”
3. 展示目标:“今天我们要学习两种循环——for循环和while循环。它们都能让程序重复执行,但适用场景不同。”
4. 引出课题:“《4.4 运用循环结构描述问题求解过程》。”
1. 思考问题:思考“1+2+…+100”如何用程序实现,意识到需要“重复执行”。
2. 理解类比:将“绕操场跑10圈”与“程序循环”建立联系。
3. 明确目标:带着“如何让程序重复执行”的疑问进入新课。
用“计算1到100的和”这一经典问题导入循环结构,制造认知冲突——顺序结构和选择结构都无法高效解决这个问题。用“绕操场跑圈”的生活类比帮助理解循环的概念。
新课讲授
(一)for循环
10分钟
1. 语法格式(2分钟):
板书——
for 变量 in range(起始, 结束, 步长):
循环体
“变量依次取range中的每个值,每取一个值就执行一次循环体。”
2. range()函数详解(3分钟):
①range(5) → 0,1,2,3,4(从0开始,到5结束,不包含5)
②range(1, 6) → 1,2,3,4,5(从1开始,到6结束,不包含6)
③range(1, 10, 2) → 1,3,5,7,9(步长为2)
3. 代码示例(3分钟):
“用for循环计算1到100的和”——
sum = 0
for i in range(1, 101):
sum = sum + i
print(sum)
“i从1取到100,每次把i加到sum中。循环结束后输出sum。”
运行演示,输出5050。
4. 流程图(2分钟):
画出for循环的流程图——
初始化循环变量 → 判断是否还有值 → 有→执行循环体→更新变量→回到判断
↓ 无
结束循环
1. 记录语法:在笔记本上记录for循环的语法格式。
2. 理解range():在笔记本上记录range()的三种用法,并预测range(2, 10, 2)的输出(2,4,6,8)。
3. 观察代码:阅读“1到100求和”的代码,理解sum变量的累加过程。
4. 画出流程图:在笔记本上画出for循环的流程图。
5. 跟随运行:在自己的Python环境中输入代码并运行,验证输出5050。
用“1到100求和”这一经典案例讲解for循环,学生容易理解循环的价值。range()函数的三种用法详解为后续编程打下基础。流程图帮助学生建立循环执行的可视化认知。
新课讲授
(二)while循环
10分钟
1. 引入(1分钟):“for循环适合已知循环次数的情况。但如果循环次数不确定(比如‘一直输入数字,直到输入0为止’),就需要用while循环。”
2. 语法格式(2分钟):
板书——
while 条件表达式:
循环体
“只要条件为True,就不断执行循环体。条件为False时退出循环。”
3. 循环三要素(2分钟):
“while循环有三个关键要素——
①初始化:循环开始前设置变量的初始值;
②条件:决定是否继续循环;
③更新:每次循环结束后改变变量的值,使条件最终变为False。”
4. 代码示例(3分钟):
“用while循环计算1到100的和”——
sum = 0
i = 1 # 初始化
while i <= 100: # 条件
sum = sum + i
i = i + 1 # 更新
print(sum)
运行演示,输出5050。
5. 对比for与while(2分钟):
“for循环——已知次数,用range()控制;
while循环——未知次数,用条件控制。
两者可以互相转换,但要根据问题选择合适的。”
1. 记录语法:在笔记本上记录while循环的语法格式。
2. 记录三要素:在笔记本上记录“初始化、条件、更新”三个关键词。
3. 观察代码:阅读“1到100求和”的while版本代码,标注哪部分是初始化、条件、更新。
4. 对比理解:在笔记本上画出for和while的对比表格——适用场景、语法特点。
5. 跟随运行:在自己的Python环境中输入代码并运行。
用同一问题(1到100求和)的for和while两种实现进行对比,帮助学生理解两种循环的异同。重点讲解“循环三要素”,避免学生写出“死循环”。
实践操作
15分钟
1. 发布任务:“请同学们完成以下任务——
①任务一(必做):用for循环计算1到100中所有偶数的和。
②任务二(必做):用while循环实现‘输入数字,直到输入-1时结束,输出所有输入数字的总和’。
③任务三(选做):打印九九乘法表(提示:循环嵌套)。
④任务四(挑战):用while循环判断一个数是否为素数。”
2. 巡视指导:检查循环条件是否正确、更新语句是否遗漏、是否出现死循环。
3. 重点提示:“任务一——range(2, 101, 2)直接取偶数;任务二——注意更新输入语句要放在循环体内;任务三——外层循环控制行,内层循环控制列。”
4. 展示点评:选取3-4份不同任务的代码进行展示和点评。
1. 独立完成(12分钟):
①任务一:用for循环求偶数和;
②任务二:用while循环实现累加输入;
③任务三(选做):打印九九乘法表;
④任务四(挑战):判断素数。
2. 同伴互助(2分钟):
与同桌交换代码,检查是否出现死循环。
3. 观摩学习(1分钟):
观看被展示的代码,对比自己的思路。
四个任务体现分层教学——任务一(for循环偶数求和)为基础,任务二(while累加输入)为核心,任务三(九九乘法表-循环嵌套)为进阶,任务四(素数判断)为挑战。循环嵌套是本节难点,通过九九乘法表这一经典案例加以突破。
总结与拓展
5分钟
1. 知识梳理:“今天我们学习了两种循环结构——for循环(已知次数)和while循环(未知次数)。它们的核心都是——让程序重复执行某段代码。”
2. 强调易错点:
①“死循环——忘记更新循环变量,条件永远为True。”
②“range()的结束值不包含——range(1,10)只到9。”
③“循环变量的作用域——循环内外要注意。”
3. 本章总结:“至此,我们完成了第四章‘程序设计基础’的全部学习——从Python基础知识,到顺序、选择、循环三种基本结构。这三种结构可以组合起来解决任何问题——这就是结构化程序设计的核心思想。”
4. 布置作业(详见作业布置栏)。
1. 回顾总结:跟随教师回顾两种循环结构,完善笔记。
2. 记录易错点:在笔记本上记录三个易错点,尤其是“死循环”的防范。
3. 理解升华:理解“三种基本结构可以组合解决任何问题”的结构化程序设计思想。
4. 记录作业:抄写作业要求。
通过对比总结强化for与while的适用场景。用“三种基本结构可以组合解决任何问题”总结本章,帮助学生建立结构化程序设计的完整认知框架。
六、板书设计
4.4 运用循环结构描述问题求解过程
一、for循环(已知循环次数)
for 变量 in range(起始, 结束, 步长):
循环体
例:计算1到100的和
二、while循环(未知循环次数)
初始化
while 条件:
循环体
更新
例:输入数字直到输入-1
三、循环三要素
初始化 → 条件 → 更新
(缺少任何一个 → 死循环)
四、本章总结:三种基本结构
顺序结构 + 选择结构 + 循环结构 = 可以解决任何问题
七、作业布置
必做
①用for循环计算1到100中所有奇数的和;②用while循环实现“猜数字”游戏——程序随机生成一个1-100的数字,用户输入猜测,程序提示“大了”“小了”或“猜对了”,直到猜对为止。(提示:用random.randint()生成随机数)
选做
用循环嵌套打印如下图形——
*
**
***
****
*****
八、教学反思
成功经验
①用“1到100求和”的同一问题讲解for和while两种循环,对比清晰;②“循环三要素”(初始化、条件、更新)的总结有效帮助学生避免了死循环;③九九乘法表的打印让多数学生理解了循环嵌套的执行过程;④“猜数字”游戏作为作业,激发了学生的学习兴趣。
改进方向
①部分学生在while循环中遗漏“更新”语句导致死循环,下节课可增加一个“死循环排查”的专题练习;②循环嵌套的理解对部分学生仍有难度,可增加一个“循环嵌套执行过程”的逐步演示(用print输出每次循环的变量值)。
学科网(北京)股份有限公司
$