2.4.2基于枚举算法的问题解决教学设计20232024学年人教-中图版高中信息技术必修1_第1页
2.4.2基于枚举算法的问题解决教学设计20232024学年人教-中图版高中信息技术必修1_第2页
2.4.2基于枚举算法的问题解决教学设计20232024学年人教-中图版高中信息技术必修1_第3页
2.4.2基于枚举算法的问题解决教学设计20232024学年人教-中图版高中信息技术必修1_第4页
2.4.2基于枚举算法的问题解决教学设计20232024学年人教-中图版高中信息技术必修1_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课题2.4.2基于枚举算法的问题解决学科信息技术年级高一班级授课教师章节第二章第三节程序设计课题名称基于枚举算法的问题解决课型新授课授课时间课标要求理解枚举算法的基本原理和求解问题的基本过程,能够完善程序代码实现算法。掌握枚举算法解决问题的基本过程,学会使用枚举算法解决生活中的实际问题,提高信息安全意识教学目标(核心素养)·通过“票据中模糊数字推断”情境,分析数字推断的过程,理解枚举算法的基本原理。(计算思维)·通过“百钱白鸡”“水仙花数”任务,了解枚举算法求解问题的基本过程,能用流程图描述该问题求解的算法,能编写程序并调试运行,实现问题求解。(计算思维)·体验枚举算法的执行效率,认识优化算法的必要性。(计算思维)·通过与生活实例的结合运用,学会使用枚举算法解决生活中的实际问题,提高信息安全意识。(信息社会责任)教学重点建立正确的数学模型,确定枚举方案。教学难点恰当安排枚举方式,感受不同算法的执行效率,体验算法优化在解决中的价值。教学方法讲授法,案例分析法、探究法。教学过程教师活动学生活动二次备课新课引入一、情景引入:模糊数字推断问题:票据上有一个4位数字组成的编号:甲说:数字编号的前两位数字相同,但都不是零;乙说:数字编号的后两位数字是相同的,但与前两位不同;丙说:数字编号是一个整数的平方。请根据以上线索推断出编号。教师:巡视学生学习情况,指导和帮助学生自主、协作学习,调控课堂气氛。根据任务需求,学生枚举的方法寻找答案,找出已知条件,求解问题以及隐含关系教学环节二、分析问题:已知条件:四个数字应是AABB,其中A≠0,A≠B,且AABB是一个整数的二次方求解目标:票据中的数字已知与未知的关系:要求解的4位数字的编号必须同时满足所有的已知条件。图1分析问题示例设计算法:根据问题分析,只要一一列举出4位数字AABB中A与B的所有可能组合,保证A≠B

