欢迎来到天天文库
浏览记录
ID:59809416
大小:190.00 KB
页数:20页
时间:2020-11-25
《计算机解决问题的过程备课讲稿.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机解决问题的过程计算机是人脑的延伸,要研究计算机解决问题的过程,需要从人解决问题的过程谈起。1.“韩信点兵”的故事相传我国汉代有位大将军叫韩信,他在点兵时让士兵分别从1~3、1~5、1~7报数,然后报告各次的余数,这样,就知道总共有多少士兵。然后韩信就凭这些数,可以求得这队士兵的总人数。这个问题即著名的“韩信点兵”问题,又称“鬼谷算”、“秦王暗点兵”这里面有什么秘密呢?2.《孙子算经》中的题目我国古代数学名著《孙子算经》中有“物不知数”的题目:今有物不知其数,三三数之剩2,五五数之剩3,七七数之剩2,问物几何
2、?请同学们开动脑筋,算算该“物”最少有几个?看看能不能找出多种解决方法2.《孙子算经》中“有物不知其数”问题的解答1)筛法.首先写出“用3除余2”的数:2,5,8,11,14,17,20,23,26,29,…其中,“用5除余3”的数:8,23,…其中,“用7除余2”的数:23,…由此得到,23是最小的一个解。至于下一个解是什么,要把“…”写出来才知道;实践以后发现,是要费一点儿功夫的。分析问题(找出已知条件和未知条件、列出已知条件和未知条件之间的关系)写出解题步骤设所求的数为X,则X应满足:X整除3余2X整除5余
3、3X整除7余21.令X为1。2.如果X整除3余2,X整除5余3,X整除7余2,这就是题目要求的数,则记下这个X。3.令X为X+1(为下一次计算作准备)。4.如果算出,则结束;否则跳转2。5.写出答案。2)公倍数法现在仿照上边用过的“公倍数法”,设要求的数为,则依题意,得联立方程组题:有物不知其数,三三数之剩a,五五数之剩b,七七数之剩c,问物几何?答:解为,(的选取应使).歌诀明朝数学家程大位在《算法统宗》中把上式总结为一首通俗易懂的歌决:三人同行七十稀,五树梅花廿一枝,七子团圆正半月,除百零五便得知。其中正半月
4、是指15,这个口诀把3,5,7;70,21,15及105这几个关键的数都总结在内了。详细说,歌诀的含义是:用3除的余数乘70,5除的余数乘21,7除的余数乘15,相加后再减去(“除”当“减”讲)105的适当倍数,就是要求的(最小)解了。当然,解,不是唯一的,每差105,都是另一个解答,但如果结合实际问题,答案往往就是唯一的了。例如一队士兵的大约人数,韩信应是知道的。总结:人解决问题的思路首先:观察、分析问题,收集必要的信息,然后根据已有的知识、经验进行判断、推理、尝试按一定的方法和步骤去解决问题。第二:解决同一个
5、问题会有多种求解的方法。不同的方法有优劣之分。第三:解决问题有时还要靠人的“顿悟”、“灵感”。能不能让计算机来帮助我们解决问题呢?肯定地回答:能?如何用计算机解决问题当我们用计算机解决问题时,首先要分析问题,然后根据问题的要求选择合适的软件。如果现有的软件能满足我们的要求,我们会直接用这些软件来完成任务,例如:学校财务处要制作一份工资表,工资表中许多数据,我们可以用Excel解决;学生要设计一个报刊设计,可以使用word;网络上的网页是使用网页制作工具完成的,记事本要输入代码,Frontpage和Dream
6、weaver可以直接使用可视化工具。除此之外,现实生活中还有许多工作往往比较特殊,现有的软件不能很好地完成,或者由于其他方面的原因无法使用,这就需要我们编写程序来解决问题。如何用计算机解决问题计算机只懂得根据人的命令来执行相关的程序,而我们要编写程序,首先要分析问题: 对问题进行详细地分析,通过分析,弄清楚已知条件下的初始状态及要达到的目标,找出求解问题的方法和过程,并抽取出一个数学模型,形成算法;然后要设计算法: 将这个数学模型连同它要处理的数据用计算机能识别的方式描述出来,使之成为计算机能处理的对象;
7、最后,编写程序: 用程序设计语言设计出具体的问题求解过程,形成计算机程序,这样,计算机就会按照我们给定的指令一条一条地进行处理了。如何用计算机解决问题设计一个软件的步骤是:开始分析问题设计算法编写程序运行程序验证结果问题解决无论使用现成的软件解决问题,还是自己动手编程解决问题,其实质都是一样的:现有的计算机软件同样也经历了这些过程,其差别在于,用程序设计解决问题需要我们亲自动手设计软件,而使用现成的软件,是别人已经给我们设计好了的。计算机程序(Computer Program)就是指示计算机如何去解决问题或完
8、成任务的一组可执行的指令。程序设计(ProgramDesign)就是寻求解决问题的方法,并将其实现步骤编写成计算机可以执行的程序的过程。程序设计语言(Program Language)泛指一切用于书写计算机程序的语言。注意:程序设计语言和计算机语言(ComputerLanguage)是两个不同的概念,程序设计语言是一种重要的计算机语言。实践1:你有没有估算的经验?当不需要
此文档下载收益归作者所有