活动2 枚举商品搭配方法 课件 沪科版信息技术九年级上册.ppt

活动2 枚举商品搭配方法 课件 沪科版信息技术九年级上册.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

03、分析问题新知讲解1、要解决的问题如下:某客户计划向商店订购300千克饼干,饼干有两种规格:大盒5千克一箱,小盒2千克一箱。为了便于运输不允许开箱,且客户要求大小盒都必须有,商品可以提供多少种搭配方法?设大盒数量为x,小盒数量为y,则两者之间应满足的表达式为:x*5+y*2=300;且x和必须是大于等于1的正整数。如果先一一列举大盒数量x,列出x的所有可能性(从1到59,后者的情况为小盒为1).然后判断剩下的饼干用小盒装是否正好装完,即没有余量,也就是(300-5*x)能够整除2若能装完,则算出小盒数量。新知讲解2、表3-2-1问题求解大盒x(300-5*x)能整除2吗?小盒y,y=(300-5*x)/21否2是145......................59否新知讲解3、以上这种算法其实是我们生活中常用的枚举法。枚举法就是按照问题本身的性质逐一列举出该问题所有可能的解,并在逐一列举的过程中,检验每个可能解是不是问题的真正解,若是,则采纳这个解,否则抛弃它。解决本问题的枚举思路如下:解决本问题的枚举思路如下:1、举对象:大盒数量x。2、枚举范围:x=1且x=593、检验条件:剩下的饼于用小盒装无剩余,即(300-5*x)%2==0。新知讲解4、在以上检验条件中,算术运算符%执行求余数操作。在日常生活中,当列举的方案很多时,用枚举法会显得十分繁琐、费时,且容易出错。枚举法主要适用于可能的答案总量较小或者无法找到其他更好方法求解的问题。但对计算机而言,其高速运算能力保证了枚举法的可行性。新知讲解说说做做5、生活中用枚举法解决问题的情景很常见,比如,忘记一串钥匙中哪一把是大门钥匙。选择生活中某个需要用枚举法解决的问题,并用自然语言或流程图描述其算法。04、设计算法新知讲解1、枚举法要求将所有可能的答案遍历,往往适合使用循环结构;在遍历的同时,需要检查每一个答案是否满足要求,所以在循环结构中会嵌套一个选择结构。用流程图描述算法如下:05、编写程序新知讲解1、用Python编写如下程序。新知讲解2、若将本例的枚举对象改为小盒数量,则小盒数量的枚举范围是多少?检验条件是什么?尝试修改算法和程序。新知讲解3、已知一个矩形的面积,且面积为正整数,求所有可能矩形周长的整数解。新知讲解4、求100以内的素数,解决该问题可以采用枚举法,就是一个一个数字去检查,判断它们是不是素数。算法流程图如图3-2-2所示。该流程图中,判断i是素数这个模块还需细化。判断某个自然数是素数的依据是该数除1和本身外,不能被任何自然数整除。因此,可以用一个循环结构的算法,检查i能否被2至i-1间的自然数整除,算法如下:设isPrime=True循环i从2到i-1如果j能被i整除,则isPrime=False如果isPrime==True,则i为素数,输出i。新知讲解求素数算法流程图新知讲解但是,此处采用以下算法更加简单.只需要把之前找到的素数全部记录下来,每次检查的时候只要检查所有找到的素数是否可以整除即可。像这样利用问题的特点对算法或者流程的步骤进行简化的过程叫作优化。优化后的算法:06、运行、调试程序新知讲解1、运行、调试程序,观察运行结果,分析程序有无错误。若有,尝试解决。新知讲解2、如何将上例中大盒和小盒的搭配结果用列表保存起来?尝试上网学习并参考“知识链接”,完成程序的修改。新知讲解3、尝试上网学习并参考“知识链接”,了解常见的排序算法。①、冒泡排序(BubbleSort):比较相邻的元素,如果顺序错误则交换位置,重复进行直到没有需要交换的元素。②、选择排序(SelectionSort):每次遍历找到最小值,放在已排序数组的末尾。③、插入排序(InsertionSort):逐步构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。④、归并排序(MergeSort):将待排序数组分成若干子数组,分别进行排序然后合并。新知讲解4、在Python中,可以用列表存储一系列对象所组成的系列。列表放在[]中表示当想要往列表中添加新的对象时,可以利用append函数。列表和用range生成的序列一样,在Pvthon中同样可以用for循环来完成遍历。列表的基本操作如图3-2-4所示。新知讲解5、图3-2-4中,append函数的调用是用“.”号引出的,表示这个函数是专门针对a这个对象进行操作,是针对列表对象的独有函数。像这样属于某

您可能关注的文档

文档评论(0)

***** + 关注
实名认证
内容提供者

教师资格证持证人

如有问题,请于后台留言联系上传者解决(加微信wkl436858),如文档无法编辑,课件中音视频无法播放等。如遇课件中视频无法播放,请留言或私信,一定予以解决。

版权声明书
用户编号:6143101132000005
领域认证该用户于2024年07月27日上传了教师资格证

1亿VIP精品文档

相关文档