欢迎来到天天文库
浏览记录
ID:43811046
大小:895.50 KB
页数:48页
时间:2019-10-15
《计算机科学概论 第6章 程序设计语言》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第6章程序设计语言计算机科学概论目标了解计算机语言的发展;理解机器语言、汇编语言、高级语言的概念理解机器语言与汇编语言、高级语言的差异与各自具备的特点与优势理解虚拟机的概念了解高级语言的发展,列出几种高级语言了解程序设计语言的类型和基本知识,了解程序和语句的基本类型理解程序编译生成的过程和原理主要内容计算机语言的发展程序设计语言的几种范型程序设计语言的语法元素和功能划分程序的生成和运行第一节计算机语言的发展6.1计算机语言的发展就程序设计语言来讲,经历了机器语言、汇编语言、高级语言、非过程语言等4个阶段。第5代自然语言的研究也已经成为学术研究的热点。6.1.1自然语言与形式语言1、自然
2、语言自然语言的定义:人类的语言文字是人类最普遍使用的符号系统,其最基本最普遍的形式是自然语言符号系统。自然语言是某一社会发展中形成的一种民族语言,例如汉语、英语、法语和俄语等。自然语言符号系统的基本特征:歧义性;不够严格和不够统一的语法结构;2、形式语言定义:人工语言符号系统发展的第二阶段叫形式化语言,简称形式语言。形式语言是进行形式化工作的元语言,它是以数学和数理逻辑为基础的科学语言。形式语言的基本特点如下:有一组初始的专门的符号集有一组精确定义的,由初始的专门的符号组成的符号串,转换成另一个符号串的规则。在形式语言中,不允许出现根据形成规则无法确定的符号串。6.1.2机器语言与汇编
3、语言1、机器语言由“0”和“1”的字符串组成表6‑1裸机级计算机语言中有关抽象理论和设计形态的主要内容计算机语言抽象理论设计裸机级的主要内容和成果语言的符号集为{01}用机器指令对算法进行描述图灵机过程语言的基础波斯特系统字符串处理语言的基础-演算函数式语言的基础等计算模型冯诺依曼型计算机等、实现技术、数字电子计算机产品2、汇编语言为了使程序易读,用带符号或助记符的指令和地址代替二进制代码成为语言进化的目标。这些使用助记符语言的语言后来就被称之为汇编语言。例6‑4对2+6进行计算的算法描述(1)机器指令对2+6进行计算的算法描述10110000000001100000010000000
4、010101000100101000000000000第一条指令表示将6送到寄存器AL中,数字6放在指令后八位,第二条指令表示数2与寄存器AL中的内容相加,结果仍存在AL中,第三条指令表示把AL中的内容送到地址为5的单元中。(2)汇编语言对2+6进行计算的算法描述MOVAL6ADDAL2MOVVCAL汇编语言的特点:汇编语言语句与特定的机器指令有一一对应的关系,但是它毕竟不同于由二进制组成的机器指令,它还需要经汇编程序翻译为机器指令后才能运行。用汇编语言写的程序必然依赖于机器,不同的机器指令系统不同。汇编语言源程序经汇编程序翻译成机器指令,再在实际的机器中执行,这样就汇编语言的用户而言
5、,该机器是可以直接识别汇编语言的,从而产生了一个属于抽象形态的重要概念,即虚拟机的概念。6.1.3高级语言接近于人类的自然语言20世纪50年代是高级语言兴起的年代,早期的有Fortran、Algol、Cobol、Lisp等高级语言。最著名的有BASIC、COBOL、Pascal、Ada、C、C++和Java。高级语言的主要好处(1)高级语言接近算法语言,易学、易掌握,一般工程技术人员只要几周时间的培训就可以胜任程序员的工作;(2)高级语言为程序员提供了结构化程序设计的环境和工具,使得设计出来的程序可读性好,可维护性强,可靠性高;(3)高级语言远离机器语言,与具体的计算机硬件关系不大,因
6、而所写出来的程序可移植性好,重用率高;(4)由于把繁杂琐碎的事务交给了编译程序去做,所以自动化程度高,开发周期短,且程序员得到解脱,可以集中时间和精力去从事对于他们来说更为重要的创造性劳动,以提高程序的质量。第二节程序设计语言的几种范型6.2程序设计语言的几种范型程序语言的分类没有统一的标准,这里根据程序设计的方法将程序语言大致分为:命令式程序设计语言面向对象的程序设计语言函数式程序设计语言逻辑型程序设计语言等1、命令式程序设计语言命令式语言是基于动作的语言,它关注的是如何让计算机去做人们要求它做的事情。在这种语言中,计算被看成动作的序列。程序形式一般为:statement1;stat
7、ement2;…语句的执行(如将两个变量相加而得到第三个变量)可被表示为访问存储位置,以某种方式组合这些值,并将结果存到新的位置。程序的开发涉及建造连续的、要到达最终答案所需的机器状态。大多数程序设计语言采用这种模型,遵循传统计算机的结构,顺序地执行指令。主要有FORTRAN,后来的PASCAL、BASIC和C语言,包括近期出现的Java语言体现了命令式程序设计的关键思想。2、函数式程序设计语言函数式语言的基本概念来自于LISP语言,这是一个在
此文档下载收益归作者所有