2.4常见算法的程序实现教学设计20232024学年人教-中图版高中信息技术必修1_第1页
2.4常见算法的程序实现教学设计20232024学年人教-中图版高中信息技术必修1_第2页
2.4常见算法的程序实现教学设计20232024学年人教-中图版高中信息技术必修1_第3页
2.4常见算法的程序实现教学设计20232024学年人教-中图版高中信息技术必修1_第4页
2.4常见算法的程序实现教学设计20232024学年人教-中图版高中信息技术必修1_第5页
全文预览已结束

下载本文档

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

文档简介

《常见算法的程序实现》教学设计学科信息技术年级高一班级授课教师章节第二章第四节第二课时课题名称常见算法的程序实现二课型新授课授课时间教材内容分析本节从体验探索开始,在已经实现“自助式人行过街红绿灯”基本功能的基础上,引导学生结合生活实际进行分析,探讨“绿灯时长的最优设置”,通过计算绿灯最短时长,认识解枚举法。随后,学习枚举法,通过实践活动“寻找1000以内的所有素数”,对两种方案的算法与程序实现的进行比较,感受算法效率。最后进行算法综合应用,掌握调试运行程序的基本方法。学生情况分析学生具有强烈的求知欲和探索精神,兴趣广泛,思想活跃,有创意,有较好的发散思维,有一定的分析问题和解决问题的能力。经过前期的涫,他们已经掌握了Python语言编程的基本知识,并实现了编程模拟“自助式人行过街红绿灯”的基本功能。但对程序设计中的一些基本算法了解不深,对现实生活中较复杂问题的分析能力较弱,不能选择合适的算法进行问题的分析和算法实现。另外,在日常和生活中,学生经常需要构建表达式解决较为复杂的问题,具有较强的解枚举法学习需要。教学目标(核心素养)理解解枚举法的含义与基本思想,能够通过编程实现算法。掌握使用解枚举法解决问题的基本方法,能从日常生活和学习中民现或抽象出可以利用算法与程序设计解决的问题,形成主动应用算法和程序解决问题的意识。能对自己和他人设计的算法与程序进行优化,开展合作,运用算法与程序实现设计问题求解方案,进行创造性探索。能遵守与程序设计相关的偷道德与法律法规,负责任地使用信息技术。教学重点理解解枚举法的含义与基本思想,难免通过编号实现算法。教学难点掌握使用解枚举法解决问题的基本方法,能从日常生活、学习中发现或抽象出可以利用算法与程序设计解决的问题。教学方法合作探究、任务驱动教学过程教师活动学生活动设计意图引入新课枚举法是依据问题的已知条件,确定答案的大致范围,在此范围内列举出它所有可能情况的方法。在列举过程中:不能遗漏任何一个正确解;通过逐一判断,验证哪些情况满足问题的条件,从而得出问题的答案。观察思考在老师的引导下,思考并回答问题。新课学习新课学习枚举法在编程中,首先要确定枚举对象和枚举范围,验证问题成立的条件;借助循环语句和条件语句进行相应的程序设计,实现问题解决。例:票据中模糊数字推断问题。一张票据上有一个4位数字组成的编号,甲说数字编号的前两位数字相同,但都不是零;乙说数字编号后的后两位数字是相同的,但与前两位不同;丙说数字编号是一个整数的二次方。试根据以上线索推断出编号。分析问题已知条件:假设4位数字的编号是AABB,其中A≠0,A≠B,且AABB是一个整数的二次方。求解目标:票据中的数字;已知与未知的关系:要求解的4位数字的编号必须同时满足所有的已知条件。设计算法编程实现与调试ImportmathA=1WhileA<10:B=0WhileB<10:IfA!=B:K=A*1000+A*100+B*10+BC=int(math.sqrt(k))IfC*C==K:Print(“票据编号是:”,K)B=B+1A=A+1保存文件,调试运行程序师生总结:分析该问题的解决算法的核心思想——枚举法。它的基本特征:枚举对象、枚举范围、验证条件。探究任务:判断一个数是不是素数提出任务,小组合作进行任务分析,交流。已知条件:素数的定义(只有1和它本身两个因数的数)求解目标:判断这个数是不是素数。求解方法:逐一判断活动1:算法分析——理解枚举算法绘制流程图开始开始输入一个数结束活动二:编写程序K=1N=Print(“请输入一个数:”)Forjinrange(2,N):IfN%j==0K=0IfK==1;Print(N)K=1学生根据流程图编写程序,并调试运行,得到结果。活动3:延伸思考1000以内的素数查找师生交流:这是对1000个数的“大”枚举,逐一列举每一个数,判断是否为素数,可以将上面的代码作为这下问题的判断条件。展示完善后的流程图,共同修改程序,运行求解。代码如下:K=1ForNinrange(2,1000):Forjinrange(2,N):IfN%j==0K=0IfK==1;Print(N)K=1打开教学资源平台中提供的另一算法,进行对比,哪个效率高?ImportmathK=1Forninrange(2,1000):m=math.ceil(math.aqrt(n))+1Ifn==2:Print(n)Forjinrange(2,n):Ifn%j==0k=0BreakIfk==1:Print(n)k=1方案枚举对象枚举范围验证条件自己的略略略算法Aj2—n/2n是否能被j整除算法BJ2—nn是否能被j整除根据具体数据,计算出最短绿灯时长。绘制流程图展示关键解析语句,并运行程序。综合应用查找文稿中高频词汇的问题问题:学校开展经典诵读活动,小明在阅读《三国演义》时,为了分析小说的写作特色,想把小说中出现次数最多的20个词查找出来。想一想小明如何通过编写程序来实现呢?分析问题已知条件:文本文件《三国演义》求解目标:《三国演义》是高频词(以出现次数最多的20个词为例);已知与未知关系:统计文本中词频,找出次数最多的20个词。设计算法读取文件——中文分词(jieba分词)——词频统计——词频排序——显示输出编程实现与调试Importjeibaf=open(“三国演义.txt”,”r”,encoding=”utf8”)txt=f.read()words=jieba.lcut(txt)Count={}forwordinwords:Iflen(word)==1:continueelse:Counts[word]=counts.get(word,0)+1Items=list(counts.items())Items.sort(key=lambdax:x[1],reverse=true)Foriinrange(20):Print(items[i][0],items[i][1]保存文件,调试运行程序。课堂总结枚举算法思想在生活中解决问题的适用情况及特点:运算量大;求解数量有限;所有的可能情况都符合一定的规则。枚举的应用与延伸枚

温馨提示

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

评论

0/150

提交评论