《教育专题:计算机解决问题的过程.ppt》由会员分享,可在线阅读,更多相关《教育专题:计算机解决问题的过程.ppt(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机解决问题的过程计算机是人脑的延伸,要研究计算机解决问题的过程,需要从人解决问题的过程谈起。1.“韩信点兵”的故事相传我国汉代有位大将军叫韩信,他在点兵时让士兵分别从13、15、17报数,然后报告各次的余数,这样,就知道总共有多少士兵。然后韩信就凭这些数,可以求然后韩信就凭这些数,可以求得这队士兵的总人数。得这队士兵的总人数。这这个个问题问题即著即著名的名的“韩韩信信点兵点兵”问题,问题,又又称称“鬼谷鬼谷算算”、“秦王暗秦王暗点兵点兵”这里面有什么秘密呢?2.孙子算经孙子算经中的题目中的题目 我国古代数学名著我国古代数学名著孙子算经孙子算经中中有有“物不知数物不知数”的题目:的题目:今有
2、物不知其今有物不知其数,三三数之剩数,三三数之剩2,五五数之剩,五五数之剩3,七七,七七数之剩数之剩2,问物几何?,问物几何?请同学们开动脑筋,算算该“物”最少有几个?看看能不能找出多种解决方法 2孙子算经孙子算经中中“有物不知其数有物不知其数”问题的解答问题的解答 1 1)筛法)筛法)筛法)筛法.首先写出首先写出首先写出首先写出“用用用用3 3除余除余除余除余2”2”的数:的数:的数:的数:2 2,5 5,8 8,1111,1414,1717,2020,2323,2626,2929,其中,其中,其中,其中,“用用用用5 5除余除余除余除余3”3”的数:的数:的数:的数:8 8,2323,其中
3、,其中,其中,其中,“用用用用7 7除余除余除余除余2”2”的数:的数:的数:的数:2323,由此得到,由此得到,由此得到,由此得到,2323是最小的一个解。是最小的一个解。是最小的一个解。是最小的一个解。至于下一个解是什么,要把至于下一个解是什么,要把至于下一个解是什么,要把至于下一个解是什么,要把“”写出来才写出来才写出来才写出来才知道;实践以后发现,是要费一点儿功夫的。知道;实践以后发现,是要费一点儿功夫的。知道;实践以后发现,是要费一点儿功夫的。知道;实践以后发现,是要费一点儿功夫的。2)公倍数法)公倍数法 现在仿照上边用过的现在仿照上边用过的“公倍数法公倍数法”,设要求的数为,设要求
4、的数为 ,则依题意,得联,则依题意,得联立方程组立方程组题:有物不知其数,三三数之剩题:有物不知其数,三三数之剩a,五五五五数之剩数之剩b,七七数之剩七七数之剩c,问物几何?问物几何?答:解为,答:解为,(的选取应使的选取应使 ).歌诀歌诀 明朝数学家程大位在明朝数学家程大位在明朝数学家程大位在明朝数学家程大位在算法统宗算法统宗算法统宗算法统宗中把上中把上中把上中把上式总结为一首通俗易懂的歌决:式总结为一首通俗易懂的歌决:式总结为一首通俗易懂的歌决:式总结为一首通俗易懂的歌决:三人同行七十稀,五树梅花廿一枝,三人同行七十稀,五树梅花廿一枝,三人同行七十稀,五树梅花廿一枝,三人同行七十稀,五树梅
5、花廿一枝,七子团圆正半月,除百零五便得知。七子团圆正半月,除百零五便得知。七子团圆正半月,除百零五便得知。七子团圆正半月,除百零五便得知。其中正半月是指其中正半月是指其中正半月是指其中正半月是指1515,这个口诀把,这个口诀把,这个口诀把,这个口诀把3 3,5 5,7 7;7070,2121,1515及及及及105105这几个关键的数都总结在内这几个关键的数都总结在内这几个关键的数都总结在内这几个关键的数都总结在内了。详细说,歌诀的含义是:用了。详细说,歌诀的含义是:用了。详细说,歌诀的含义是:用了。详细说,歌诀的含义是:用3 3除的余数乘除的余数乘除的余数乘除的余数乘7070,5 5除的余数
6、乘除的余数乘除的余数乘除的余数乘2121,7 7除的余数乘除的余数乘除的余数乘除的余数乘1515,相加后,相加后,相加后,相加后再减去(再减去(再减去(再减去(“除除除除”当当当当“减减减减”讲)讲)讲)讲)105105的适当倍数,就的适当倍数,就的适当倍数,就的适当倍数,就是要求的(最小)解了。是要求的(最小)解了。是要求的(最小)解了。是要求的(最小)解了。当然,解,不是唯一的,当然,解,不是唯一的,每差每差105,都是另一个解答,都是另一个解答,但如果结合实际问题,答案往往就是唯但如果结合实际问题,答案往往就是唯一的了。一的了。例如一队士兵的大约人数,韩信应是知例如一队士兵的大约人数,韩
7、信应是知道的。道的。总结:人解决问题的思路首先:观察、分析问题,收集必要的信息,然后根据已有的知识、经验进行判断、推理、尝试按一定的方法和步骤去解决问题。第二:解决同一个问题会有多种求解的方法。不同的方法有优劣之分。第三:解决问题有时还要靠人的“顿悟”、“灵感”。能不能让计算机来帮助我们解决问题呢?肯定地回答:能?如何用计算机解决问题计算机只懂得根据人的命令来执行相关的程序,而我们要编写程序,首先要分析问题分析问题:对问题进行详细地分析,通过分析,弄清楚已知条件下的初始状态及要达到的目标,找出求解问题的方法和过程,并抽取出一个数学模型,形成算法;然后要设计算法设计算法:将这个数学模型连同它要处
8、理的数据用计算机能识别的方式描述出来,使之成为计算机能处理的对象;最后,编写程序编写程序:用程序设计语言设计出具体的问题求解过程,形成计算机程序,这样,计算机就会按照我们给定的指令一条一条地进行处理了。如何用计算机解决问题设计一个软件的步骤是:开始分析问题设计算法编写程序运行程序验证结果问题解决无论使用现成的软件解决问题,还是自己动手编程解决问题,其实质都是一样的:现有的计算机软件同样也经历了这些过程,其差别在于,用程序设计解决问题需要我们亲自动手设计软件,而使用现成的软件,是别人已经给我们设计好了的。计算机程序计算机程序(ComputerComputerProgramProgram)就是指示
9、计算就是指示计算就是指示计算就是指示计算机如何去解决问题或完成任务的一组可执行的指令。机如何去解决问题或完成任务的一组可执行的指令。机如何去解决问题或完成任务的一组可执行的指令。机如何去解决问题或完成任务的一组可执行的指令。程序设计程序设计(Program DesignProgram Design)就是寻求解决问题的方就是寻求解决问题的方就是寻求解决问题的方就是寻求解决问题的方法,并将其实现步骤编写成计算机可以执行的程序法,并将其实现步骤编写成计算机可以执行的程序法,并将其实现步骤编写成计算机可以执行的程序法,并将其实现步骤编写成计算机可以执行的程序的过程。的过程。的过程。的过程。程序设计语言
10、程序设计语言(ProgramProgramLanguageLanguage)泛指一切用泛指一切用泛指一切用泛指一切用于书写计算机程序的语言。于书写计算机程序的语言。于书写计算机程序的语言。于书写计算机程序的语言。注意:程序设计语言和注意:程序设计语言和注意:程序设计语言和注意:程序设计语言和计算机语言计算机语言(ComputerComputerLanguageLanguage)是两个不同的概念,程序设计语言是一是两个不同的概念,程序设计语言是一是两个不同的概念,程序设计语言是一是两个不同的概念,程序设计语言是一种重要的计算机语言。种重要的计算机语言。种重要的计算机语言。种重要的计算机语言。实践
11、实践1 农夫的故事农夫的故事一个农夫带着一条狼、一头山羊和一一个农夫带着一条狼、一头山羊和一篮蔬菜要过河,但只有一条船。乘船时,篮蔬菜要过河,但只有一条船。乘船时,农夫只能带一样东西。当农夫在场的时候,农夫只能带一样东西。当农夫在场的时候,这三样东西相安无事。一旦农夫不在,狼这三样东西相安无事。一旦农夫不在,狼会吃羊,羊会吃菜。请设计一个算法,使会吃羊,羊会吃菜。请设计一个算法,使农夫能安全地将这三样东西带过河。农夫能安全地将这三样东西带过河。对于同一个问题,解决方法是否只有一种?对于同一个问题,解决方法是否只有一种?对于同一个问题,解决方法是否只有一种?对于同一个问题,解决方法是否只有一种?
12、过河步骤:过河步骤:1、农夫带羊过河、农夫带羊过河2、农夫回来、农夫回来3、把狼带过河、把狼带过河4、把羊带回来、把羊带回来5、带蔬菜过河、带蔬菜过河6、农夫回来、农夫回来7、把羊带过河、把羊带过河解一:解一:解二:解二:1、农夫带羊过河、农夫带羊过河2、农夫回来、农夫回来3、带蔬菜过河、带蔬菜过河4、把羊带回来、把羊带回来5、把狼带过河、把狼带过河6、农夫回来、农夫回来7、把羊带过河、把羊带过河演示课件演示课件实践2:“韩信分油”的算术游戏:“3斤葫芦、7斤罐、10斤油篓分一半”,就是用3斤、7斤和10斤这样三种容器来分出两个5斤,而量器只能是这三种东西。实践3:有一行数字:1,1,2,3,5,8,13,21,试从中找出规律,人是怎样解决这个问题的?计算机是否能按人的思维去解决?它怎样做?