第5章程序设计知识 +5.1程序设计语言 +5.2C语言程序设计 +5.3数据结构 Minclude void main (void) ifstream input_file: +5.4编译原理 float total reqular,total overtime,regular,overtimer int hour in,minute in,hour out,minuite_out: input file.open("time.txt",i0s::in) total regular“0: total overtime 0: while (input_file !NULL) input_file >hour in >minute in >hour out >mnute_out? 1(hour.cut>17列 overtime (hour out-17)+(minute out/(float)60) else overtime 0 regular ((hour out hour in)+(minute out minute in)/(float)60)-overtime total regular regular: total overtime overtime: cout ce"Regular:cc total_regular ccendl; cout ce"Overtime ce totalovertime <cendl; 计算机导论(2014)
计算机导论(2014) 第5章 程序设计知识 5.1 程序设计语言 5.2 C语言程序设计 5.3 数据结构 5.4 编译原理
5.1程序设计语言 机器语言 +汇编语言 +高级语言 +结构化程序设计语言 +面向对象程序设计语言 +可视化程序设计语言 计程序的基础 学习语言是设 +人工智能程序设计语言 计算机导论(2014)
计算机导论(2014) 5.1 程序设计语言 机器语言 汇编语言 高级语言 结构化程序设计语言 面向对象程序设计语言 可视化程序设计语言 人工智能程序设计语言 学 习 语 言 是 设 计 程 序 的 基 础
5.1.1机器语言 +机器语言的特点 ·由二进制编码指令构成的语言。 ·是一种依附于机器硬件的语言。 ·机器语言程序可以直接执行。 +机器语言程序片段 0001010101101100/把地址为01101100的内存单元中的数装入0101号寄存器 0001011001101101/把地址为01101101的内存单元中的数装入0110号寄存器 0101000001010110/把01101100和01101101中的数相加,结果存入0000号寄存器 0011000001101110/把0000号寄存器中的数存入地址为01101110的内存单元中 计算机导论(2014)
计算机导论(2014) 5.1.1 机器语言 机器语言的特点 由二进制编码指令构成的语言。 是一种依附于机器硬件的语言。 机器语言程序可以直接执行。 机器语言程序片段 0001 0101 01101100 //把地址为01101100的内存单元中的数装入0101号寄存器 0001 0110 01101101 //把地址为01101101的内存单元中的数装入0110号寄存器 0101 0000 01010110 //把01101100和01101101中的数相加,结果存入0000号寄存器 0011 0000 01101110 //把0000号寄存器中的数存入地址为01101110的内存单元中
5.1.2汇编语言 +汇编语言的特点 ·由助记符指令构成的语言。 ·也是一种依附于机器硬件的语言。 ·汇编语言源程序需要汇编后才能执行。 +汇编语言程序片段 MOVR5,X/把内存单元X中的数装入R5寄存器 ADD R5,Y /把R5中的数与Y单元中的数相加,结果存入R5 MOVZ,R5/把R5中的数存入Z单元中 计算机导论(2014)
计算机导论(2014) 5.1.2 汇编语言 汇编语言的特点 由助记符指令构成的语言。 也是一种依附于机器硬件的语言。 汇编语言源程序需要汇编后才能执行。 汇编语言程序片段 MOV R5, X //把内存单元X中的数装入R5寄存器 ADD R5, Y //把R5中的数与Y单元中的数相加,结果存入R5 MOV Z, R5 //把R5中的数存入Z单元中
5.1.3高级语言 ↓高级语言的特点 ·由自然语言和数学公式表示的语言。 ·是一种独立于机器硬件的语言。 ·高级语言程序需要编译后才能执行。 +高级语言程序片段 Z-X+Y /把内存单元X中的数与Y中的数相加,结果存入Z单元 计算机导论(2014)
计算机导论(2014) 5.1.3 高级语言 高级语言的特点 由自然语言和数学公式表示的语言。 是一种独立于机器硬件的语言。 高级语言程序需要编译后才能执行。 高级语言程序片段 Z=X + Y //把内存单元X中的数与Y中的数相加,结果存入Z单元
5.1.3高级语言 +常用高级语言 +FORTRAN语言 →FORTRAN是FORmula TRANslator(公式翻译器)的缩写。 →主要用于复杂的科学计算领域。 ◆ALGOL语言 +ALGOL是ALGOrithm Language(算法语言)的缩写。 +主要用于数学与科学计算。 计算机导论(2014)
计算机导论(2014) 5.1.3 高级语言 常用高级语言 FORTRAN语言 FORTRAN是FORmula TRANslator(公式翻译器)的缩写。 主要用于复杂的科学计算领域。 ALGOL语言 ALGOL是ALGOrithm Language(算法语言)的缩写。 主要用于数学与科学计算
5.1.3高级语言 ↓常用高级语言 +COBOL语言 +COBOL是COmmon Business-Oriented Language(面向商业的 通用语言)的缩写。 ◆主要用于企业管理和事务处理。 ·BASIC语言 BASIC Beginner's All-purpose Symbolic Instruction Code( 学者通用符号指令码)的缩写。 ◆主要用于初学者和较小规模的程序开发。 计算机导论(2014)
计算机导论(2014) 5.1.3 高级语言 常用高级语言 COBOL语言 COBOL是COmmon Business-Oriented Language(面向商业的 通用语言)的缩写。 主要用于企业管理和事务处理。 BASIC语言 BASIC是Beginner’s All-purpose Symbolic Instruction Code(初 学者通用符号指令码)的缩写。 主要用于初学者和较小规模的程序开发
5.1.4结构化程序设计语言 +早期程序设计方法的不足 ·注重功能的实现/注重内存的节省/注重执行效率的提高。 ·不注重程序结构的清晰性。 ·不注重程序的可理解性和可修改性。 +结构化程序设计语言的特点 ·注重程序结构的清晰性。 ·注重程序的可理解性和可修改性。 ·采用模块化程序设计方法。 计算机导论(2014)
计算机导论(2014) 5.1.4 结构化程序设计语言 早期程序设计方法的不足 注重功能的实现/注重内存的节省/注重执行效率的提高。 不注重程序结构的清晰性。 不注重程序的可理解性和可修改性。 结构化程序设计语言的特点 注重程序结构的清晰性。 注重程序的可理解性和可修改性。 采用模块化程序设计方法
5.1.4结构化程序设计语言 +常用结构化程序设计语言 +PASCAL语言 →是在ALGOL语言的基础上发展起来的。 →以法国著名科学家帕斯卡的名字命名。 →严格的语法格式与结构化形式。 ◆C语言 →是在ALGOL60语言的基础上发展起来的。 →兼具低级语言和高级语言的特点。 ◆是最为流行的程序设计语言之一。 计算机导论(2014)
计算机导论(2014) 5.1.4 结构化程序设计语言 常用结构化程序设计语言 PASCAL语言 是在ALGOL语言的基础上发展起来的。 以法国著名科学家帕斯卡的名字命名。 严格的语法格式与结构化形式。 C语言 是在ALGOL60语言的基础上发展起来的。 兼具低级语言和高级语言的特点。 是最为流行的程序设计语言之一
5.1.5面向对象程序设计语言 +结构化程序设计方法的不足 面向过程的设计方法与人们习惯的思维方式仍然存在一 定的距离,所以很难自然、准确地反映真实世界,因而 用编写出来的程序,特别是规模比较大的程序,其质量 是难以保证的。 强调了要实现功能的操作方法(模块),而被操作的数 据(变量)处于实现功能的从属地位,即程序模块和数 据结构是松散地耦合在一起,当程序复杂度较高时,容 易出错,而且错误难以查找和修改。 计算机导论(2014)
计算机导论(2014) 5.1.5 面向对象程序设计语言 结构化程序设计方法的不足 面向过程的设计方法与人们习惯的思维方式仍然存在一 定的距离,所以很难自然、准确地反映真实世界,因而 用编写出来的程序,特别是规模比较大的程序,其质量 是难以保证的。 强调了要实现功能的操作方法(模块),而被操作的数 据(变量)处于实现功能的从属地位,即程序模块和数 据结构是松散地耦合在一起,当程序复杂度较高时,容 易出错,而且错误难以查找和修改