第6章编码 61程序设计语言 程序设计语言的分类 1.机器语言( Machine language) 机器语言,是一种用二进制代码表示的 低级语言,是计算机直接使用的指令代码 机器语言没有通用性、不能移植、因机器而 异,因为处理机不同指令系统就不同。 用机器语言编写程序,都采用二进制代 码形式,且所有的地址分配都以绝对地址的 形式处理,存储空间的安排、寄存器、变址 的使用也都由程序员自己计划
第6章 编码 6.1 程序设计语言 一、程序设计语言的分类 1.机器语言(Machine Language) 机器语言,是一种用二进制代码表示的 低级语言,是计算机直接使用的指令代码。 机器语言没有通用性、不能移植、因机器而 异,因为处理机不同指令系统就不同。 用机器语言编写程序,都采用二进制代 码形式,且所有的地址分配都以绝对地址的 形式处理,存储空间的安排、寄存器、变址 的使用也都由程序员自己计划
第6章编码 2.汇编语言( Assemble Language) 汇编语言,是一种使用助记符表示的低 级语言。某一种汇编语言也是专门为某种特 定的计算机系统而设计的。用汇编语言写成 的程序,需经汇编程序翻译成机器语言程序 才能执行。 汇编语言中的每条符号指令都与相应的 机器指令有对应关系,同时又增加了一些诸 如宏、符号地址等功能。虽然这种语言的命 令比机器语言好记,但它并没有改变机器语 言功能弱、指令少、繁琐、易出错、不能移 植等的缺点
第6章 编码 2.汇编语言(Assemble Language) 汇编语言,是一种使用助记符表示的低 级语言。某一种汇编语言也是专门为某种特 定的计算机系统而设计的。用汇编语言写成 的程序,需经汇编程序翻译成机器语言程序 才能执行。 汇编语言中的每条符号指令都与相应的 机器指令有对应关系,同时又增加了一些诸 如宏、符号地址等功能。虽然这种语言的命 令比机器语言好记,但它并没有改变机器语 言功能弱、指令少、繁琐、易出错、不能移 植等的缺点
第6章编码 3.高级语言( High level Language) 高级语言是面向用户的、基本上独立 于计算机种类和结构的语言。高级语言最 大的优点是:形式上接近于算术语言和自 然语言,概念上又接近于人们通常使用的 概念。高级语言的一个命令可以代替几条、 几十条甚至几百条汇编语言的指令,因此, 高级语言易学易用,通用性强且应用广泛
第6章 编码 3.高级语言(High level Language) 高级语言是面向用户的、基本上独立 于计算机种类和结构的语言。高级语言最 大的优点是:形式上接近于算术语言和自 然语言,概念上又接近于人们通常使用的 概念。高级语言的一个命令可以代替几条、 几十条甚至几百条汇编语言的指令,因此, 高级语言易学易用,通用性强且应用广泛
第6章编码 4.第四代语言( Fourth generation language,简称4GL) 第四代语言(4GL)的出现,将语言的抽 象层次又提高到一个新的高度。第四代语言 虽然也用不同的文法表示程序结构和数据结 构,但第四代语言是在更高一级抽象的层次 上表示这些结构。用第四代语言编码时只需 说明“做什么”,而不需描述算法细节
第6章 编码 4. 第 四 代 语 言 ( Fourth Generation language,简称4GL) 第四代语言(4GL)的出现,将语言的抽 象层次又提高到一个新的高度。第四代语言 虽然也用不同的文法表示程序结构和数据结 构,但第四代语言是在更高一级抽象的层次 上表示这些结构。用第四代语言编码时只需 说明“做什么” ,而不需描述算法细节
第6章编码 二、程序设计语言的特点 1.名字说明 2.类型说明 3.初始化 4.程序对象的局部性 5.程序模块 6.循环控制结构 分支控制给构 8.异常处理 9.独立编译
第6章 编码 二、程序设计语言的特点 1.名字说明 2.类型说明 3.初始化 4.程序对象的局部性 5.程序模块 6.循环控制结构 7.分支控制给构 8.异常处理 9.独立编译
第6章编码 、程序设计语言的选择 程序设计语言的选择常从以下几个方面考虑: (1)项目的应用领域 (2)算法与计算的复杂性 (3)数据结构的复杂性 (4)效率 (5)可移植性 (6)程序设计人员的水平 (⑦)构造系统的模式
第6章 编码 三、程序设计语言的选择 程序设计语言的选择常从以下几个方面考虑: (1)项目的应用领域 (2)算法与计算的复杂性 (3)数据结构的复杂性 (4)效率 (5)可移植性 (6)程序设计人员的水平 (7)构造系统的模式
第6章编码 62编码风格 编码风格实际上是一种编码原则。从 20世纪70年代以来,编码的目标从强调效 率转变到强调清晰。与此相应,编码风格 也从追求“聪明”和“技巧”,变为提倡 “简明”和“直接”。人们逐渐认识到, 良好的编码风格能在一定程度上弥补程序 设计语言存在的缺点。反之,如果不注意 编码风格,即使使用了结构化的现代语言, 也很难写出高质量的程序
第6章 编码 6.2 编码风格 编码风格实际上是一种编码原则。从 20世纪70年代以来,编码的目标从强调效 率转变到强调清晰。与此相应,编码风格 也从追求“聪明”和“技巧” ,变为提倡 “简明”和“直接” 。人们逐渐认识到, 良好的编码风格能在一定程度上弥补程序 设计语言存在的缺点。反之,如果不注意 编码风格,即使使用了结构化的现代语言, 也很难写出高质量的程序
第6章编码 、代码文档化:指编码时适当选择标识符的名字、 适当安排注释和注重程序的整个组织形式。 、数据说明:程序或模块在其可执行部分的前面 都集中了一些说明语句,出于阅读理解和维护的 Ya要求,最好使其规范化,使说明的先后次序固定 多也点为道追途幸使单厦 会减低程序的可读性。 四、输入/输出:源程序的输入输出风格必须满足运 行工程学的需要
第6章 编码 一、代码文档化:指编码时适当选择标识符的名字、 适当安排注释和注重程序的整个组织形式。 二、数据说明:程序或模块在其可执行部分的前面 都集中了一些说明语句 ,出于阅读理解和维护的 要求,最好使其规范化,使说明的先后次序固定 。 三、语句构造 :每条语句都应当简单而直接,同时 也不应为了追求运行效率而使代码复杂化,这样 会减低程序的可读性。 四、输入/输出:源程序的输入输出风格必须满足运 行工程学的需要
第6章编码 63程序效率 尽管效率是值得追求的目标,但不应为了 非必需的效率提高而牺牲代码的清晰性、可 读性和正确性。应记住下面三条准则。 (1)效率是一种性能需求,目标值应当在需 求分析阶段给出。软件效率应以需求为准, 不应以人力所及为准。 (2)好的设计可以提高效率 (3)代码效率与代码的简单性相关
第6章 编码 6.3 程序效率 尽管效率是值得追求的目标,但不应为了 非必需的效率提高而牺牲代码的清晰性、可 读性和正确性。应记住下面三条准则。 (1)效率是一种性能需求,目标值应当在需 求分析阶段给出。软件效率应以需求为准, 不应以人力所及为准。 (2)好的设计可以提高效率。 (3)代码效率与代码的简单性相关
第6章编码 、代码效率 (1)应先简化算术和逻辑的表达式。 (2)仔细研究嵌套的循环,以确定是否有语 句可以从内层往外移。 (3)尽量避免使用多维数组。 (4)尽量避免使用指针和复杂的列表。 (5)使用执行时间短的算术运算。 (6)即使语言允许,一般也不要采用混合数 据类型。 (7)尽量使用整数表达式和布尔表达式
第6章 编码 一、代码效率 (1)应先简化算术和逻辑的表达式。 (2)仔细研究嵌套的循环,以确定是否有语 句可以从内层往外移。 (3)尽量避免使用多维数组。 (4)尽量避免使用指针和复杂的列表。 (5)使用执行时间短的算术运算。 (6)即使语言允许,一般也不要采用混合数 据类型。 (7)尽量使用整数表达式和布尔表达式