热门文档
- 2022-09-18 20:22:00 中国人为什么看不起中国人 张鸣
- 2023-04-19 15:04:26 《千家妙方 上册 1982年》(李文亮等编)
- 2023-10-13 17:09:40 楚辞 中华传统诗词经典 可复制-李山-9787101097528
- 2022-09-18 20:22:00 中国兵法之起源 编委会
- 2022-11-24 16:17:09 《性体验与性爱心理》尤里-谢尔巴特赫
- 2022-11-24 16:17:09 《性爱健康指南》石四维编著
- 2023-10-13 17:09:40 超速学习:我这样做,一个月学会素描,一年学会四种语言,完成MIT四年课程-斯科特·扬著,林慈敏译-9789861755533
- 2023-10-13 17:09:40 初中诗词格律读本 可复制-周建忠 徐乃为 王业强编著-9787101121704
- 2022-09-18 19:48:57 心理催眠术 迈克尔.赫普,温迪.德雷顿著
- 2023-10-13 17:09:40 曾国藩家书 中华经典藏书(升级版)可复制-檀作文译注-9787101115482
- 2023-01-11 15:23:39 孔子学院传播研究_刘程 安然著_9787516112922
- 2023-10-13 17:09:40 菜根谭 中华经典藏书(升级版)可复制-杨春俏译注-9787101115611
1、本文档共计 200 页,下载后文档不带www.pdfdz.com水印,支持完整阅读内容。
2、古籍基本都为PDF扫描版,所以文档不支持编辑功能,即不支持文档内文字的复制粘贴。
3、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
4、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
5、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。
2、古籍基本都为PDF扫描版,所以文档不支持编辑功能,即不支持文档内文字的复制粘贴。
3、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
4、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
5、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。
序言在认识到程序设计本身就是一门学科的情况下,我的主要动机是要把程序设计作为按系统化的方法构造算法和表达算法的一种技巧和技术。按最一般的意义来说,第法是各类数据处理和控制过程的处置方法。算法必须被表述成为稳固的结构,这些结构由逻辑地可靠地和合适地设计出来的组装块所组成,应当通过那些典型的与应用领域无关的程序设计的技术和问题的示例,训练学生有条理地系统化地进行算法的设计。为此,本书并不强调把具体的应用领域本身作为目标,而是挑选了一些练习和例子,作为普遍有效的问题和解决方法的示例.按照同一精神,本书并不强调表示法或程序设计语言的重要性;语言是我们的工具,但语言本身并不是目的,程序设计课程的主要目标,不应当只是教导学生去了解和使用一种具体语言的全部特征和独有的表示法。更确切地说,语言应当按照一种明显的自然的和容易理解的方式,反映算法当中基本的和最重要的概念.数字计算机所固有的特性和限制也应该加以考虑,就程序可靠性问题而论,我也努力在本书中编入了有关程序验证的基本概念和技术。程序设计的目标最终是要把全部种类的计算过程系统地表述成为算法。然而,谨慎的设计者必须能证明:在所有可能的情况下,他的产品都是按照指定的说明书来执行的,但是普遍使用的程序调试方法(查错)只审查个别的计算,而不能“彻底地”检查程序所能完成的金部种类的计算,为了价出有关程序本身普遍有效的断言,分析验证技术就是必不可少的了,基本证明方法的论述需要一种抽象的能力,对于学生来说,这比通常的程序设计课程难度稍微大一些。因此,在一本初等的教科书中对括这一题目的知识作了点保留。但我坚信,本书所论述的基本概念(对于断言和不变式思想的一种限制)具有非常重大的意义,以致于这些概念必须在本书一开始就引入,而不是在其它部分引入。我也反对关于这个题目应当更加理论化的想法一程序的可靠性重在实践而不在理论.实际上,程序验证的概念是更深入地理解算法的基础,没有这些概念,程序员除了自己不充足的感觉之外,就没有其它工具了.本教材适合于这样的读者:他们把有关算法系统化结构的课程看作是他们基本数学训练的一部分;但本教材不适合于那样的读者:他们希望能偶尔地编写一个(问题的)程序,然后把该程序交给他们的计算机,并想马上就得到结果.程序设计语言ALGOL60是全书中所用的表示法的基础.但我没有原本地沿用ALGOL60,因为目前的计算机(用来做程序设计的)比十二年前有了更为广泛的应用,对程序设计的介绍不应当只面向于某一种应用领域.ALGOL60主要是为数值数学而设计的.因此,当用ALGOL60为其它应用领域编写程序时,就常常会对该语言进行曲解和错误地使用;在那些领域中,不同的结构原理可能更为合适些,而且可能是其它概念占主导地位.在教学当中,应当避免使用那些无的放矢的工具,并且确实不应该把这种工具作为值得仿效的例子而加以推崇.我强烈地希望教学生去使用一种表示法,在这种表示法中,过程和数据结构显得既清晰又系统;这种希望是基于下面的观察结果:大多数人总是坚持他们最初学会的那个语言.这种趋向不仅是由于人们恩维的惰性,而且也由于如下的事实:“第一个”语言表示了一种合适的结构,通过这个结构,抽象的思想可以获得具体的形式.有了第-·个语言,人们不仅获得一张字汇表和-一组语法规则,而且也为进入新的思想领域打开了大门.因此,应当有见识地来选择这种语言.令人遗憾的是,得到最广泛使用的计算机语言