多种方式解决密码丢失
——循环结构的综合运用
学科核心素养 能够根据解决问题的需要,自觉、主动地寻求恰当的方式处理信息。(信息意识) 通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案。(计算思维) 掌握数字化学习工具的操作技能。(数字化学习与创新) 能够遵守信息法律法规,信守信息社会的道德与伦理准则。(信息社会责任)
课程标准要求 1.7掌握一种程序设计语言的基本知识,使用程序设计语言实现简单算法。通过解决实际问题,体验程序设计的基本流程,感受算法的效率,掌握程序调试与运行的方法。
学业要求 依据解决问题的需要,设计和表示简单算法;掌握一种程序设计语言的基本知识,利用程序设计语言实现简单算法,解决实际问题
教材分析 for循环的内容在Python的结构语句学习中起着承上启下的作用。解决生活中的实际问题是信息技术的主要功能,在初识Python的基础上,利用技术的优势解决长时间重复做同一件事,让原本繁琐的事情变得有趣,把重复的工作交给计算机来完成,那么程序代码的编写尤显重要性。本节课通过探讨三种方式解决行李箱密码丢失这个案例学习,引导学生通过编写程序代码解决常见问题,让学生感受利用计算机解决问题的便捷。
学情分析 学生在前面的课中已经学习了分支语句和循环语句,对于编写程序解决问题的一般流程已经比较熟悉,但学生还不熟悉使用循环语句解决实际问题。
教学目标 知识与技能: 1.了解Python中的计数循环——for循环; 2.掌握range函数的基本格式及应用。 过程与方法: 1.通过问题求解,体验算法解决问题的步骤:分析问题,设计算法,编写程序,调试运行; 2.能够合理运用for循环解决实例问题。 情感态度与价值观: 1.树立正确地选择、使用、设计程序代码解决实际问题,为社会服务的意识; 2.通过问题求解,掌握用循环解决实际问题,感受计算机程序在提高问题解决效率中的作用。
教学重点 教学重点:for 循环的工作原理。
教学重点 合理运用for循环解决实例问题。
教学环节 教学内容 设计意图
创设情境 导入任务 播放视频:学生寻找教师解决密码丢失问题 师: 密码是保证信息安全的一种必要手段。我们经常会使用密码来保护我们的隐私。举例微信密码,银行卡密码。 师:我带来了这个行李箱,今天这节课我们就来尝试找回密码打开行李箱。 小tips:密码与该同学的生日(9月7日)有关。这个三位数密码能被97整除。 生:思考如何找到行李箱密码的方法。 创设情境,以某同学忘记行李箱密码引入,引发学生的学习兴趣。
方式一: 口算枚举 生:口算列举符合条件的密码 方式一:从0,1,2开始一一列举 方式二:从0,97逐一列举(找到规律) 方式三:投机取巧的同学可能直接给出一个数 师:允许多种方式解决,可以邀请学生上台列举并尝试打开行李箱。 师:引导学生发现口算列举的优缺点:随时进行,简单,但是效率较低。(介绍wps表格) 从学生熟悉易懂的方法出发解决问题,体会使用口算方式列举密码的求解过程
方式二: wps表格求解 师:相较于口算枚举需要一一计算判断,wps可以直接通过编辑好公式进行判断从0到999中的每一个数是否能被97整除,进而筛选出符合条件的数求解密码。 师:展示使用wps列举的过程 生:观看教师操作步骤。 师:引导学生发现wps表格的优缺点 优点:快速判断出每一个数是否被97整除 缺点:数据量大,需要进行筛选,并且对于wps表格公式编辑能力要求高。 尝试使用计算机中的wps辅助解决问题,体会用表格中公式的方法列举密码求解的过程
方式三:使用编程方式求解 分析 问题 师:对于wps表格,虽然减少了计算量,但是数据量也不小,因为需要一直重复进行数据计算(对97求余数)从而判断是否符合标准。重复做一件事情是很繁琐的,但我们知道计算机很擅长做重复的动作,那么我们是否可以尝试使用编程方式解决问题? 师:在编程前,我们需要分析计算机需要解决的问题是什么? (提示:列举的密码范围是?如何确定列举的数符合要求) 生:思考并回答。一一列举密码,只有被97整除的数才符合(这个数对97求余,结果为0)
设计 算法 引导学生确定两个主要问题的解决办法。 三位数密码x的取值——最小值为000,最大值为999 这个三位数密码能被97整除——对97取余数,为0 培养学生根据问题设计算法的思维
编程 实现 师:通过观察,我们发现计算机需要一直不断重复进行取值并判断这个数是否能被97整除,那么我们可以使用循环结构解决问题。 师:请思考,这里是次数循环还是条件循环呢?循环体又是什么? 生:观察并思考回答 师:这个问题我们发现可以通过for循环实现。接下来回顾一下for循环的语法。接下来请同学们完成程序的编写并找出密码 for 循环变量 in 列表: 循环语句 生:调试程序找出密码并尝试打开行李箱。 for x in range(): if : print(x) 通过引导学生分析问题中的循环体和循环次数,使学生明确如何使用for循环解决问题。 上机操作, 检验编程结果
拓展提升 对比三种方式优缺点 师:发放问卷,请学生填写对于三种方式的偏好以及原因。 生:填写问卷并发表观点 师:总结三种方式的优缺点并提醒不同情况下可以选择不同的方式。 师:在这种重复去解密判断的情况下,我们可以利用计算机技术的优势解决长时间重复做同一件事,让原本繁琐的事情变得有趣,把重复的工作交给计算机来完成. 通过填写问卷确定自己适合的方式来解决密码丢失问题。 同时通过聆听其他同学的看法交流不同意见。能辩证的评价三种方式的优缺点并体会到编程解决问题的便利性。
课堂小结 邀请学生一起共同对本节课进行小结 用思维导图梳理知识,巩固认知
进阶挑战 师:恭喜你们解开三位数密码,我们发现行李箱里面还有一个小箱子。接下来请尝试用编程方式解决四位数密码打开小箱子。 生:编程解密 设置进阶练习,考察学生对于循环结构的掌握情况
板书设计:
编程任务单 三位数密码(可以被97整除) for x in range(①): #循环次数 ②: #判断是否是97的倍数 print(③) #输出符合条件的数 四位数密码(可以同时被97和16整除) for ①: if ②: print(③)