欢迎来到天天文库
浏览记录
ID:46957526
大小:58.00 KB
页数:4页
时间:2019-12-01
《3.2.2程序实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、3.2《用穷举法解决问题》导学案【学习目标】 1、巩固for…next循环语句的格式和运用。 2、了解什么是穷举法,以及用穷举法解决问题的一般步骤。3、了解穷举法具有一定的适用范围。 4、能够根据具体问题的要求,使用穷举法设计算法。【重难点】重点: 用穷举法解题的基本思路和过程。难点:哪一类问题适合穷举法,确定穷举的范围以及如何优化程序。【学法指导】:学生自主学习,任务驱动和分组协作,同学们先自主学习课本,然后分小组讨论解决生生交互可以解决的问题,其次各自完成自己的任务。小组合作完成探究任务。【知识链接】教材P45——P49页一、【游戏导入,提出问题】1.有一把锁和一
2、串钥匙(共有10把钥匙),请问你怎样找出所有开这把锁的钥匙?2.如果有一把三位数的密码锁,只知道第一个密码,后面两个密码忘记了,请同学们认真观察密码锁,想办法,怎样能破解密码、打开密码锁呢?讨论一:如果密码是四位数或更多位数,我们能不能一个一个的试呢?二、【自主学习】:(学生上机操作)任务1:理解破解两位密码的程序代码,说说每行代码的含义。打开VB,尝试自己动手操作,打开桌面上现存的“两位数密码”的程序代码,并运行该程序。1.DimmimaAsInteger2.mima=873.DimiAsInteger,jAsInteger4.Fori=0To95.Forj=0To9
3、6.Ifi&j=mimaThen7.Print"密码是:";mima8.EndIf9.Nextj10.Nexti三.【小组合作探究】【课堂实例】:“鸡兔同笼”问题一个笼子里,鸡和兔共有40个头,100条腿,问鸡有几只,兔有几只?任务2:根据穷举法的基本模式,完成下表。鸡兔同笼算法的关键:4穷举变量变化范围验证条件任务3:程序实现,打开VB,完成程序代码的空缺部分,并运行程序(算法一)。程序代码如下(算法一)PrivateSubCommand1_Click()Dimjiasinteger,tuasinteger'鸡、兔的个数Dimjiaoasinteger,touasin
4、teger’脚数、头数Forji=1to40Fortu=1to’兔子数的可取范围[1,25]tou=’头的数量可直接计算得到jiao=ji*2+tu*4Ifjiao=100Andtou=print“鸡=”;ji,“兔=”;tuEndifnexttuNextjiEndSub程序代码如下(算法二)PrivateSubCommand1_Click()DimjiAsInteger'鸡的个数DimtuAsInteger'兔的个数DimjiaoAsInteger'脚数Forji=To②tu=③'兔子的数量可直接计算得到,鸡兔共有40只jiao=④+tu*4Ifjiao=⑤Then'
5、如果脚正好100只,则打印Print"鸡=";ji,"兔=";tu⑥NextjiEndSub讨论二:对比以上两段代码,你觉得哪种更好,为什么?【知识拓展】:“水仙花数”问题水仙花数是指一个三位数,其各个数位上的数字之立方和为该数。例如:153=13+53+33。实现功能:用穷举法找出所有的水仙花数的程序,结果输出在窗体上(学生演示)。任务4:根据穷举法的基本模式,完成下表。4水仙花数算法的关键:穷举变量变化范围验证条件任务5:程序实现,打开VB,完成程序代码的空缺部分,并运行程序。DimiAsIntegerDimaAsInteger'百位数DimbAsInteger'十
6、位数DimcAsInteger'个位数Fori=100To①a=i100b=(i-a*100)10c=②Ifa*a*a+b*b*b+c*c*c=iThenPrinti③Nexti【分组学习检测】学生尝试编程,合作学习,教师巡视指导。一.百鸡百钱问题:已知:公鸡五文钱一只,母鸡三文钱一只,小鸡一文钱三只;一百文钱,要求公鸡、母鸡、小鸡都要;数量不多不少正好一百只。求:公鸡、母鸡、小鸡总数为一百只所有的组合方法Dimx,y,zAsInteger Print"公鸡","母鸡","小鸡" PrintForx=To‘公鸡五钱一只,可取范围[1,20]Fory=To④‘母鸡三钱
7、一只,可取范围[1,33]z=⑤‘小鸡的数量可直接计算得到,共有100只鸡If5*x+3*y+1/3*z=100ThenPrintx,y,z‘判断是否满足条件,刚好100钱EndIf⑥Nextx二.百元百张问题:将一张100元面值的人民币换成若干5元、1元、5角面值的人民币,但要求100元换成的零钱共100张,且要求每种面值不少于1张,问5元、1元、5角各多少张,请输出每种可能的组合。DimWuyuanAsIntegerDimYiyuanAsIntegerDimWujiaoAsIntegerPrint"五元","一元","五角"4Prin
此文档下载收益归作者所有