汇编语言第2章程序设计基础

上传人:tian****1990 文档编号:72020011 上传时间:2019-01-22 格式:PPT 页数:30 大小:321.82KB
返回 下载 相关 举报
汇编语言第2章程序设计基础_第1页
第1页 / 共30页
汇编语言第2章程序设计基础_第2页
第2页 / 共30页
汇编语言第2章程序设计基础_第3页
第3页 / 共30页
汇编语言第2章程序设计基础_第4页
第4页 / 共30页
汇编语言第2章程序设计基础_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《汇编语言第2章程序设计基础》由会员分享,可在线阅读,更多相关《汇编语言第2章程序设计基础(30页珍藏版)》请在金锄头文库上搜索。

1、第2章 程序设计基础,语言是人们交流思想、传达信息的工具。人类在长期的历史发展过程中,为了交流思想、表达感情和交换信息,逐步形成了语言。这类语言,如汉语和英语,通常称为自然语言。另一方面,人们为了某种专门用途,创造出种种不同的语言,例如旗语和哑语,这类语言通常称为人工语言。专门用于人与计算机之间交流信息的各种人工语言称为计算机语言或程序设计语言。,2.1 程序设计语言,根据程序设计语言发展的历程,可将其大致分为机器语言、汇编语言、高级语言以及4GL语言四类。,2.1.1 机器语言,机器语言是用二进制代码表示的计算机能直接识别和执行的机器指令的集合,即处理器的指令系统。不同类型处理器的计算机,其

2、机器语言是不同的,按照一种计算机的机器指令编制的程序,不能在指令系统不同的计算机上执行。机器语言的优点是能够被计算机直接识别、执行速度快、占用内存空间少。其缺点是难记忆、难书写、难编程、易出错、可读性差、可移植性差。,2.1.2 汇编语言,为了克服机器语言的缺点,人们采用与代码指令实际含义相近的英文缩写词、字母和数字等符号来取代指令代码,产生了汇编语言(也称为符号语言)。汇编语言是由一条条助记符所组成的指令系统。使用汇编语言编写的程序(汇编语言源程序),计算机不能直接识别,需要由一种起翻译作用的程序(汇编程序),将其翻译成机器语言程序(目标程序),计算机方可执行,这一翻译过程称之为“汇编”。,

3、2.1.3 高级程序设计语言,计算机技术的发展,促使人们去寻求一些与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用易学的计算机语言。这种与自然语言相近并为计算机所接受和执行的语言称为高级语言。用高级语言编写程序时,程序员可以不必了解计算机的内部逻辑,而主要考虑问题的解决方法。高级语言的源程序需要翻译成机器语言程序才能执行,翻译方式有两种,编译方式和解释方式。编译方式是由编译程序把高级语言源程序“翻译”成目标程序;解释方式是由解释程序把高级语言的源程序逐条“翻译”执行,不生成目标程序。,传统的高级程序设计语言,1954年,约翰巴克斯发明了FORTRAN语言。FORTRA

4、N是最早出现的高级程序设计语言,主要应用在科学、工程计算领域。 1958年,在FORTRAN基础上改进的ALGOL语言诞生了,与FORTRAN相比,ALGOL的优点引入了局部变量和递归过程概念,提供了较为丰富的控制结构和数据类型,对后来的高级语言产生了深刻的影响。 1960年出现的COBOL是商用数据处理应用中广泛使用的标准语言。COBOL通用性强,容易移植,并提供了与事务处理有关的大范围的过程化技术。COBOL是世界上最早实现标准化的语言,它的出现、应用与发展,改变了人们“计算机只能用于数值计算”的观点。 1964年,汤姆库斯和约翰凯孟尼创建了一种新的计算机高级语言,这种语言语句简洁、语法简

5、单,风格轻松活泼,又简便易学,被称为“初学者通用符号指令代码”,这就是著名的Basic语言。该语言在微型计算机上得到广泛应用。目前Basic语言有多种版本,如Borland公司的Turbo Basic、Microsoft公司的Visual Basic等。Microsoft Visual Basic是目前使用最广泛的Basic语言开发工具,它提供了一个可视的开发环境,具有图形设计工具、面向对象的结构化的事件驱动编程模式、开放的环境,使用户可以既快又简便的编制出Windows的各种应用程序。,通用的结构化程序设计语言,结构化程序设计语言的特点是具有很强的过程功能和数据结构功能,并提供结构化的逻辑构

