2. 教学设计
第16讲 无尽的重复
1.教学内容分析
本节内容首先情境带入,引出while循环的知识内容;随后,以Python编程软件为辅助,讲解while循环条件及死循环和while循环嵌套;之后,开展实践任务,以猜密码为例,熟悉while循环的使用方法;然后,思维拓展,讲解bug及bug产生条件等知识,最后,能力提升,通过Python编程设计实现冒泡排序功能的程序。
2.学习者分析
1.学生具有一定的Python编程语言基础;
2.学生对while循环结构有一定的基础认识;
3.学生具备一定的逻辑推理能力,知识迁移能力,对人工智能的技术有较强的学习兴趣。
3.学习目标确定
1.知识与技能:
①了解扩展的while结构,掌握其编程应用方法。;
②了解while循环的条件和死循环,学会在编程中正确应用;
③学生能够了解bug及bug产生原因。
2.过程与方法:
①通过学习while循环结构,体会Python编程的循环应用;
②通过项目的编程练习,培养学生设计能力和举一反三的能力。
3.情感态度与价值观:
①养成自主学习、自主探究的能力;
②培养发现问题、解决问题的探究能力;
③通过对项目的讨论、分析、制作等活动,培养严密的逻辑思维能力。
4.教学重点难点
教学重点:1.掌握while循环的编程应用;
2.掌握while循环嵌套结构的应用;
教学难点:1.综合应用while循环结构进行程序设计;
2.灵活运用软件完成项目的制作。
5.教学流程图


