浙教版六年级上册信息科技全册教学设计教案.docx
浙教版六年级上册信息科技全册教学设计算法与问题解决教学设计课题算法与问题解决单元学科信息年级六教材分析六年级学生之前只了解图形化编程,但对一些基础的算法思想已有一定的了解。Python相对图形化编程上手门槛会稍高,需要注重知识的迁移应用。六年级学生以直接兴趣为主,对具体事实和经验的知识较有兴趣,对这样的有实物的观察内容比较感兴趣。本书的内容对他们而言难度较大,注重学生的基本功,抓住学生学习的主要矛盾,兼顾次要矛盾,用科学的方法来理解算法、应用算法。学习目标在计算机中运用算法解决问题的一般步骤。重点在计算机中运用算法解决问题的一般步骤。难点在计算机中运用算法解决问题的一般步骤。教学过程教学环节教师活动导入新课讨论:生活中的投票可以通过那些途径解决?各有什么优点?建构:在计算机中运用算法解决问题,主要经历问题分析、抽象与建模、设计算法、验证与优化算法等过程。讲授新课一、抽象与建模:确定变量:a>b、tp抽象规则:tp的值决定了a+1还是b+l,如果当tp="a"时,变量a的数值加1,当tp为为”时,表示投票给B作品,则b=b+l.建立模型:在抽象的基础上,总结规律、建立模型是设计算法的前提。建立模型可以借助公式、表格、图示等方式。二、设计算法设计算法时,要确定算法的输入与输出,并合理地选择控制结构,准确、有序地描述解决问题的步骤。A、B作品将票数清零,即将变a与b的值初始化Ht为O投票者输入投票内容“a"SE-b",并将其Ht值给变IKp使用分支结构对投票内容进行判断,因tp为-a"时,变a的数值加1,当tp内容为"b"时,变b的数值加1使用储环结构重复步,2和3,直到100O名学生都完成投票输出A、B作品得票数三、验证算法IS三S.py-D:胸幽ypy(3.11.1)一FileEditFormatRunOptionsWindowHelpMUa、b表示A、B作品的d票数,程序初始票数回a=0b=0力小变量i控制投票的次数«孑多少个人参与投票就循环多少次JiiLi<1001:并提示用户投票的方式,并用【P存储用户输入的投票内容tp三inpuM'输入a投泵给AfI晶.输入b投票给B作品.#对2中的内容进行判断.并不断统计A、B作品票数iftp=三*a*:a=a+1else*b=b+1i三i+1S输出将A、B作品的票数PrinteA作品获得票数为:a,”B作品获得票数为,”,b)课堂练习练习:如果有3位候选人参与竞选,投票问题的算法要怎么调整,在流程图中做相应的修改。课堂小结想一想:如果用户输入的数据不是a也不是b,结果会怎样?课题:抽象与建模第,_课时主备人:二度备课人:教学目标L借助表格进行抽象。2.用算式表达计算模型。教学重点借助表格进行抽象。教学难点用算式表达计算模型教学准备教学过程二度备课与修改探索:这个问题的关键数据有哪些,它们之间给的关系是怎样的?为今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?IF专建构:抽象与建模可以抓住问题的核心,忽略不重要的细节,为更普遍的问题提出解决方案。抽象与建模可以应用于学习与生活的各个领域。一、问题描述大约在1500年前,孙子算经中就记载了鸡兔同笼这个经典的数学问题,用现代汉语可以将该问题描述如下:有若干只鸡、兔在同一个笼子里,从上面数鸡兔有35个头,从下面数鸡兔有94只脚,问笼中有多少只鸡和多少只兔?(已知条件、未知条件、求解目标)二、抽象当问题中各对象之间的关系较为复杂时,可以用表格对问题进行抽象。对问题进行抽象时可以从对象、数量、关系等方面入手。对象关系头数脚数鸡未知未知鸡头数X2鸡跚免未知未知兔头数X4=兔嬲1嗓数+兔头数=35鸡宛整体三、建模3594鸡脚故+免税数=94根据抽象出来的数据及其关系,可以建立计算模型,进而推导出答案,解决问题。例如,“鸡兔同笼”问题中,使用变量“ji”表示鸡的头数,使用变量“tu”表示兔的头数。ji+tu=35«OfjiV35,O<tu<35jiX2+tu×4=94试一试:为了让模型能适用于更多的同类问题,请用变量表示鸡兔的总头数与总脚数,并修改计算模型。练习:我国古代数学家张丘建在算经一书中提出了著名的“百钱买百鸡”问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,问翁、母、雏各几何?请利用表格,对这个问题从对象、数量、关系等角度进行抽象建模。对象数量关系只数钱数鸡翁鸡母鸡雏鸡总体100100练习易错题与学习困难点摘录:相应教学对策:教学札记课题:算法设计第二课时主备人:二度备课人:教学目标1 .了解算法思想的概念,能够对问题选择合适的算法思想。2 .了解枚举法的概念和过程,能使用枚举法进行算法设计。教学重点用枚举法进行算法设计教学难点用枚举法进行算法设计教学准备教学过程二度备课与修改(一)导入【导入】算法真的可以解决那么多数学题目吗?今天我们再来挑战下新的题目吧,看看应该如何设计算法。【活动】玩游戏:24点,教师屏幕上展示4张卡牌,学生抢答活动反馈:(1)学生踊跃发言(2)找出24点能力最强的同学,请他们说说他们的方法。导入课题:算法设计(二)新授合理选择算法思想可以设计出更加精妙的算法。【活动1】观看视频,了解什么是算法思想以及常见的算法思想。活动反馈:(1)算法思想:枚举、递推、递归、分治、动态规划等。(2)最简单的方法一一枚举法【概念】枚举也叫穷举,顾名思义,就是穷尽列举。枚举法的思想是有序地尝试每一种可能的解,如果满足正确解的条件就采纳,否则继续枚举,做到不遗漏、不重复。它在生活中有着广泛的应用,使用枚举法的关键是确定枚举的范围和正确解的判断条件。【活动2】观看书本,了解什么是枚举法,并完成任务单上填空。1 .枚举法的思想是是地尝试解。2 .枚举法的关键是活动反馈:(1)学生了解枚举法的概念【提问】为什么手机在输入一定次数的错误密码后,会锁屏一段时间,用到了哪种算法思想。学生回答鸡兔同笼:有若干只鸡、兔在同一个笼子里,从上面数鸡兔有35个头,从下面数鸡兔有94只脚,问笼中有多少只鸡和多少只兔?【活动】小组分工,分别测试完成表格,找到每一种可能对应是否满足条件。鸡/只123?兔/只3433329*脚总数/条138是否满足正确解条件错活动反馈:每位成员测试一部分,并汇总,最终找出满足条件的数据。【提问】除了枚举兔子的数量,你还有其他的枚举方法吗?鸡的数量【活动】小组合作描述算法。将自然语言和流程图的步骤补充完整。活动反馈:(1)学生操作。展示小组成果,教师补充完善。(三)总结教学札记练习易错题与学习困难点摘录:相应教学对策:课题:算法的程序体验第4课时主备人:二度备课人:教学目标L知道多种程序设计语言及其特点;2学会用PythOn编写简单程序;3.通过对程序的解读,认识程序语法规则。教学重点学会用python编写简单程序。教学难点通过对程序的解读,认识程序语法规则。教学准备教学过程二度备课与修改导入我们的数学解题机器人真的可以把这些题目都解出来吗?这些算法又是怎么让机器人帮助我们来运算的呢?学生表达观点。引入课题算法的程序体验。新授计算机的程序设计语言非常的多,同一个算法可以使用不同的程序设计语言来描述,你知道计算机有哪些程序设计语言吗?【活动一】搜一搜常见的程序设计语言及其特点,完成下表程序语言特点其他学生活动。【小结】根据不同算法的特点,择优选择合适的程序设计语言。引出Py出On程序【活动二】打开PythOn软件。根据导学单中步骤,打开IDLEShell和程序编辑器两个窗口学生操作。【小结】教师总结这两个窗口不同的作用。【引语】同学们了解了它们的不同,那我们就来体验以下吧!【活动三】分别在两个窗口中编写“helloWorkr程序,体验两个窗口的不同,观察输出结果。学生操作,学生讨论、交流。教师小结。【问题】计算机是如何解决鸡兔同笼的问题的呢?它的程序是如何的?你能看的懂计算机程序语言吗?一起来试一试【活动三】打开“鸡兔同笼”程序文件,观察程序语言,完成以下填空,哪句是赋值语言,条件循环语句、单分支条件语句、输出语句。学生操作,学生讨论、交流。教师小结。总结这节课你有什么收获?教学札记练习易错题与学习困难点摘录:相应教学对策:教学目标1 .学会用单步调试,找出程序的错误位置,并对其进行修正;2 .通过讨论完善“鸡兔同笼”算法并绘制流程图,提高学生的计算思维;3 .学会根据流程图,完善“鸡兔同笼”的程序。教学重点通过讨论完善“鸡兔同笼”算法并绘制流程图,提高学生的计算思维。教学难点学会根据流程图,完善“鸡兔同笼”的程序。教学准备教学过程二度备课与修改导入【引语】上节课我们观看了鸡兔同笼的程序,这节课我们用python打开程序,执行一下这个程序吧!引入课题算法的执行。学生根据导学单打开鸡兔同笼程序并运行。学生操作新授【问题】程序出结果了吗?猜一猜程序为什么没有出结果?有什么解决方法?学生讨论【小结】教师总结因为程序出错,导致没有结果产生。通过单步调试可找出程序中出错的位置。第5课时二度备课人:主备人:【活动】根据导学单,对程序执行单步调试,并找出程序中出错的地方。可以的话试着改正程序。学生操作。教师演示找出正确的错误点并和学生一起改正错误。注意:代码中的标点都需在英文半角状态下输入学生操作,【问题】学生观看教师操作,已经修正程序了,为什么程序还是不输出任何结果?学生讨论【小结】在无解的情况下,程序也是不输出结果,【问题】为了让该算法与程序能适用于多数“鸡兔同笼''问题,让用户明确得知题目是否有解,我们可以做哪些调整呢?学生讨论【小结】在程序中加入有解、无解的提示。【讨论】如何判定有解、无解?学生讨论教师提示:用变量“jie”记录此题是否有解。并完善流程图。学生讨论、交流。【活动】根据流程图在python中加入合适的代码,完善提示程序。学生操作,学生讨论、交流。教师小结。【问题】“鸡兔同笼”的程序还有哪些可完善的地方?学生讨论总结【总结】这节课你有什么收获?学生回答。练习易错题与学习困难点摘录:教学札记相应教学对策:第课时主备人:二度备课人:教学目标1 .通过分析“猜数字”游戏。使用表格建模;2 .利用循环和分支结构设计算法,并绘制流程图;3 .通过抽象与建模,完成算法设计,建立编写程序的基础。教学重点利用循环和分支结构设计算法,并绘制流程图教学难点通过抽象与建模,完成算法设计,建立编写程序的基础教学准备教学过程二度备课与修改导入【课前】同学们两两一组,看一看游戏规则,并玩一玩“猜数字”游戏。【导入】请两位同学上台玩一玩“猜数字”游戏【小结】“猜数字”游戏可以和同学一起玩,也可以和计算机一起玩,完成人机交互程序。引入课题猜数字算法设计。新授【活动】根据之前的讨论,用自然语言填一填“猜数字”游戏的算法,并说一说哪里需要循环结构,哪里需要分支结构。学生讨论人(cai)教师小结,【活动】小组合作根据自然语言,绘制“猜数字”算法流程图学生讨论;教师总结【总结】这节课你有什么收获?学生回答。练习易错题与学习困难点摘录:相应教学对策:第7课时主备人:二度备课人:教学目标1 .通过流程图。使用While、ifelse语句编写“猜数字”程序;2 .通过编写、运行程序,对算法进行验证,提高学生数字化学习能力;3 .通过分析程序结构与任务需求,完善算法的方案。教学重点通过流程图。使用While、ifelse语句编写“猜数字”程序教学难点通过编写、运行程序,对算法进行验证,提高学生数字化学习能力教学准备教学过程二度备课与修改预设教学流程内容I语句(一)导入【导入】回顾“猜数字”流程图【小结】算法是否正确呢,通过编写、运行程序,我们可以对算法进行验证,并根据验证结构不断优化算法。引入课题猜数字算法验证。(二)新授【问题】编写“猜数字”程序,我们可能要用到哪些语句?小组讨论完成下表内容语句计算机确定一个数用户输入数字用户猜错,循环执行判断用户猜对提示学生讨论【小结】计算机确定一个数Number=用户输入数字Cai=用户猜错,循环执行while判断Ifelse用户猜对提示print【活动】根据表格内容,完成“猜数字”程序,并运行,验证算法学生操作教师小结,【问题】为了提高“猜数字”程序的实用性与趣味性,还可以增加哪些功能呢?学生讨论【活动】在程序中增加记录猜测次数的功能,用变量Ci表示次数,用户每猜一次,Ci就加1,用户答对后输出一共猜了多少次的提示学生操作教师小结(三)总结【总结】这节课你有什么收获?学生回答。教学札记练习易错题与学习困难点摘录:相应教学对策:第3_课时主备人:二度备课人:教学目标1、了解计算机解决数学问题的方式。2、通过对猜数字的两种算法分析,理解这两种方法的原理。3、通过猜数字两种算法的验证,掌握两种验证方法。4、通过多种方法来解决问题,提升了学生的计算思维教学重点理解猜数字两种算法原理。教学难点掌握猜数字算法的两种验证方法教学准备教学过程二度备课与修改(一)导入【回顾】回顾上节课我们做的猜数字游戏,简述它的原理,并进行简单的试玩。学生回答、巩固人猜数字的原理。【引导】当我们在解决思考猜数字游戏地时候,脑海中总会有多种方案,那么我们的数学解题机器人呢?它是如何进行思考的?它能自己解决今天的猜数字问题吗,并且会用不同的方法吗?学生思考、讨论、回答。引入课题算法的多样性(二)新授【提问】我们的猜数字游戏是一个“查找”问题,即在PiOO范围内查找目标数mb。那计算机是如何找到这个数呢?学生回答。【活动一】问题分析。独立思考、小组讨论、确定不同计算方法。学生参考课本上的提示和课件里的动图,来介绍顺序查找和二分查找,个别同学介绍二叉查找数的方法。【小结】通过刚才的讨论和分享,我们知道了解决猜数字问题,有很多的方法。就像我们生活中的很多问题,只要我们善于思考,就可以想出不同解决方法。【提问】在五年级时候我们已经学习过了流程图,我们能否也来设计一下这两种算法的流程图呢?学生回答。【活动二】多种算法设计。根据讨论结果,绘制流程图。学生根据活动一的分析,以顺序查找和二分查找为主,分小组选择一种方法绘制对应流程图。组内讨论,并互相讲解自己流程图。展示学生成果,一同分析易错点及难点。【提问】这两种算法多对吗?我们的算法如何来验证呢?学生回答。【活动三】问题的多种算法验证学生根据活动二的流程图来编写具体程序。根据学情,选择适合学生的编程软件。也可以先准备好一些脚本,让学生来补齐。【提问】条件循环语句里的条件怎么写?学生回答问题。根据不同的条件,来编写程序。ZJ>A-CMH>WA(174)EHCEditFQtnwMBunQfMkXM"MowHHpmb=37MbWJU小数的变展名.37为门己选定的假.可使用不用的他.qs=l»»qs地i冲机门动取数的变版名.I为初始化的他.cs=l*cs表示猜的次数,初始化为1次.qs<IOl:Ghil足乐什储坏讲句.因为兄J到100值.条件也可以是100qs=三b:*if址条件皤旬,示数学里的等于Print找到的敌为:".qs)的)rint是摘出语句,«»出储果.Print(FJ的,次数为:cs)叫次数.hr.>k*breuk是跳Hlelfi环语旬.终止此燃环.11>«>:*。】so是条件i&句'|«的否则.程序1qs=qs+l#将I仅数加Il.cs-cs+1#将次数加1.1.£&FgmwtRunQ(iomWMowmb=37,b是目标数的变量名,将目标数设为I到100的随机整数。qs=lWlS是计费机白动取数的变量名,1为初始化的值Ccs=ls表示猜的次数,初始化为1次.qs!=mb:hhile是条件循环语句,如果qs(取数)!=(不等于)mb(日标故),qs=qs+l士将取数加Lcs=cs+l,将次数加1.PrintC找到的数为:Iqs)Sprint是输出语句,检出结果.PriMr用的次数为:cs)阳出次虬程序2对于学有余力的学生可以加上random函数。importrandom#导入随机数函数。mb=random.randint(1,100)#将目标数设为1到100的随机整数。可以用图形化代码作为参考。【提问】你能根据算法二流程图,通过数据来验证吗?学生根据上述算法二的流程图,通过表格的形式列出变量CZ(初值)、ZZ(终值)和qs(取数)的值来验证该算法。【小结】通过不同的方法来验证我们的算法,让我们更加感受到解决问题方法的多样性。(三)总结这节课的收获。教学札记练习易错题与学习困难点摘录:相应教学对策:第2课时主备人:二度备课人:教学目标1 .知道算法的评价方法。2 .通过对比猜数字两种算法,掌握效率比较的方法。3 .知道高效的算法,对于解决生活问题的重要性。教学重点知道算法的评价方法教学难点验证算法运行效率。教学准备教学过程二度备课与修改(一)导入【回顾】回顾上节课我们为数学解题机器人做的猜数字游戏,简述它的原理。学生回答、巩固计算机猜数字的原理。【引导】我们的大脑每天要处理狠毒事情,因此我们会规划好自己的时间,提高办事的效率。那机器人在处理问题时候是如何提高效率的?和我们的算法又有什么关系?学生思考、讨论、回答。引入课题算法的评价方法(二)新授【提问】我们上节课的计算机猜数字的两种算法,它们各自有什么优缺占?八、学生回答。【活动一】观察算法。学生对比两种算法的流程图和程序完成表格mb-37qslcs=lqs!nb:qs=qs*l cs=cs*lPrinM一我到的的为:.qs)mbJ目b故的安BI幺“4是泞算机门功取跤的变破/,I为初始化的值 »cs表示所的次数.初始化为1次.SWhllBJi条件循环语句,如果US(取数)!,(不笥 nb(口杯CU 啪取8(加1 二物次数Mll加rint是出语旬出结果.。瑜出次数.IHe t<M ><mM Run Optm M >C* HrtP Inb 二 37<,/ IXZ-IOO CS=I qs(cz*zz)2cz-x qs=(cz÷zz)/2 cscs*l顺序法Zl=QS qs(cz÷zz)2 cscs*lprint ( - 11 IhVi : -, QS) PrirN力:" CS)二分法算法优点缺点顺序法二分法小组讨论、运行程序、填写表格【小结】通过刚才的实践和讨论,我们体会到了不同的算法对于我们来 说有不同的优缺点。【活动二】算法的评价方法。【提问】那这两种算法,哪种对于我们计算机来说更好呢,为什么? 学生回答。【小结】“好”的算法,除了符合“正确性、有效性”等标准外, 还需要有较高的算法运行效率,即算法运行所消耗的时间短。通 常用算法时间复杂度来评估【提问】如何来验证二分法比顺序法更好呢?【活动三】算法评价体验(1)通过改变两个算法里的mb(目标值),观察变量CS(次数)最后的变化。(2)通过代码统计程序运行时间对于学有余力的学生可以自己加上time函数。导入time库:importtime代码开始前获取开始时间:*trt=time.prf-countr()编写代码代码结束后获取结束时间:end-time.perf_counter()计算运行时间:runTime=end-start具体例子:输出运行时间:print("jzih<t1Js",runTim)EileEditFormatBUnQPHOnSWndOWHdpi11)orttimestart=time.perf_counter()mb=37cz=lzz=100cs=lqs=(cz+zz)2print(qs)whi1'mb!=qs:ifqs<mb:cz=qsqs=(cz+zz)2cs=cs+lzz=qsqs=(cz+zz)2CS=CS+1Print("目标数:",qs)Print("次数为CS)end=time.perf_counter()runtime=end-startPrint("运行时间”,runtime,"秒")【小结】通过两个算法用相同的目标值,来观察它们的运行效率,最终得出哪个是更好的计算机算法。【活动四】生活中的算法应用。【提问】你知道生活中哪些地方,需要计算机有高效的算法?学生回答【小结】对于我们现在的大数据和人工智能时代,更加需要好的算法,提高我们的生活效率。(三)总结这节课你有什么收获?教学札记练习易错题与学习困难点摘录:相应教学对策:第10课时主备人:二度备课人:教学目标1、通过韩信点兵的场景分析,理解它的数学知识。2、通过枚举法的应用,理解它的原理。3、通过代码编程,知道计算机的高效处理能力。教学重点理解枚举法解决问题的过程教学难点用程序实现枚举法教学准备教学过程二度备课与修改(一)导入【引导】中国只顾以来,在数学方面一直出于领先的地位,韩信作为汉朝大将,不仅骁勇善战,其实他的数学天赋也是极高的,你知道韩信点兵的故事吗?学生讨论、分享故事。【提问】随着科技的发展,我们的数学解题机器人能否拥有韩信这样的实力呢?你觉得他能做到吗?引入课题韩信点兵枚举法的实现(一)新授【提问】哪位同学可以帮助大家分析一下韩信点兵里包含的数学知识?学生思考、回答。【活动一】抽象与建模。 ÷3=2 ÷5=03=? ÷7=O2敷的除法运算示意图【提问】根据这个原理,我们有什么办法可以得到正确人数?学生思考、回答问题枚举法、筛选法、同余法【提问】我们今天学习枚举法,那什么是枚举法?学生思考、回答问题【小结】枚举法是利用计算机运算速度快、精确度高的特点,对要解决问题的所有可能情况,一个不漏地进行检验,从中找出符合要求的答案,因此枚举法是通过牺牲时间来换取答案的全面性。【提问】我们能否也来设计一下,韩信点兵枚举法的流程图呢?学生回答。【活动二】算法设计。根据讨论结果,绘制流程图。组内讨论,并互相讲解自己流程图。展示学生成果,一同分析易错点及难点。【提问】我们能否用学过的编程语言,来编写它的代码?学生回答。【活动三】算法的程序实现。学生根据活动二的流程图来编写具体程序。根据学情,选择适合学生的编程软件。也可以先准备好一些脚本,让学生来补齐。【提问】条件循环语句里的条件怎么写?学生回答问题。根据不同的条件,来编写程序。file Edit Format Bun Qptiom Window Helpx=1000while x<1101:#设定人数的变量为X,初始值为IooO#条件循环,最大值为IlOO#if是条件语句,and是且(同时满足),#输出结果#停止循环#不满足求余的条件,则将人数加15求余数x%3=2 and x%5=3 .nd x%7=2:Print ("剩余的士兵数为:",x) break对于学有余力的学生可以加上time函数,控制时间每0.1秒输出正在验证的人数。fileEditFormatBUnQptionsWindowHelpimporttimex=1000whilex<1101:iix%3=2andx%5=3andx%7=2:"in("刺余的1:兵数为:”,x)breakx=x+ltime.sleep(0.1)Print("正在验症人数为x)【小结】通过计算机一个个数的验证,巳一个个数的验证要快多了。(三)总结当节课你有什么收获?#导入时间函数#设定人数的变量为X,初始值为100O#条件循环,最大值为Iloo#if是条件语句,and是且(同时满足#输出结果#停止循环# 不满足求余的条件,则将人数加1# 等待0.1秒# 输出正在验证人数I我们终于找到答案了,比我们自).%求余数练习易错题与学习困难点摘录:教学札记相应教学对策:第U课时主备人:二度备课人:教学目标1、通过韩信点兵的数据分析,知道筛选法的模型。2、通过筛选法的算法设计,理解它的原理。3、通过算法验证,会使用筛选法处理问题。教学重点理解筛选法问题的过程教学难点用程序验证筛选法教学准备教学过程二度备课与修改(一)导入【回顾】前一课我们已经学习了用枚举法解决韩信点兵的问题,你能简单的讲一下枚举法的解题过程吗?学生思考、回答。【提问】除了枚举法,你还知道其它算法吗?学生回答。引入课题韩信点兵筛选法的实现(二)新授【提问】你知道筛选法吗,你又是怎么理解这个方法的?学生思考、回答问题。【小结】筛选法又称筛法,是由希腊数学家埃拉托斯特尼所提出的一种简单检定素数的算法。具体做法是:先把N个自然数按次序排列起来。1不是质数,也不是合数,要划去。第二个数2是质数留下来,而把2后面所有能被2整除的数都划去。2后面第一个没划去的数是3,把3留下,再把3后面所有能被3整除的数都划去。这样一直做下去,就会把不超过N的全部合数都筛掉,留下的就是不超过N的全部质数。【活动一】抽象与建模。第一次善选:利用“X除3余数为2”条件IIOyI181I1002I.I1042|1043|吗|一|107010lI107?I1073|一|1097|1上8|吧|118|XXXXXXXX第二;欠Ie选:利用“X除5余数为3”条件IIoOOI18>I1002I-I1042I1043|1044|-K)TO|1071|107?|1073|187|1吧|1哄|118|XXXXXXXXXXXX第三;欠算选:利用“X除7余数为2”条件IMiOOII(XnIlOo2I-|1042I103I吗I一IK>TOIK>gI107?I1073I一I187IIOyI1吧I118IWMLXXXX*_X“【提问】你能讲一下上图的意思吗?学生思考、回答问题【小结】筛选法类似生活中的筛子,把不满足对应条件的值给筛掉,韩信点兵这里就经过多次不同条件的筛选,最终得到答案。【提问】我们能否讲一下它的算法?学生回答。【活动二】算法设计。根据讨论结果,写下算法过程。组内讨论,并互相讲解算法过程。展示学生成果,一同分析易错点及难点。【提问】我们能否用学过的编程语言,来编写它的代码?学生回答。【活动三】算法的验证学生根据活动二的计算过程来分析教师准备好的具体程序。本节课程序比较复杂,根据学情,选择适合学生的编程软件。可以先准备好一些脚本,让学生来补齐。或者和课本上一样进行一项验证。; 'l,' . 1 '1 I 'print(sj)i0-! i., i<len(sj):(sji3 ! 2): pop ixi-lii+!! ',J"i: sj)i=0*' i i<len(sj):.: sji5 != 3:sj.pop(i)ii-llai*!printC¾二轮除以5余3E的数:,sj) printC¾ 轮卜过外 *kn(sJ)JHDsj.pop(i)ii-lil*l匕的救:sj)print K >t : lon(sj). * 1×tt sj(O)f*DMICMufQllMmMMMlgP)tl>n3.7.4(ta<sv3.7.4:oO93591l2e.Jul82019.20:34:20)MSCv.1916Mbit',Type*belp*,“copyright二'credits'or*license()*fororeinfomation.;l»>IRESTART:C:Aser«/hp/De$k(op/0001/Weiil¥.py第轮除以3余2H的效:(1001.1004.1007,1010.1013.1016.1019,1022.1025.1028.1031.1034.1037.I(M0.1043.1OI6,1019.1052.1055.1058.1061.1064.1067.1070.1073.1076,1079.1082.1(»5.1088.1091.1094.1097.1100落轮后还31个数案二轮除以5余3行的依:(1013.1028.1043.1058.1073.Ioe8】第二轮H还有:6个数第:轮除以7余2打的数:(10736气的Q力©计1次IeSPft三轮后还有,1个敢是1073【小结】通过程序的运行,我们看到它的具体筛选过程,经过三个条件的筛选,最后剩下我们的答案。(三)总结这节课你有什么收获?学生回答。练习易错题与学习困难点摘录:教札记相应教学对策:第12课时主备人:二度备课人:教学目标1、通过了解孔子算经的中国剩余定理,来建立韩信点兵问题的模型。2、通过同余法的算法设计,理解它的计算原理。3、通过程序实现,掌握它的编程方法。教学重点理解同余法解决问题过程教学难点用程序实现同余法解决问题教学准备教学过程二度备课与修改(一)导入【回顾】前两课我们已经学习了用枚举法和筛选法解决韩信点兵的问题,你能简单的讲一下筛选法的解题过程吗?学生思考、回答。【提问】除了这两种方法,你还知道其它算法吗?学生回答。引入课题韩信点兵同余法的实现(一)新授【提问】你知道同余法吗,你又是怎么理解这个方法的?学生思考、回答问题。【引导】孙子算经中曾记载着利用同余思想求解的方法,称之为“中国剩余定理”。自学课本小知识孙子算经【活动一】抽象与建模。【提问】你能根据刚才的小知识,自己用同余法建模吗?学生思考、回答问题(1)找到满足条件余数的值,23、128、223、(2)加上它们的最小公倍数105【小结】利用同余法把需要运算的次数极大的减少了,提高了解决问题的效率。【提问】我们能否讲一下它的算法?学生回答。【活动二】算法设计。根据讨论结果,绘制流程图。组内讨论,并互相讲解算法过程。可用补充流程图的形式,降低难度展示学生成果,一同分析易错点及难点。【提问】我们能否用学过的编程语言,来编写它的代码?学生回答。【活动三】算法的程序实现学生根据活动二的算法设计来进行编程。根据学情,选择适合学生的编程软件。Eile Edit Format u Qptions WindOW Help s=233 k=3*5*7 while s<1100 :s=s+k i:- s>1100: s=s-k breakPrint ("剩余的士兵数为S)可以先准备好一些脚本,让学生来补齐。n取到的同时满足三个条件的任意个数# 计算3、5、7的最小公倍数# 满足条件在UoO以内的数# 若小于UO0,则加上公倍数,直到不小于1100# 如果值开始大于I100# 把多加的一次减回来# 跳出循环# 输出结果I将S 设为停止这个脚本学有余力的同学可用加上等待时间,看到累加的过程。教师也可以演示运行的时间,对比前两课的运行效率。【小结】通过程序的运行,我们得到了最后的人数,通过与前两课程序运行效率对比,知道好的算法可以让计算机提高运行效率。(三)总结教学札记练习易错题与学习困难点摘录:相应教学对策:第13课时主备人:二度备课人:教学目标1 .了解在线生活背后的算法。2 .体验感受算法为在线生活带来的便捷3 .能够构思设计将数学解题机器人在线使用。教学重点了解和体验在线生活背后的算法教学难点设计数学解题机器人在线使用教学准备教学过程二度备课与修改(一)导入【关键性问题】1.有什么办法可以让我们的数学解题机器人推广开,供更多的同学使用呢?2.为什么淘宝每次打开来都会向我推荐我最近关注的东西?【活动】讨论生活中有哪些相似的案例,能针对不同人群做出相对应的推荐与指示。活动反馈:(1)购物软件的推荐商品、抖音的短视频推荐,饿了么的外卖推荐商家等。(2)这类在线平台背后都在使用算法,我们称之为推荐算法,它会根据你的历史记录,以及相似人群购买记录等