- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序设计的发展庄朝晖 厦门大学计算机系计算科学的起源-从逻辑开始中文的“逻辑”显然音译自英文的“logic”。logic又来自中古拉丁文的logica,logica又源自希腊文logos(λóγos)。logos一般翻译为“逻格斯”,接近于中文里的“道”。中文的“道”和希腊文“logos”都有以下两层意思:1 各种事物的定义或者各种活动的规则(西方各门学科的名字都以 -logy缀后的习惯)2 言说,言谈这两层意思也是相互关联的。言谈是为了揭示事物的道理,道理一般也通过言谈得以开显。通用计算的设想“万一发生争执,正像两个会计员之间无须乎有辩论,两个哲学家也不需要辩论。 因为他们只要拿起石笔,在石板前坐下来,彼此说一声(假如愿意,找个朋友作证):我们来算算,也就行了。” --莱布尼兹通用计算的几种模型面对着生活世界,人类发展出三种推理模型:a、自然语言的推理:使用语言和概念来表示命题与知识,通过交谈与辩论来进行推理。b、符号逻辑的推理:使用符号来表示命题与知识,使用逻辑规则来进行推理。c、数字计算的推理:使用数字来表示命题与知识,使用计算来进行推理。这三种推理模型都可以归结为逻辑系统。然而所有的逻辑系统,皆有其局限性与适用性,所以不要拘泥于任何逻辑系统之中,要敢于超越现有的逻辑系统。理性精神则勇于质疑,分析和超越这些预设和成见。这就是爱智慧。图灵机的出现在第三次数学危机中,数学中的构造部分得到了重视。在剑桥大学的图灵观察到人类的纸笔运算,他设想:能否有这样一台机器,通过某种一般的机械步骤,能够解决所有可以解决的数学问题。以上机器就是他提出来的图灵机。图灵机可以计算的问题,就称为图灵机可计算。控制器的命令可表示为: (状态,符号)→(写符号,移动,状态); ┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬── │0│0│0│1│1│1│0│1│1│1│ ┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴── ↑ ┌─┐ │ │ ┌┘ └┐ │控制器│ └───┘输入:图灵机运行前,工作带上的内容就是输入。(输入之前用一个空格隔开,连续遇到两个空格表示结束)输出:图灵机运行后进入结束状态,那么,图灵机就停机,此时带上的内容就是计算的输出结果。算法(Algorithm)解决问题的大致流程:分析问题 ? 确定算法 ? 选择语言并编码 ? 调试运行? 解决问题所谓算法是对计算过程步骤(或状态)的一种刻划,是计算方法的一种能行实现方式。(Knuth对算法的定义)算法是对特定问题求解步骤的一种描述。此外,算法的规则序列须满足如下五个条件: (1) 有穷性。算法必须总是在执行有穷步之后结束; (2) 确定性。算法的每一个步骤必须是确切地定义的; (3) 输入。算法有零个或多个输入; (4) 输出。算法有一个或多个输出,即与输入有某个特定关系的量; (5) 能行性。算法中有待执行的运算和操作必须是相当基本的,即是说,它们原则上都是能够精确地进行的,而且用笔和纸做有穷次就可以完成。算法设计的要求评价一个好的算法有以下几个标准:(1) 正确性(Correctness )算法应满足具体问题的需求。(2)可读性(Readability)算法应该好读。以有利于阅读者对程序的理解。 (3)健状性(Robustness) 算法应具有容错处理。当输入非法数据时,算法应对其作出反应,而不是产生莫名其妙的输出结果。(4)效率与存储量需求效率指的是算法执行的时间;存储量需求指算法执行过程中所需要的最大存储空间。一般,这两者与问题的规模有关。算法的表示 1、自然语言描述; 2、程序流程图描述 ; 3、N-S图描述; 例如:求1+2+……+100之和算法的自然语言描述1. sum赋初值为0;变量i赋初值为1;2. 让i从1变化到100,执行以下循环: 将i的值累加到sum中去。3.输出sum中的值,即为所求的结果。算法的程序流程图描述 开始sum=0i=1否i=100是sum=sum+ii=i+1打印算法的N-S图描述sum=0i=1i=100sum=sum+ii=i+1输出sum例:求两个自然数的最大公约数。解答: step1:分析问题 step2:确定算法 step3:算法描述 step4:编码 step5:调试运行算法的自然语言描述1、输入x, y 的值,算法将求它们的最大公约数。2、让minnum等于x与y的最小值。3、让i从minnum变化到1,执行以下循环: 如果i可以整除x和y,那么跳出循环。4、输出i的值,即为所求。以下使用欧几里德算法记gcd(x,y)为x与y的最大公因数。我们首先从函数gcd(x,y)的性质出发来求解。函数gcd(x,y)具有如下性质:(1) gcd(a,b)=gcd(b,a)(2) gcd(a,b)=gcd(―a,b)(3) gcd
文档评论(0)