6、造。这一类语言的代表有Pascal、C和Ada等,它们都是从ALGOL语言派生出来的。 20世纪60年代末研制的Pascal语言体现了结构化程序设计的思想,以系统、精确、合理的方式表达了程序设计的基本概念,特别适合用来进行程序设计原理和高级语言的教学。Borland公司的Turbo Pascal是使用比较广泛的版本。 1972年,美国贝尔实验室的Dennis Ritchie发明了C语言,它既有高级语言的特点,又可以实现汇编语言的许多功能,因此它适用于编写系统软件和应用软件。C语言主要特点是具有丰富的数据结构;基本程序结构是函数调用,支持用户自定义函数以扩充语言的功能;与汇编语言接口好;具有丰富

7、的函数库;具有比较强的图形处理能力。Borland公司的Turbo C是早期使用广泛的C语言开发工具。 Ada语言是由美国国防部出资开发的,作为一种用于嵌入式实时计算机设计的标准语言。Ada语言在结构和符号方面类似于Pascal语言。,专用语言,专用语言是为特殊的应用而设计的语言。通常具有自己特殊的语法形式,面对特定的问题,输入结构及词汇与该问题的相应范围密切相关。有代表性的专用语言有APL、Lisp、Prolog、Smalltalk、C+、Java等。 APL是一种简单的对数组和向量处理非常有效的语言。它几乎不支持结构化设计和数据类型划分,但它拥有丰富的操作运算符。主要用来解决一些数学计算问

8、题。 Lisp是一种人工智能领域专用的语言,它特别适用于组合问题中常见的符号运算和表处理。 Prolog是另一种广泛用于专家系统构造的程序设计语言。和Lisp一样,Prolog提供了支持知识表示的特性。这种语言用一种称为term的统一的数据结构来构造所有的数据和程序。每一个程序都由一组代表事实、规划和推理的子句组成。Lisp和Prolog都特别适合于处理对象及其相互关系的问题。 Smalltalk是首先真正实现面向对象的程序设计语言之一。它引入了与传统程序设计语言根本不同的控制结构与数据结构。Smalltalk可以定义对象,对象由数据结构和指向一组方法(服务操作)的指针组成。每个对象都是一个类

9、的实例。Smalltalk提供的面向对象的方法可以支持程序部件的“可复用性”,从而使大型软件系统的开发时间和以源程序行数计算的程序量大大减少。,1980年,贝尔实验室的Bjarne Stroustrup发明了的“带类的C”,增加了面向对象程序设计所需要的抽象数据类型“类”,1983年带类的C语言被命名为C+,成为面向对象的程序设计语言。C+有丰富的类库、函数库,可嵌入汇编语言中,使程序优化,但这种语言难于学习掌握,需要有C语言编程的基础经验和较为广泛的知识。目前,C+成为当今最受欢迎的面向对象的程序设计语言,因为它既融合了面向对象的能力,又与C语言兼容,保留了C语言的许多重要特性。C+常见的开

10、发工具有Borland C+、Microsoft Visual C+ 等。 Java是一种简单的、面向对象的、分布式的、强大的、安全的、解释的、高效的、结构无关的、易移植的、多线程的、动态的语言。Java设计接近C+语言,但做了许多重大修改。它不再支持运算符重载、多继承及许多自动强制等易混淆和较少使用的特性,增加了内存空间自动垃圾收集的功能。Java是面向对象语言,基本功能类似于C+,但增加了Objective C的扩充,可提供更多的动态解决方法。Java中提供了附加的例程库,通过它们的支持,Java应用程序能够自由地打开和访问网络上的对象,就像在本地文件系统中一样。Java有建立在公共密钥技

11、术上的确认技术,指示器语义的改变将使应用程序不能再去访问以前的数据结构或私有数据,这样大多数病毒也就无法破坏数据。因而,使用Java可以构造出无病毒、安全的系统。它适用于Internet环境并具有较强的交互性和实时性,提供了网络应用的支持和多媒体的存取,推动了Internet和企业网络的Web的进步。SUN公司的J2EE平台的发布,加速推动了Java在各个领域的应用。,2.1.4 4GL语言,4GL语言的出现,将语言的抽象层次又提高到一个新的高度。同其他人工语言一样,也采用不同的文法表示程序结构和数据结构,但它是在更高一级抽象的层次上表示这些结构,它不再需要规定算法的细节。关系数据库的标准语言

