加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

生活中的算法

(2011-11-24 15:44:52)
标签:

杂谈

分类: 教案

教学课题:生活中的算法实例

学情分析:学生在前面的学习中,理解了算法的概念,了解了使用计算机解题的一般过程,通过实例分析初步掌握了算法的自然语言和流程图表示方法。本节课我们将算法的实例延伸到我们生活中,让学生进入生活,结合生活,在生活中理解算法,体会算法其实在我们的生活中也是无所不在的。

教学要求:通过生活实例进一步了解算法思想。

教学重点:生活实例的算法分析。

教学难点:算法思想的理解。

学案:

生活实例1

    狼、羊和卷心菜过河游戏。 在一河岸有狼、羊和卷心菜,农夫要将它们渡过河去,但由于他的船太小,每次只能载一样东西。并且,当农夫不在时,狼会把羊吃掉,而羊又会把卷心菜吃掉。问农夫如何将它们安全渡过河去?

 

游戏规则:没有农夫看管的时候,狼会吃羊,而羊会吃卷心菜。

试着写出你的方案:

1                                     

2                                     

3                                     

……

 

参考视频:木子的博客   视频《狼羊菜过河问题》

 

参考答案:(设:要从河的右岸到河的左岸)
   
①农夫先带羊过河到左岸,然后农夫将船划回右岸;
   
②农夫带卷心菜过河到左岸,然后将羊带回到右岸;
   
③农夫带狼过河到左岸,然后农夫将船划回右岸;
   
④农夫带羊过河到左岸;

 

类似的问题还有传教士和野人过河问题(参阅阅读材料及视频资料《传教士和野人过河问题》)以及交换青蛙问题(参阅阅读材料及视频资料《交换青蛙问题》)。


生活实例2韩信点兵问题。

西汉大将韩信,善于带兵,神机妙算,能征善战。一次阅兵时,韩信要求士兵排成3路纵队,此时末尾多出2人,改排成5路纵队,末尾多出3人,再排成7路纵队,末尾余下2人,这时,领兵的部下报告说:这对士兵共有262人,韩信立刻摇头说:不对,实际只有233人,部下迟疑地回去,又重新清点人数,果真是233人,部下们因此对韩信十分佩服。

 

思路探索2开始,逐个数去试试,如果这个数能同时被357整除后的余数分别为232,则输出这个数。

 

根据上面的思路探索,补充算法:

第一步:m=2.

第二步:若                        ,则执行第三步;否则m=m+1,执行第二步。

第三步:若                         ,则执行第四步;否则m=m+1,执行第二步。

第四步:若                         ,则执行第五步;否则            ,执行第二步.

第五步:输出m

     

进一步尝试:你能根据上面的思路,画出流程图吗?(动手大胆试试,在你试着画出自己的流程图后可以到网络上寻找韩信点兵的流程图,看看你画的和它一样吗?你理解吗?可以将你的想法和看法给我留言)

 

根据题目我可以列一个等式:

                M=3i+2=5j+3=7k+2

 

其中,m为总的人数,i表示3路纵队时,每列的人数,

                    J表示5路纵队时,每列的人数,

                    K表示7路纵队时,每列的人数。

 

我们发现:3i7k是相等的,说明                    3i7k的值都是21的倍数)

我们再试试:若3i=7k=21,这时m=      ,这时j(有、没有)整数解,整数解为       

            3i=7k=42,这时m=      ,这时j(有、没有)整数解,整数解为       

                3i=7k=63,这时m=      ,这时j(有、没有)整数解,整数解为       

                3i=7k=84,这时m=      ,这时j(有、没有)整数解,整数解为       

                3i=7k=105,这时m=      ,这时j(有、没有)整数解,整数解为       

                3i=7k=126,这时m=      ,这时j(有、没有)整数解,整数解为       

                3i=7k=147,这时m=      ,这时j(有、没有)整数解,整数解为       

                3i=7k=168,这时m=      ,这时j(有、没有)整数解,整数解为       

                3i=7k=189,这时m=      ,这时j(有、没有)整数解,整数解为       

                3i=7k=210,这时m=      ,这时j(有、没有)整数解,整数解为        

                3i=7k=231,这时m=      ,这时j(有、没有)整数解,整数解为       

    

到此为止,我们知道了其中有    组解符合我们列出的式子,第一组符合条件的解的人数是当3i=7k=21m23人,但是在上面的资料中,韩信却说士兵的总人数为233人,这是因为                              (虽然有多组解满足列出的式子,但士兵的范围总是在一定的范围中的),所以,我们在具体分析每个题目的过程中,我们首先要确定题目中给出的对象的范围,然后才能确定它的准确解到底是哪一组。这道题目中,i=     ,j=     ,k=      ,总人数为233人。

 

小试牛刀:假如今天早晨我们班出操,排成了3路纵队,此时末尾多出了1人,改排成5路纵队,末尾多出了2人,再排成7路纵队,末尾余下2人,请报出共有多少学生出操?(试着和同学交流,可以通过讨论组或者通过发表评论完成)

 

生活实例3:停车场停车问题。

某大型停车场对于进入该场地的车辆有如下规定:

1、  进入该停车场必须为客运车辆,货运车辆谢绝入内。

2、  如果该车的乘员数量小于等于4,则收费五元。

3、  如果该车的乘员数量大于4人,则收费八元。

请根据该停车场的规定,判断进入该车场的车辆是否符合规定?应该收费多少?

 

思路探索:

  1、先判断车型是否是             ,如果是,进入下一步,如果不是,不许进入。

  2、判断乘员数,如果乘员数                     ,收费五元,允许进入,如果不是,收费八元,允许进入。

 

能力提升:你能否根据刚才的分析画出其流程图呢?(大胆试试,这一次肯定能画出来。)

 

算法思想总结:计算机的程序设计中时刻会提到算法, 其实算法也存在于我们生活中,生活算法与程序设计中的算法是相似的,都体现出共同的一个方向——算法思维。目标都是问题解决。生活算法与程序设计算法类似,它也可以分成不同阶段:分析问题、寻找解决问题的途径和方法、解决问题的实践活动(例如用计算机进行处理)、算法的反思与优化。

生活中算法广泛地存在于我们身边。静下心来仔细分析生活,可以发现很多问题以及与之对应的算法。

 

生活中算法的例子:

1、  华罗庚泡茶招待客人。

2、  超市收银机。

3、  学校设置的铃声。

4、  如何打电话最省钱。

5、  如何合理安排学习和生活时间才能让学习效率最高。

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有