如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
摘要:最早的"计算机"是我们中国的算盘,它被人们沿用了不知多少个世纪。在17世纪Pascall等人发明了一种以传动齿轮为基础的"计算机",它用齿轮的转动来控制计算的累加与进位。上个世纪初,英国剑桥大学著名数学家CharlesBabbage的工作使他成了计算机领域的先驱;他于1822年与1848年分别设计出了两种差分机,并于1833年制造出了有名的分析机。分析机在原理上与当今意义上的计算机很类似:其主要作用是输入读进穿孔卡片、对输入执行算术运算并给出结果,它可以随意重复运算序列。这些运算序列是由AdamLovelace设计的,她设计了许多可以求解一大类问题的运算序列。这种运算序列实际上就是程序的雏形,其思想一直沿用至今,因而Adam被称为是世界上第一个程序员(Adam语言就是为纪念她而命名)。1890年Hollerith研制出了一种统计机,它也使用穿孔卡片,它被用作各种统计工作。Holleritch因此而成立了一个公司,这个公司以后发展成IBM。本世纪30年代,英国数学家Turing提出了图灵机的概念,它由一个控制块、一条存储带及一个读写头构成,能执行左移、右移、在存储带中清除或写入符号、条件转移等操作。图灵机的结构虽然比较简单,但却能完成当今计算机所能完成的一切运算。随后Church发明了一种以逻辑公式中约束变量的代入为主要运算的λ-演算,它可以看作是一种语法与语义都非常简单的程序设计语言,已被广泛用在程序理论与程序设计语言理论与实践的研究中正文:一.程序的发展与现状1.什么是程序所谓程序,是一种事先编制好了具有特殊功能的指令序列。其中,指令集可以使机器指令,汇编语言,也可以是高级语言的语句命令,甚至还可以是用自然语言描述的运算,操作命令。程序这一概念的出现得益于人类长期的生活实践,我们每个人从很小的时候起,就在日常生活中潜移默化的被灌输了陈旭的概念,我们没做一斤相对比较复杂的事情,不知不觉的就会学习模仿前人的经验与方法编制相应的处理程序或带哦涌现村头脑中而且过去几用过的有效的程序。2.程序设计的方法与技巧程序是一种高智力的活动,不同的人对同一件实物的处理可以设计出完全不同的程序,正因为如此,在计算机发展的早期,程序设计被认为是一个与个人经历、思想与技艺相关联的一种技艺与技巧,所以就需要探索出各种方法与技巧,经过多年的研究,在计算科学中已发展了许多的程序设计方法与技巧。例如:自顶向下逐步求精的程序设计方法与技巧、自底向上的程序设计方法与技巧,基于程序推到的程序设计方法与技巧、基于程序变换的程序设计方法与技巧、面相对象的程序设计方法与技巧、函数式程序设计技术、逻辑程序设计技术、程序验证技术、约束程序设计技术、并发程序设计等等,但需要指出的是不同的程序设计方法与技巧,都是从不同的角度对程序及其设计和产生的过程的特性和规律进行观察,经抽象、分析和总结滞后于得到的,其中,凡是有生命力的方法与技巧,都在今后的发展建立比较坚实的数学理论基础并在实践中被反复检验证明是有效地。3.程序设计语言的发展语言是用来表达、交流思想的的工具。而计算机语言则是人们用来向计算机传递信息与下达命令的通信工具。虽然计算机是人类发明的最灵活的机器,但必须有人事先告诉他要做什么和怎样去做。我们学习计算机语言和程序设计方法的目的,就是利用计算机解决实际问题。程序设计语言正是问题求解方法的描述工具。随着计算机的发展计算机语言的发展经历了如下几个主要阶段(一)第一代语言:在20世纪50年代以前,人们是有的计算机语言的第一的语言,又称“机器语言”优点:无需翻译,占用内存小,执行速度快。缺点:随机而异,通用性差。而且因指令和数据都是二进制代码形式,难于阅读和记忆,编程工作量大,难以维护。(二)第二代语言它诞生于20世纪50年代中期,又称“汇编语言”优点:比机器语言易学易记。缺点:同机器语言一样即通用性差,随即而异。由于计算机智能执行用机器语言编写的程序,因而,必须用汇编程序将汇编语言程序编写的源程序翻译成机器语言执行的目标程序。(三)第三代语言它是20世纪60年代开发的,又称“面向过程的语言”。优点:通用性强,可以在不同的机器上运行,程序简短易读,便于维护,极大地提高了程序设计的效率和可靠性。常用的第三代语言有:FORTRAN、Pascal、C、BASIC和COBOL等。(四)第四代语言它是20世纪80年代开发的,又称“面向对象的程序设计语言”。它发展速度极快,前景远大,日益受到人们的重视。主要有以下特点:非过程性、图形窗口和人机对话形式、面向对象方法、基于数据库技术、提高软件开发效率和易读、易使用和易保护等特点。第四代语言包括查询和更新语言、图形语言、规格说明语言、决策支持语言、报表生成器、菜单生成器、应用系统生成器、CASE开发工具、