12、SQL即属于该类语言。 4GL语言兼有过程性和非过程性的两重特性。程序员规定条件和相应的动作,这是过程性的部分,并且指出想要的结果,这是非过程部分。然后由4GL语言系统运用它的专门领域的知识来填充过程细节。,2.1.5 程序设计语言的比较,应用领域。 算法和计算复杂性。 软件运行环境。 用户需求中关于性能方面的需要。 数据结构的复杂性。 软件开发人员的知识水平和心理因素等。,汇编语言适用于,程序执行占用较短的时间,或者占用较小存储容量的场合。 程序与计算机硬件密切相关,程序直接控制硬件的场合。 需提高大型软件性能的场合。 没有合适的高级语言的场合。,2.2 结构化程序设计,由于软件危机的出现,

13、人们开始研究程序设计方法,其中最受关注的是结构化程序设计方法。20世纪70年代提出了“结构化程序设计(Structured Programming)”的思想和方法,该方法引入了工程思想和结构化思想,使大型软件的开发和编程都得到了极大的改善。,2.2.1 结构化程序设计思想,结构化程序设计方法是程序设计的先进方法和工具。采用结构化程序设计方法编写程序,可使程序结构清晰、易读、易理解、易维护。结构化程序设计具有三种基本结构:顺序结构、选择结构和循环结构。1966年,Boehm和Jacopini证明了任何单入口单出口没有“死循环”的程序都能由顺序、选择和循环三种最基本的控制结构构造出来。,顺序结构

14、顺序结构是最基本、最常用的结构,如图2-1所示。顺序结构就是按照程序语句行的自然顺序依次执行程序。,图2-1 顺序结构,选择结构 选择结构又称为分支结构,这种结构可以根据设定的条件,判断应该选择哪一条分支来执行相应的语句序列。如图2-2所示。,图2-2 选择结构,循环结构 循环结构是根据给定的条件,判断是否需要重复执行某一程序段。在程序设计语言中,循环结构对应两类循环语句,对先判断后执行循环体的称为当型循环结构,如图2-3所示;对先执行循环体后判断的称为直到型循环结构,如图2-4所示。,图2-3 当型循环结构 图2-4 直到型循环结构,结构化程序设计的基本思想:一是使用三种基本结构;二是采用自

15、顶向下、逐步求精和模块化方法。结构化程序设计强调程序设计风格和程序结构的规范化,其程序结构是按功能划分为若干个基本模块,这些模块形成一个树状结构,各模块之间的关系尽可能简单,且功能相对独立,每个模块内部均是由顺序、选择、循环三种基本结构组成,其模块化实现的具体方法是使用子程序(函数或过程)。结构化程序设计由于采用了模块化与功能分解、自顶向下、分而治之的方法,因而可将一个较为复杂的问题分解为若干个子问题,各个子问题分别由不同的人员解决,从而提高了程序开发速度,并且便于程序的调试,有利于软件的开发和维护。,2.2.2 结构化程序设计方法,结构化程序设计方法的基本原则可以概括为自顶向下、逐步求精、模

16、块化、限制使用goto语句。,自顶向下 程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。开始时不过多追求众多的细节,先从最上层总体目标开始设计,逐步使问题具体化,层次分明,结构清晰。 逐步求精 对复杂问题,应设计一些子目标作过渡,逐步细化。针对某个功能的宏观描述,进行不断分解,逐步确立过程细节,直到该功能用程序语言的算法实现为止。 模块化 将一个复杂问题,分解为若干个简单的问题。每个模块只有一个入口和一个出口,使程序有良好的结构特征,能降低程序的复杂度,增强程序的可读性、可维护性。 限制使用goto语句 因为使用goto语句会破坏程序的结构化,降低了程序的可读性,因而不提倡使用goto语句。,2.2.3 面向对象程序设计简介,面向对象程序设计,是当前程序设计的主流方向,是程序设计方式在思维上和方法上的一次飞跃。面向对象程序设计方式是一种模仿人们建立现实世界模型的程序设计方式,是对程序设计的一种全新的认识。 面向对象程序设计的基本思想,一是从现实世界中客观存在的事物(即对象)出发,尽可能运用人类的自然思维方式去构造软

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号