且A≠0.再验证二次方问题,就可以得到同题的解。因此,该问题可使用枚举算法求解完成用枚举算法实现解“票据中的数字”问题,如何进行问题拆解?eq\o\ac(○,1)本问题的已知条件是什么?求解目标是什么?隐含什么样的关系?一一列举可能的解,即枚举范围是多少?逐一检验可能的解,判断条件是什么?eq\o\ac(○,2)设计算法:输入数据、处理数据、输出结果逐一列举,用循环结构就可以解决。一一校验,则需要用到分支结构,验证哪些情况满足问题的条件,如果满足就输出。编程实现与调试:importmathforAinrange(1,10):forBinrange(0,10):ifA!=B:k=A*1000+A*100+B*10+Bc=int(math.sqrt(k))ifc*c==k:print("票据编号是:",k)二、枚举算法枚举算法:依据问题的已知条件,确定答案的大致范围,在此范围内列举出它所有可能情况的方法。枚举算法适合解决求解的答案数量有限,并且可能的答案是能按照某种规则列举出来的问题。例如,用枚举法解决一些数学问题(“韩信点兵”“鸡兔同笼”等),益智游戏和逻辑推理等。应用枚举算法解决问题1、水仙花数“水仙花数”是指一个三位自然数,其各位数字的立方和等于该数本身。例如153是“水仙花数”,因为:153=13+53+33。已知条件:一个三位自然数,其各位数字的立方和等于该数本身求解目标:求水仙花数已知与未知的关系:要求解的这个数必须同时满足所有的已知条件。设计算法:通过分别枚举三位自然数的百位、十位和个位数字,计算生成一个三位自然数,再去判断它是否是水仙花数。用枚举算法实现解“水仙花数”问题,如何进行问题拆解?分析问题=1\*GB3①本问题需要存储哪些数据,各是什么类型?=2\*GB3②用枚举算法实现解“水仙花数”问题,如何进行问题拆解?一一列举可能的解,即枚举范围是多少?逐一检验可能的解,判断条件是什么?如何分离各位数字,并得到三位数字的立方之和?设计算法:输入数据、处理数据、输出结果编程调试2、百钱白鸡问题(本节课作业zuoye11)分析问题:1.公鸡每只5元,母鸡每只3元,小鸡3只一元;2.用100块钱买100只鸡,问公鸡、母鸡、小鸡各多少只?已知条件:公鸡每只5元,母鸡每只3元,小鸡3只一元,用100块钱买100只鸡。求解目标:公鸡、母鸡、小鸡各多少只?已知与未知的关系:要求解的公鸡、母鸡、小鸡各多少只,必须同时满足所有的已知条件。设计算法:rooster,hen,chick,分别代表公鸡、母鸡和小鸡的购买数量,根据问题分析,只要一一列举出的所有可能组合,保证rooster+hen+chick=100且rooster*5+hen*3+chick/3=100,就可以得到同题的解。因此,该问题可使用枚举算法求解完成.确定范围:公鸡最多20只,母鸡最多33只,小鸡最多100只满足条件:rooster+hen+chick=100rooster*5+hen*3+chick/3=100程序代码(红色部分为学生补充的内容):#mPythonType:1forroosterinrange(101):forheninrange(101):forchickinrange(101):ifrooster+hen+chick==100andooster*5+hen*3+chick/3==100:print(f'公鸡{rooster}只,母鸡{hen}只,小鸡{chick}只.')算法优化后的程序#mPythonType:1forroosterinrange(21):forheninrange(34):ifrooster*5+hen*3+(100roosterhen)/3==100:print(f'公鸡{rooster}只,母鸡{hen}只,小鸡{100roosterhen}只。')分析讨论:两种代码的循环执行次数有什么不同?在解决实际问题的过程中,由于枚举算法需要将所有可能情况一一列举,当数据范围比较大时,要尽可能将枚举范围降至最小,提高解决问题的效率。讨论归纳:在应用枚举算法求解问题时,需要考虑优化算法,选择恰当的枚举对象,尽量分析出问题中的隐含条件,缩小枚举范围,以提高解决问题的效率。学生体会和理解提炼枚举法的技术思想,使学生解决问题的能力可迁移,提高计算思维学生体验枚举法解决问题的全过程学生通过该问题理解和掌握语句之间的逻辑关系,通过程序的缩进来体现逻辑关系观察与思考,完成算法流程图,总结枚举算法的基本原理。观察程序,体会用计算机程序解决问题的优势。学生通过该问题理解和掌握语句之间的逻辑关系,通过程序的缩进来体现逻辑关系观察与思考,应用枚举算法解决问题水仙花数。总结枚举算法的基本原理。观察程序,体会用计算机程序解决问题的优势。观察与思考,应用枚举算法解决问题百钱白鸡。。观察程序,体会用计算机程序解决问题的优势。比较两个程序我们发现,同一个问题,可以从不同的角度思考,实现问题求解。引导学生在算法的学习中,要多思考,多和身边的同学们讨论,碰撞出更多思维上的火花。知识总结,系统归纳。回忆课堂学习过程,提高对枚举算法的认识。加深对所学知识的认识与理解,学会评价各种枚举方案的优劣。通过票据中的数字的学习学生掌握了枚举法,使用嵌套循环逐一的例举出结果,学生此时趁热打铁让学生完成了水仙花数的程序。课堂小结本节课通过推算

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论