《浙教版六年级上册信息科技全册教学设计教案.docx》由会员分享,可在线阅读,更多相关《浙教版六年级上册信息科技全册教学设计教案.docx(46页珍藏版)》请在课桌文档上搜索。
1、浙教版六年级上册信息科技全册教学设计算法与问题解决教学设计课题算法与问题解决单元学科信息年级六教材分析六年级学生之前只了解图形化编程,但对一些基础的算法思想已有一定的了解。Python相对图形化编程上手门槛会稍高,需要注重知识的迁移应用。六年级学生以直接兴趣为主,对具体事实和经验的知识较有兴趣,对这样的有实物的观察内容比较感兴趣。本书的内容对他们而言难度较大,注重学生的基本功,抓住学生学习的主要矛盾,兼顾次要矛盾,用科学的方法来理解算法、应用算法。学习目标在计算机中运用算法解决问题的一般步骤。重点在计算机中运用算法解决问题的一般步骤。难点在计算机中运用算法解决问题的一般步骤。教学过程教学环节教
2、师活动导入新课讨论:生活中的投票可以通过那些途径解决?各有什么优点?建构:在计算机中运用算法解决问题,主要经历问题分析、抽象与建模、设计算法、验证与优化算法等过程。讲授新课一、抽象与建模:确定变量:ab、tp抽象规则:tp的值决定了a+1还是b+l,如果当tp=a时,变量a的数值加1,当tp为为”时,表示投票给B作品,则b=b+l.建立模型:在抽象的基础上,总结规律、建立模型是设计算法的前提。建立模型可以借助公式、表格、图示等方式。二、设计算法设计算法时,要确定算法的输入与输出,并合理地选择控制结构,准确、有序地描述解决问题的步骤。A、B作品将票数清零,即将变a与b的值初始化Ht为O投票者输入
3、投票内容“aSE-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控制投票的次数孑多少个人参与投票就循环多少次JiiLi1001:并提示用户投票的方式,并用【P存储用户输入的投票内容tp三inpuM输入a投泵给AfI晶.输入b投票给B作品.#对2中的内
4、容进行判断.并不断统计A、B作品票数iftp=三*a*:a=a+1else*b=b+1i三i+1S输出将A、B作品的票数PrinteA作品获得票数为:a,”B作品获得票数为,”,b)课堂练习练习:如果有3位候选人参与竞选,投票问题的算法要怎么调整,在流程图中做相应的修改。课堂小结想一想:如果用户输入的数据不是a也不是b,结果会怎样?课题:抽象与建模第,_课时主备人:二度备课人:教学目标L借助表格进行抽象。2.用算式表达计算模型。教学重点借助表格进行抽象。教学难点用算式表达计算模型教学准备教学过程二度备课与修改探索:这个问题的关键数据有哪些,它们之间给的关系是怎样的?为今有雉兔同笼,上有三十五头
5、,下有九十四足,问雉兔各几何?IF专建构:抽象与建模可以抓住问题的核心,忽略不重要的细节,为更普遍的问题提出解决方案。抽象与建模可以应用于学习与生活的各个领域。一、问题描述大约在1500年前,孙子算经中就记载了鸡兔同笼这个经典的数学问题,用现代汉语可以将该问题描述如下:有若干只鸡、兔在同一个笼子里,从上面数鸡兔有35个头,从下面数鸡兔有94只脚,问笼中有多少只鸡和多少只兔?(已知条件、未知条件、求解目标)二、抽象当问题中各对象之间的关系较为复杂时,可以用表格对问题进行抽象。对问题进行抽象时可以从对象、数量、关系等方面入手。对象关系头数脚数鸡未知未知鸡头数X2鸡跚免未知未知兔头数X4=兔嬲1嗓数
6、+兔头数=35鸡宛整体三、建模3594鸡脚故+免税数=94根据抽象出来的数据及其关系,可以建立计算模型,进而推导出答案,解决问题。例如,“鸡兔同笼”问题中,使用变量“ji”表示鸡的头数,使用变量“tu”表示兔的头数。ji+tu=35OfjiV35,OtuA-CMHWA(174)EHCEditFQtnwMBunQfMkXMMowHHpmb=37MbWJU小数的变展名.37为门己选定的假.可使用不用的他.qs=lqs地i冲机门动取数的变版名.I为初始化的他.cs=l*cs表示猜的次数,初始化为1次.qsk*breuk是跳Hlelfi环语旬.终止此燃环.11:*。】so是条件i&句|的否则.程序1q
7、s=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=r
8、andom.randint(1,100)#将目标数设为1到100的随机整数。可以用图形化代码作为参考。【提问】你能根据算法二流程图,通过数据来验证吗?学生根据上述算法二的流程图,通过表格的形式列出变量CZ(初值)、ZZ(终值)和qs(取数)的值来验证该算法。【小结】通过不同的方法来验证我们的算法,让我们更加感受到解决问题方法的多样性。(三)总结这节课的收获。教学札记练习易错题与学习困难点摘录:相应教学对策:第2课时主备人:二度备课人:教学目标1 .知道算法的评价方法。2 .通过对比猜数字两种算法,掌握效率比较的方法。3 .知道高效的算法,对于解决生活问题的重要性。教学重点知道算法的评价方法教学
9、难点验证算法运行效率。教学准备教学过程二度备课与修改(一)导入【回顾】回顾上节课我们为数学解题机器人做的猜数字游戏,简述它的原理。学生回答、巩固计算机猜数字的原理。【引导】我们的大脑每天要处理狠毒事情,因此我们会规划好自己的时间,提高办事的效率。那机器人在处理问题时候是如何提高效率的?和我们的算法又有什么关系?学生思考、讨论、回答。引入课题算法的评价方法(二)新授【提问】我们上节课的计算机猜数字的两种算法,它们各自有什么优缺占?八、学生回答。【活动一】观察算法。学生对比两种算法的流程图和程序完成表格mb-37qslcs=lqs!nb:qs=qs*l cs=cs*lPrinM一我到的的为:.qs
10、)mbJ目b故的安BI幺“4是泞算机门功取跤的变破/,I为初始化的值 cs表示所的次数.初始化为1次.SWhllBJi条件循环语句,如果US(取数)!,(不笥 nb(口杯CU 啪取8(加1 二物次数Mll加rint是出语旬出结果.。瑜出次数.IHe tC* HrtP Inb 二 37,/ IXZ-IOO CS=I qs(cz*zz)2cz-x qs=(czzz)/2 cscs*l顺序法Zl=QS qs(czzz)2 cscs*lprint ( - 11 IhVi : -, QS) PrirN力: CS)二分法算法优点缺点顺序法二分法小组讨论、运行程序、填写表格【小结】通过刚才的实践和讨论,我们
11、体会到了不同的算法对于我们来 说有不同的优缺点。【活动二】算法的评价方法。【提问】那这两种算法,哪种对于我们计算机来说更好呢,为什么? 学生回答。【小结】“好”的算法,除了符合“正确性、有效性”等标准外, 还需要有较高的算法运行效率,即算法运行所消耗的时间短。通 常用算法时间复杂度来评估【提问】如何来验证二分法比顺序法更好呢?【活动三】算法评价体验(1)通过改变两个算法里的mb(目标值),观察变量CS(次数)最后的变化。(2)通过代码统计程序运行时间对于学有余力的学生可以自己加上time函数。导入time库:importtime代码开始前获取开始时间:*trt=time.prf-countr(
12、)编写代码代码结束后获取结束时间:end-time.perf_counter()计算运行时间:runTime=end-start具体例子:输出运行时间:print(jziht1Js,runTim)EileEditFormatBUnQPHOnSWndOWHdpi11)orttimestart=time.perf_counter()mb=37cz=lzz=100cs=lqs=(cz+zz)2print(qs)whi1mb!=qs:ifqsmb:cz=qsqs=(cz+zz)2cs=cs+lzz=qsqs=(cz+zz)2CS=CS+1Print(目标数:,qs)Print(次数为CS)end=ti
13、me.perf_counter()runtime=end-startPrint(运行时间”,runtime,秒)【小结】通过两个算法用相同的目标值,来观察它们的运行效率,最终得出哪个是更好的计算机算法。【活动四】生活中的算法应用。【提问】你知道生活中哪些地方,需要计算机有高效的算法?学生回答【小结】对于我们现在的大数据和人工智能时代,更加需要好的算法,提高我们的生活效率。(三)总结这节课你有什么收获?教学札记练习易错题与学习困难点摘录:相应教学对策:第10课时主备人:二度备课人:教学目标1、通过韩信点兵的场景分析,理解它的数学知识。2、通过枚举法的应用,理解它的原理。3、通过代码编程,知道计算
14、机的高效处理能力。教学重点理解枚举法解决问题的过程教学难点用程序实现枚举法教学准备教学过程二度备课与修改(一)导入【引导】中国只顾以来,在数学方面一直出于领先的地位,韩信作为汉朝大将,不仅骁勇善战,其实他的数学天赋也是极高的,你知道韩信点兵的故事吗?学生讨论、分享故事。【提问】随着科技的发展,我们的数学解题机器人能否拥有韩信这样的实力呢?你觉得他能做到吗?引入课题韩信点兵枚举法的实现(一)新授【提问】哪位同学可以帮助大家分析一下韩信点兵里包含的数学知识?学生思考、回答。【活动一】抽象与建模。 3=2 5=03=? 7=O2敷的除法运算示意图【提问】根据这个原理,我们有什么办法可以得到正确人数?
15、学生思考、回答问题枚举法、筛选法、同余法【提问】我们今天学习枚举法,那什么是枚举法?学生思考、回答问题【小结】枚举法是利用计算机运算速度快、精确度高的特点,对要解决问题的所有可能情况,一个不漏地进行检验,从中找出符合要求的答案,因此枚举法是通过牺牲时间来换取答案的全面性。【提问】我们能否也来设计一下,韩信点兵枚举法的流程图呢?学生回答。【活动二】算法设计。根据讨论结果,绘制流程图。组内讨论,并互相讲解自己流程图。展示学生成果,一同分析易错点及难点。【提问】我们能否用学过的编程语言,来编写它的代码?学生回答。【活动三】算法的程序实现。学生根据活动二的流程图来编写具体程序。根据学情,选择适合学生的
16、编程软件。也可以先准备好一些脚本,让学生来补齐。【提问】条件循环语句里的条件怎么写?学生回答问题。根据不同的条件,来编写程序。file Edit Format Bun Qptiom Window Helpx=1000while x1101:#设定人数的变量为X,初始值为IooO#条件循环,最大值为IlOO#if是条件语句,and是且(同时满足),#输出结果#停止循环#不满足求余的条件,则将人数加15求余数x%3=2 and x%5=3 .nd x%7=2:Print (剩余的士兵数为:,x) break对于学有余力的学生可以加上time函数,控制时间每0.1秒输出正在验证的人数。fileEdi
17、tFormatBUnQptionsWindowHelpimporttimex=1000whilexI1002I-I1042I1043|1044|-K)TO|1071|107?|1073|187|1吧|1哄|118|XXXXXXXXXXXX第三;欠算选:利用“X除7余数为2”条件IMiOOII(XnIlOo2I-|1042I103I吗I一IKTOIKgI107?I1073I一I187IIOyI1吧I118IWMLXXXX*_X“【提问】你能讲一下上图的意思吗?学生思考、回答问题【小结】筛选法类似生活中的筛子,把不满足对应条件的值给筛掉,韩信点兵这里就经过多次不同条件的筛选,最终得到答案。【提问】
18、我们能否讲一下它的算法?学生回答。【活动二】算法设计。根据讨论结果,写下算法过程。组内讨论,并互相讲解算法过程。展示学生成果,一同分析易错点及难点。【提问】我们能否用学过的编程语言,来编写它的代码?学生回答。【活动三】算法的验证学生根据活动二的计算过程来分析教师准备好的具体程序。本节课程序比较复杂,根据学情,选择适合学生的编程软件。可以先准备好一些脚本,让学生来补齐。或者和课本上一样进行一项验证。; l, . 1 1 I print(sj)i0-! i., ilen(sj):(sji3 ! 2): pop ixi-lii+!! ,Ji: sj)i=0* i it : lon(sj). * 1t
19、t sj(O)f*DMICMufQllMmMMMlgP)tln3.7.4(taIRESTART: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.
20、1073.Ioe8】第二轮H还有:6个数第:轮除以7余2打的数:(10736气的Q力计1次IeSPft三轮后还有,1个敢是1073【小结】通过程序的运行,我们看到它的具体筛选过程,经过三个条件的筛选,最后剩下我们的答案。(三)总结这节课你有什么收获?学生回答。练习易错题与学习困难点摘录:教札记相应教学对策:第12课时主备人:二度备课人:教学目标1、通过了解孔子算经的中国剩余定理,来建立韩信点兵问题的模型。2、通过同余法的算法设计,理解它的计算原理。3、通过程序实现,掌握它的编程方法。教学重点理解同余法解决问题过程教学难点用程序实现同余法解决问题教学准备教学过程二度备课与修改(一)导入【回顾】前
21、两课我们已经学习了用枚举法和筛选法解决韩信点兵的问题,你能简单的讲一下筛选法的解题过程吗?学生思考、回答。【提问】除了这两种方法,你还知道其它算法吗?学生回答。引入课题韩信点兵同余法的实现(一)新授【提问】你知道同余法吗,你又是怎么理解这个方法的?学生思考、回答问题。【引导】孙子算经中曾记载着利用同余思想求解的方法,称之为“中国剩余定理”。自学课本小知识孙子算经【活动一】抽象与建模。【提问】你能根据刚才的小知识,自己用同余法建模吗?学生思考、回答问题(1)找到满足条件余数的值,23、128、223、(2)加上它们的最小公倍数105【小结】利用同余法把需要运算的次数极大的减少了,提高了解决问题的
22、效率。【提问】我们能否讲一下它的算法?学生回答。【活动二】算法设计。根据讨论结果,绘制流程图。组内讨论,并互相讲解算法过程。可用补充流程图的形式,降低难度展示学生成果,一同分析易错点及难点。【提问】我们能否用学过的编程语言,来编写它的代码?学生回答。【活动三】算法的程序实现学生根据活动二的算法设计来进行编程。根据学情,选择适合学生的编程软件。Eile Edit Format u Qptions WindOW Help s=233 k=3*5*7 while s1100: s=s-k breakPrint (剩余的士兵数为S)可以先准备好一些脚本,让学生来补齐。n取到的同时满足三个条件的任意个数
23、# 计算3、5、7的最小公倍数# 满足条件在UoO以内的数# 若小于UO0,则加上公倍数,直到不小于1100# 如果值开始大于I100# 把多加的一次减回来# 跳出循环# 输出结果I将S 设为停止这个脚本学有余力的同学可用加上等待时间,看到累加的过程。教师也可以演示运行的时间,对比前两课的运行效率。【小结】通过程序的运行,我们得到了最后的人数,通过与前两课程序运行效率对比,知道好的算法可以让计算机提高运行效率。(三)总结教学札记练习易错题与学习困难点摘录:相应教学对策:第13课时主备人:二度备课人:教学目标1 .了解在线生活背后的算法。2 .体验感受算法为在线生活带来的便捷3 .能够构思设计将数学解题机器人在线使用。教学重点了解和体验在线生活背后的算法教学难点设计数学解题机器人在线使用教学准备教学过程二度备课与修改(一)导入【关键性问题】1.有什么办法可以让我们的数学解题机器人推广开,供更多的同学使用呢?2.为什么淘宝每次打开来都会向我推荐我最近关注的东西?【活动】讨论生活中有哪些相似的案例,能针对不同人群做出相对应的推荐与指示。活动反馈:(1)购物软件的推荐商品、抖音的短视频推荐,饿了么的外卖推荐商家等。(2)这类在线平台背后都在使用算法,我们称之为推荐算法,它会根据你的历史记录,以及相似人群购买记录等