资源简介 (共16张PPT)第12课 “韩信点兵”同余法的实现年 级:六年级学 科:小学信息科技(浙教版)韩信带领1500名士兵去打仗。战后,死伤四五百人。剩下的士兵中,他命令士兵3人一排,结果多出2人;接着命令士兵5人一排,结果多出3人;又命令士兵7人一排,结果又多出2人。问这队士兵有多少人?情景呈现思考:在有限的时间内,是否有更优的算法快速计算出士兵人数?游戏1:快速说出50以内“除以3余数为2”的数。5、8、11、14、17、20、23、26、29、32、35、38、41、44、47、50游戏2:快速说出50以内“除以5余数为3”的数。8、13、18、23、28、33、38、43、48思考:这两组数有什么规律吗?同余法:当两个整数除以同一个整数时得到的余数相同,称这两个整数同余。第一组差值为3,第二组差值为5,分别为各组的除数。游戏解密——认识同余法游戏3:快速说出50以内同时满足“除以3余数为2”、“除以5余数为3”的数8、23、38思考:如何使用同余法计算出第三组数据?这一组数据有什么规律吗?第三组差值为15,这个差值是两个除数相乘的积。同余法规律:当两个整数分别除以不同的除数得到的余数相同,那么这两个被除数为同余,这两个整数的差值等于两个除数的最小公倍数。共寻规律——理解同余法1.自主在学习任务单中填写表格。2.组内讨论:表格中数据的规律。232232232(观察:上下被除数之间的关系、余数之间的关系)(1)这些被除数分别除以3、5、7得到的余数相同;(2)这些被除数间的差值是三个除数的最小公倍数105;(3)表格中的被除数也为同余,可以通过同余法计算得出。探索:下一个被除数的值是多少?探索“韩信点兵”问题23128+105+105233+105338+105443+105548+105653+105758+105863+105968+10510731493-1051388-1051283-1051073用同余法解决“韩信点兵”问题关键数据: ;;。变量: 。数据关系: 。同时满足“除以3余数为2、除以5余数为3、除以7余数为2”三个条件的任意一个数,如233三个除数3、5、7的最小公倍数105剩余士兵总数的取值范围:1000~1100剩余士兵总数用变量s来表示,最小公倍数用k表示当s初始值小于1000时,s=s+k;当s初始值大于1100时,s=s-k抽象:建模:s<1000s>1100s+ks-k1000≤s≤1100抽象与建模,同余点兵1.在学习任务单中,完成流程图设计,在右侧3个备选项中选择合适的语句,将流程图补充完整。同余法的算法设计为变量s和变量k赋初始值。判断为“是”,说明s<1000或s>1100,需要执行循环体,通过加上k或减去k来调整s的值。判断为“是”,s<1000,加上k使s变大。判断为“否”,s>1100,减去k使s变小。判断为“否”,说明1000≤s≤1100,目标值已找到,结束循环输出s的值2.自主沿着流程线方向走程序;组内讨论:语句选择的原因。同余法的算法设计2333*5*7s<1000s>1100s=s+ks=s-k1.以小组为单位,在学习任务单中根据流程图,将Python程序补充完整。2.在计算机中打开Python,输入程序并运行调试,计算出剩余的士兵数量。编写程序,应用同余法2.拓展:在程序中添加计算算法运行的时间,来比较各算法的效率。import timestart=time.perf_counter() #开始计时…… #主程序end=time.perf_counter() #结束计时print(end-start) #输出算法运行的时间1.比较三种算法的效率:对比枚举法和筛选法,同余法的程序运算速度是否比前两种算法更快?比较效率,拓展同余若将上述“韩信点兵 ”问题的查找范围调整为2500~2600,修改上述算法及程序,并输出结果。作业使用同余法解决了“韩信点兵”问题。探寻了同余法的规律,探究了用同余法实现“韩信点兵”问题的过程,对同余法进行了抽象与建模和算法设计,成功应用验证了该算法。课堂小结谢谢观看!Thanks!https://www.21cnjy.com/recruitment/home/fine 展开更多...... 收起↑ 资源预览