6.教学活动
环节一:(情境导入)5min |
教学活动1 1.教师讲授情境故事,设置悬念,吸引学生兴趣;(教师播放PPT) 教师:“如今,互联网上时常发生个人重要密码被盗事件,需要引起大家高度重视。如果黑客事先收集了你的个人账户号码,如邮件账号、 QQ用户账号、网上银行账号、支付宝账号等,而你的用户密码又设置得十分简单,比如用简单的数字组合、生日日期等,黑客使用暴力破解工具短时间内就可以破解出密码来。因此,做好信息安全,不仅保护好自己的账户名称,还要将密码设置得复杂一些。黑客破解密码使用的最基本的技术就是暴力破解,也就是通过将键盘上的字母、数字和符号进行不同的组合来尝试破解密码。暴力破解法就是枚举所有可能性,选择其中满足条件的结果。其实暴力破解法可以用来求解古堡算法等很多经典数学问题。同学们,你们的密码安全吗?” 学生聆听情境故事,积极回应老师,对自己设计小游戏产生兴趣; 教师:“好的,同学们,我们一起去学习一下如何保护自己的密码吧!今天我们的学习将分成三个模块,第一个模块,认识while结构及while循环嵌套结构;第二个模块,一起完成猜密码的实践任务;第三个模块,思维拓展,学习一下bug及产生bug的原因等知识。” 学生聆听教师讲授。 |
活动意图说明: 通过情境故事吸引学生的注意力,激发学生的学习兴趣,导入本节课的内容----无尽的重复 |
环节二:(原理讲解)20min |
教学活动2 1.教师讲解扩展 while 循环知识内容; 教师:“while结构也有一种扩展模式,使用方法如图:在这种扩展模式中,当while循环正常执行后,程序会继续执行else语句中的内容。例如图所示:从以上程序执行结果可以看出,else语句只在循环体正常执行后才执行。如果通过while循环实现一个计数器,需要在循环体的外面对计数器进行初始化,并在每次循环中对计数器进行累加。比较一下for循环过程,在for循环中循环变量逐一取自遍历结构,不需要程序维护计数器。接下来做一个利用扩展while结构,编程求1~100偶数的和的编程练习。参考代码及结果如图。” 学生聆听教师讲解while循环知识内容,并播放PPT,进行相关演示; 2.教师讲解while 循环的条件和死循环,并进行相关演示; 教师:“在while的循环结构中,当条件表达式为真时,循环体语句块就得到重复执行。在使用while循环时要特别注意,应该设定好循环的终止条件,以便可以停止循环过程,否则就会陷入无穷循环的境地。永远执行下去的循环一般称为死循环,也就是表达式永远为真,循环不可能终止。while死循环的案例如图:除了在嵌入式应用等少数情况允许上述死循环,大多数情况下死循环的出现是设计上的错误。如何避免在Python程序出现死循环是编程时需要重视的问题。正常的情况下, while循环体里面至少应该包含改变条件表达式的值得语句,以便可以使循环趋于结束。解决无限(死)循环的方法就是:确保循环结构中至少有一次计算能让循环条件变为False值,或使用中断语句直接跳出循环体。” 学生聆听教师讲解while 循环的条件和死循环,教师播放PPT,进行相关操作演示; 3.教师讲解while 循环嵌套知识内容,并进行相关演示; 教师:“Python 语言允许在一个循环体里面嵌入另一个循环。例如,前面介绍的for循环就允许for循环体里面再嵌入另一个for循环。Python for循环嵌套for循环的语法格式可以描述为,如图:同样,Python语言允许while循环体里面再嵌入另一个while循环。while循环里面再嵌套while循环的语法格式可以描述为,如图:接下来,做一个使用while嵌套循环编程,输出2~100的素数的编程练习。程序及结果如图。” 学生认真聆听教师讲解while 循环嵌套知识内容,教师播放PPT,进行相关操作演示; |
活动意图说明 配合PPT和Python编程语言进行讲解,让学生从亲身经验中体会while循环结构及使用方法。 |
环节三:(项目制作)25min |
教学活动3 教师带领学生借助软件完成对战小游戏的设计; 教师:“计算机随机产生一组密码,要求设计猜密码功能,接收键盘输入一组密码,程序负责进行两组密码比对,提示比较结果。任务1:程序固定一组密码,接收键盘输入密码,实现猜密码功能。参考程序代码及结果如图:任务2:完善程序,使用标志作为程序继续运行的条件。参考程序代码及结果如图:任务3:首先,设计一个程序,使用while语句编写一段程序,实现猜测计算机产生的0~20的随机数字,如果猜错则继续进行猜测,如果猜对则打印出猜中所用的次数。然后设计流程图,最后,程序及结果如图。” 教师操作Python编程语言,并讲解根据具体操作步骤实现猜密码功能,并进行操作演示; 学生聆听教师讲解利用Python完成猜密码的过程和方法; 教师讲解完成后,教师可留给学生5min时间让学生自己操作学习; |
活动意图说明 屏幕共享,教师演示操作,培养学生动手操作能力,让学生直观学习编程设计过程,掌握逻辑结构。 |
环节四:(展示小结)5min |
教学活动4 1.学生发言,展示作品,进行逻辑代码讲解; 2.教师对学生作品进行评价; 教师:“同学们,在看了大家的作品后,老师觉得大家都完成的非常好,老师给同学们一个大大的赞。” 1. 总结本节课的知识内容,巩固本节课的知识点,铺垫下一节课。 |
环节五:(思维拓展)10min |
教学活动5 教师讲解bug及bug产生原因的相关内容; 教师:“英文的bug,原意是“臭虫、小病”的意思,现在被常用来特指计算机程序设计中的缺陷或错误。程序bug是指在软件运行中因为程序本身有错误而造成的功能不正常、死机、数据丢失、非正常中断等现象。程序出现bug的原因主要有:1.算法设计适用性考虑不周,忽视了异常情况的存在。2.对各种流程分支的处理逻辑考虑不全面。3.对模块边界情况的处理不到位。4.对输入数据的规范性检查缺失。5.调用接口的设计有局限。6.编写代码时的手误。” 学生认真聆听教师讲解bug及bug产生原因的相关内容; |
活动意图说明 增强学生对程序使用的规范操作能力,更好利用Python编程。 |
环节六:(能力提升)5min |
教学活动6 1.教师讲解冒泡排序工作原理; 教师:“冒泡排序是程序设计中一种简单实用的排序方法,它重复地访问要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。访问元素的工作是重复地进行,直到没有相邻元素需要交换,也就是说该元素列已经排序完成。冒泡排序方法的工作原理如下:1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3.针对所有的元素重复以上的步骤,除了最后一个。4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。” 学生聆听教师讲解冒泡排序工作原理; 2.根据所学知识,利用Python编程设计实现冒泡排序功能; 教师:“请通过Python的循环嵌套,设计一个能实现冒泡排序功能的程序。” |
活动意图说明 通过项目式学习的体验效果,让学生可以更直接的体验Python编程的应用,提高学生的参与感。 |
7.板书设计
无尽的重复
1.while循环:
扩展while循环:
while循环条件和死循环:
while循环嵌套:
2.猜密码: