智能科学技术导论-乐昌-第04讲 程序编制.docx

智能科学技术导论-乐昌-第04讲 程序编制.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
智能科学技术导论-乐昌-第04讲 程序编制

第04讲程序编制 导语 构建了解决问题的算法,要让机器系统能够顺利运行该算法,必须采用机器能够直接处理的某种语言来编制给出算法的程序。当然,一个最为直接的编程语言就是由机器指令构成的机器语言。不过,机器指令过于繁琐且缺乏直观性,不利于描述复杂的算法。因此为了方便编程,人们构建了各种高级编程语言,同时对应构造相应的编译或解释软件,将高级编程语言描述的程序自动转化为机器指令的形式。这样,对于程序编制的一般人员而言,就可以使用高级语言来编制程序了。 第4.1节编程语言 可以用于程序编制的语言种类繁多,如果包括机器语言在内,通常按照机器系统方便处理的程度分为机器语言、汇编语言与高级语言三类。机器语言就是直接采用机器系统能够直接执行的机器指令来编制程序的一种语言。但显而易见的是,缺乏直观性理解的机器指令非常不方便,给程序的编制、特别是有一定规模的程序编制带来许多困难,明显会加重算法实现的任务复杂性。 为了克服机器语言不方便阅读的缺陷,可以为各种操作码、操作数分配各种助记符号,并用这些助记符号取代十六进制数字编码表示,采用这样表示方法形成的语言就称为汇编语言。这样,在编制程序时,程序员就可以使用这些助记符号构成的汇编语言(assembly language)来编制程序,然后再使用一种称为汇编程序(assembler)来自动将汇编语言编制的程序翻译成为机器语言表达的程序,供机器系统执行。 由于汇编语言仅仅改变的是操作码、操作数等符号的表示,因此跟机器语言一样,编制这样的程序是深深依赖于机器系统的(所提供的指令系统),于是在一种机器上可以运行的汇编语言编制的程序往往无法在另一种机器上直接运行。这个缺陷就是缺乏可移植性。汇编语言的另一个缺陷是依然没有改变机器语言原有的繁琐性,必须从最基本的机器指令基础上去考虑如何构建算法的实现程序。 为了克服汇编语言的上述局限性,开发比汇编语言更加方便编制程序的语言,各种高级程序设计语言应运而生。早期的高级语言有FORTRAN(FORmula TRANslator)应用于科学与工程、COBOL(Common Business-OritentedLanguage)应用于商业、PASCAL(以法国数学家pascal的名字命名)应用于教学等。 一般机器语言称为第一代编程语言,汇编语言称为第二代编程语言,高级语言称为第三代编程语言。与前两代编程语言不同,高级语言(high language)的最大特点就是采用更加高级的操作原语来作为程序构造的基本砌块,非常接近算法设计的伪码。 高级语言 编译程序 汇编程序 汇编语言 机器语言 汇编语言和高级语言需要经过特定的汇编程序和编译程序进行翻译,使之成为机器能够直接执行的指令,才能为机器所识别。当然它们自身也是程序,也需用某种语言写成。 高级语言程序 #include stdio.h void f(int *j); { *j = 9; }; void main() { printf(’myProgram\n); i = 1; printf(“ i=”,i); f(i); printf(“ i=“,i); } 汇编语言程序 MOV DX,OFFSET FILE MOV AL,0 MOV AH,3DH INT 21H JC OPERR MOV HANDLE,AX MOV BX,HANDLE MOV DX,OFFSET BUF MOV CX,512 MOV AH,3FH INT 21H JC READERR CMP AX,0 JE CLOSE MOV BX,AX MOV BUF [ BX ],’$’ MOV DX,OFFSET BUF MOV AH,9 INT 21H JMP READ 机器语言程序 1101101011000100010110001 1000010010110110100010101 0111110110010101110010111 0111101100000010011100101 0110011101010101110010101 0010101010100010110001101 1011101110010110001101011 1001011010110001101010011 1110101010101001001001011 1010001110010101100011001 0110001100110010101010101 0000001111001011011111001 0110000101111111100101100 1011101010101010100010101 111110010100100101110010 编程语言之间的转化:编译、解释与汇编 除了独立于具体的机器,高级语言的主要特点就是面向人类思维特性来进行程序的编

文档评论(0)

zyongwxiaj8 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档