内容正文:
《Python程序编写入门》(高教版) 教案
课 题
循环结构
课 型
理论
课 时
2
授课班级
授课时间
授课教师
教材分析
本节重点讲解Python循环结构的两大基本形式:for循环与range函数、while条件循环与random模块、循环嵌套以及循环控制语句break、continue、pass的对比。循环结构是程序设计中处理批量重复操作的基础,是学生从"写一行算一行"迈向"用代码批量解决问题"的关键一步,对后续学习列表、字符串处理、算法设计具有重要奠基作用。
学情分析
中职计算机应用专业学生已学习了Python基本语法、数据类型以及顺序、选择两种程序结构,具备编写简单顺序和分支程序的能力。学生在日常使用电脑、手机的过程中对"循环执行"有直观体验,但对如何用代码实现自动重复操作缺乏认知。for/while语法、range函数、循环嵌套等内容涉及执行流程的分析和逻辑思维,相对抽象,需要借助动画演示、流程图拆解和上机实操来降低理解门槛。学生动手能力强、好奇心旺盛,适合采用"情境导入—动画演示—流程拆解—上机验证—小组讨论"的方式组织教学。
学习目标
知识目标:
1.掌握for循环与while循环的语法及执行流程;
2.理解range()函数与random模块的用法;
3.掌握循环嵌套逻辑及break、continue、pass语句的区别。
技能目标:
1.能使用for循环处理确定次数的遍历问题;
2.能使用while循环处理不确定次数的重复操作;
3.能利用嵌套循环解决图形打印与排序算法等实际编程问题。
素养目标:
1.通过算法逻辑训练提升计算思维,养成严谨规范的代码编写习惯;
2. 深入理解程序执行效率与算法时间复杂度的关系,逐步建立优化程序性能的意识。
学习重难点
重点:
1.for循环与while循环的语法格式及其执行流程;
2.range函数的三种写法与左闭右开规则;
3.循环嵌套的执行规则与break、continue、pass控制语句的对比;
4.random模块randint()随机数的使用。
难点:
1.range函数左闭右开区间边界的理解与运用;
2.while循环中循环条件的更新与死循环的规避;
3.循环嵌套中外层、内层循环的执行顺序与控制关系;
4.break与continue在循环执行流程上的本质区别。
教学方法
案例分析、讲授法、小组讨论法
课前准备
1.查找for循环遍历动画、while条件判断流程图、猜数字游戏运行演示、九九乘法表嵌套动态效果等教学资料,课堂演示使用。
2.准备课堂任务单、课堂练习题,安排机房上机环境。
3.学生课前预习3.3节内容,思考"打印100份成绩单如何用一段代码完成"。
2.学生课前预习。
教学媒体
电子课件、多媒体视频
教学过程
教学环节
教师活动设计
学生活动设计
设计意图
活动一:
创设情境
生成问题
【课程导入】
1.生活案例设问导入:展示批量打印成绩单、猜数字小游戏两个场景,抛出核心问题:如果不用循环,打印100份成绩单要重复写100行输出代码,如何用一段代码自动完成重复操作?引出for、while两种循环结构。
2.下发课堂任务单,逐条解读三维学习目标(知识、技能、素养),标注重难点:range函数、for/while语法、random模块、循环嵌套、break/continue。
【新知识传授】
1.播放配套教学短视频:for循环遍历执行动画、while条件判断流程图、猜数字游戏完整代码运行演示、九九乘法表嵌套循环动态效果。
2.梳理本节课四大知识板块:for循环与range、while与随机数、循环嵌套、循环控制语句。
【练一练】
1. range(1,10)包含哪些数字?
2. while循环避免死循环的关键是什么?
3. .random.randint(a,b)区间有什么特点?
1.领取课堂任务单,通读三层学习目标,用笔标记课堂重难点。
2.完整观看配套教学视频,记录循环流程图、代码运行步骤、嵌套输出效果关键画面。
3.主动举手回答视频配套口头提问,结合视频画面说出基础概念。
4.跟随教师标注课件核心知识点,搭建本节课基础学习框架。
1.采用批量打印、小游戏生活化场景,直观体现重复代码的痛点,激发学生学习循环的需求,快速集中课堂注意力。
2.任务单前置,学习目标清晰,学生听课更有针对性。
3.代码执行动画、实操短片将抽象循环逻辑可视化,降低编程理解难度,为理论语法讲解铺垫。
活动二:
调动思维
探究新知
【新知识传授】
1.模块一 for循环与range函数
①for循环定义:遍历循环,可遍历字符串、列表、range序列;配套字符串遍历示例代码讲解。
②range三种语法:range(stop)、range(start,stop)、range(start,step),重点讲解左闭右开规则。
③Python缩进规范:循环体统一4个空格缩进,举例错误缩进报错案例。
【练一练】1(书面课堂习题)
1.单选题:range(3,9)生成数字为()A.3-9 B.3-8 C.4-9 D.4-8
2.编程简答:使用for+range输出1~10所有整数。
1.认真听讲,在草稿纸临摹for循环流程图,记录range三种写法与缩进规范。
2.独立完成课堂单选、编程习题,写完同桌互相核对代码、交流错题。
3.遇到区间规则、缩进混淆时主动举手请教老师。
4.自主整理for循环完整笔记。
1.由概念到函数再到实操例题分层讲解,完全匹配课件图文、例题,符合中职编程循序渐进认知规律。
2.随堂习题和课件课堂练习完全对应,当堂检测基础语法掌握情况,快速定位薄弱环节。
3.同桌互查代码,引导学生自主梳理遍历循环完整逻辑。
活动三:
调动思维
探究新知
【新知识传授】
1.模块二 while循环与random模块
①while语法:先判断条件再执行循环体,讲解死循环产生原因与规避方法;配套累加计算器示例。
②random模块导入方式,randint()闭区间特性,结合猜数字游戏讲解随机数应用。
2.模块三 循环嵌套
①外层循环、内层循环执行规则,九九乘法表流程图拆解。
3.模块四 循环控制语句break、continue、pass三者作用对比。
4.布置小组实操任务:
①小组绘制for、while、嵌套循环流程图;
②小组辩论:固定次数任务用for、未知次数任务用while的优缺点。
【练一练】
小组交流:
1. break和continue分别如何跳出循环?
2. 打印九九表内外层循环各自控制什么?
3.课堂巡视机房各组,现场指导代码编写、流程图绘制,纠正区间、缩进、死循环易错点,鼓励小组交换辩论观点。
1.4人一组分工完成流程图绘制、辩论素材整理。
2.小组内交流讨论题答案,统一发言逻辑。
3.推选代表上台展示流程图、分享辩论结论,听取其他小组观点修正认知。
4.上机编写猜数字、九九乘法表代码,遇到语法卡点主动向老师求助。
1.理论搭配手绘流程图、小组辩论、上机实操,把条件循环、嵌套复杂逻辑落地,锻炼绘图、代码编写、口头表达能力。
2.小组合作互评,培养互助纠错学习习惯;上台展示提升专业表达。
3.教师机房巡回实时修正缩进、区间、死循环高频错误,规范代码书写习惯。
4.通过上机实操验证理论,提升学生分析问题、编写代码解决问题的实操能力。
活动四:
巩固练习
素质提升
【知识点总结】
1.整体梳理本节课完整知识脉络:for+range遍历循环→while条件循环+random随机数→循环嵌套九九乘法表→break/continue控制语句。
2.点评各组流程图、上机代码、辩论发言,集中指出高频易错点:range左闭右开记混、while忘记更新变量造成死循环、嵌套缩进错乱、randint区间区分不清。
3.布置课后作业:绘制循环结构完整思维导图;完成课件配套选择、编程练习题;自主完善猜数字游戏、九九乘法表代码。
【分组讨论】
讨论主题:批量统计班级学生成绩,分别分析用for循环、while循环两种方案的代码复杂度与运行效率。
学生活动:
1. 各组交换课堂习题、上机代码核对纠错;
2. 围绕成绩统计场景分组开展深度讨论;
3. 分析两类循环适用场景、编写难点;
4. 探讨循环优化思路;
5. 课后独立完成思维导图、全套习题、拓展编程任务;
6. 结合游戏、打印等生活场景思考循环的广泛应用。
1.跟随教师完整复盘全课知识点,补充完善流程图、上机代码笔记,标记概念、代码易错点。
2.认真听取小组成果点评,修正绘图、代码理解中的错误。
3.全员参与分组话题讨论,结合本节课两类循环知识梳理代码实现思路,整理小组统一结论。
4.记录课后作业,规划完成顺序。
5.课后独立完成思维导图、习题、拓展编程练习。
1.课堂整体复盘,串联全部循环知识点,当堂完成知识检测与巩固。
2.针对性点评绘图、代码高频错误,纠正区间、缩进底层编程认知误区。
3.结合班级成绩统计真实实训场景拓展讨论,对接程序开发基础岗位需求,提升计算思维与工程素养。
4.思维导图、纸笔习题、上机编程多层作业,全面覆盖课件四大板块全部核心语法与案例,夯实结构化编程基础。
整体目标:实现流程图、理论、上机实操三位一体巩固,熟练区分两种循环的适用场景。
课堂小结
作业布置
课堂小结:
作业布置:
编程练习:使用 while 循环实现简易的猜数字游戏,设定规则为用户最多只能猜测 5 次,重点练习循环终止条件与条件判断的结合运用。
算法挑战:尝试通过循环嵌套的结构编写代码,实现打印一个边长为 10 的正方形图案,以此加深对多层循环执行逻辑与流程控制的理解。
思维拓展:思考如何优化冒泡排序算法,通过添加状态标志位的方式,减少排序过程中已经有序部分的不必要比较次数,分析并尝试写出优化后的算法代码。
板书设计
3.3 循环结构
一、for循环与range
· for 变量 in range(...):遍历循环
· range(stop) | range(start,stop) | range(start,stop,step)
· 左闭右开规则 · 循环体缩进4空格
二、while循环与random
· while 条件: 先判断后执行
· 死循环:循环条件不更新
· import random; random.randint(a,b) 闭区间
三、循环嵌套
· 外层控制行,内层控制列
· 九九乘法表
四、循环控制语句
· break:跳出整个循环
· continue:跳过本次,进入下一次
· pass:占位,不做任何操作
教学反思
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$