第6讲-由机器语言到高级语言-程序编写编译_第1页
第6讲-由机器语言到高级语言-程序编写编译_第2页
第6讲-由机器语言到高级语言-程序编写编译_第3页
第6讲-由机器语言到高级语言-程序编写编译_第4页
第6讲-由机器语言到高级语言-程序编写编译_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6讲-由机器语言到高级语言-程序编写编译算法解决问题的步骤程序计算机能够理解与执行的步骤计算机语言步骤书写的规范、语法规则、标准的集合是人和计算机都能理解的语言。导语:为什么需要计算机语言?机器语言汇编语言高级语言6.1由机器语言到高级语言计算7+10并存储的程序机器语言:用二进制和编码方式提供的指令系统所编写程序的语言被称为机器语言10000110000001111000101000001010100101110000011011110100所有程序都需转换成机器语言程序,计算机才能执行指令系统:CPU用二进制和编码提供的可以解释并执行的命令的集合。10000110000001111000101100001010操作码地址码问:用机器语言编写程序存在什么问题呢?6.1.1机器语言、汇编语言与汇编程序1、机器语言指令系统机器语言计算7+10并存储的程序汇编语言源程序:是用汇编语言编出的程序。汇编程序:

是将汇编语言源程序翻译成机器语言程序的程序。用符号编写程序==翻译==机器语言程序MOVA,7ADDA,10MOV(6),AHLT1000011000000111MOVA,7操作码地址码怎样解决机器语言编写程序所存在的困难?2、汇编语言:是用助记符号编写程序的语言。汇编语言汇编语言程序处理过程—汇编符号化程序机器不能直接执行怎么办?MOVA,7ADDA,10MOV(6),AHLT汇编程序汇编语言源程序助记符号机器语言程序二进制和编码10000110000001111000101100001010100101110000011011110100由汇编程序自动转换转换执行汇编语言转换规则{

助记符号,机器指令}用助记符号书写程序的规范、语法规则、标准的集合是人和计算机都能理解的语言机器指令的集合是计算机能够理解并执行,但人理解困难的语言机器语言编制完成7+10并存储的汇编语言程序完成7+10并存储的机器语言程序执行计算7+10并存储的程序Result=7+10;Return高级语言源程序:是用高级语言编出的程序。编译程序:是将高级语言源程序翻译成机器语言程序的程序。6.1.2高级语言与编译器为什么还要提出高级语言?1、高级语言:是用类似自然语言的语句编写程序的语言。高级语言高级语言和汇编语言的差别在哪里?高级语言:机器无关性;一条高级语言语句往往可由若干条机器语言语句实现且不具有对应性汇编语言:机器相关性;汇编语言语句和机器语言语句有对应性高级语言编译器如何实现呢?2、高级语言编译器汇编程序汇编语言源程序助记符号转换执行转换规则{助记符号,机器指令}编译程序高级语言源程序变量/表达式/语句机器语言程序二进制和编码10000110000001111000101100001010100101110000011011110100转换执行高级语言编译规则机器语言编制Result=7+10ReturnMOVA,7ADDA,10MOV(6),AHLT自动转换自动转换执行转换汇编器编译器编译计算机语言与编译器--一种抽象-自动化机制示例用高级语言进行问题求解符号化,计算化再语义化自然/社会问题程序化执行化算法的结果机器级程序--机器指令运算器和控制器(CPU)-执行算法自然/社会问题的求解结果产生用0/1编码:指令和数据存储器:0/1存与取0/1化信号化存储高级语言程序编译执行化小结汇编语言程序程序执行汇编程序执行6.2高级语言(程序)的

基本构成要素认识计算机语言程序6.2高级语言(程序)的基本构成要素K=0;ForI=1to100Step1{If

I<=50

&&I>30{K=K+I;

}}保留字变量常量语句表达式“

保留字”为编译器识别和处理语句而确定的一些特定符号算术表达式示例。算术表达式的结果是一数值;A1+(B2–x1+76)*3(B2+yy4)/L3–xx3比较表达式示例。比较表达式的计算结果是逻辑“真”或“假”;Grade<90Grade>=70N4<A1+B2+20

//注:A1+B2+20为算术表达式,计算完后再与N4的值进行比较

逻辑表达式示例。逻辑表达式的计算结果是逻辑“真”或“假”;(x1>=A1)&&(B2<>y2)将表达式的计算结果赋值给一变量:赋值语句M=X>Y+50;M=(X>Y)AND(X<Y);K=K+(5*K);6.2.1常量、变量与表达式A1+(B2–x1+76)*3(+A1(*(+(-B2x1)76)3)G5=1;G6=2;G7=3;G8=4;G9=5; G9=G9+G8; G9=G9+G7; G9=G9+G6; G9=G9+G5; 6.2.2语句与程序控制G5=1;G6=2;G7=3;G8=4;G9=5; G9=G9+G8; G9=G9+G7; G9=G9+G6; G9=G9+G5; G5G6G7G8G9程序执行示例123459121415顺序结构1、顺序结构2、分支结构

IF

条件表达式{

(条件为真时运行的)程序语句序列1}ELSE

{

(条件为假时运行的)程序语句序列2}IfD1>D2

{

D1=D1-5;}Else{

D1=D1+10;}Y=50;Z=80;X=30;X=Z+Y; IfY>Z

{X=X-Y;}Else{X=X-Z;}X=X+Y; IfX>Z{X=Y;}X=X-Z;IfX>Y{X=X-Y;}分支结构6.2.2语句与程序控制Y=50;Z=80;X=30;X=Z+Y; IfY>Z

{X=X-Y;}Else{X=X-Z;}X=X+Y; IfX>Z{X=Y;}X=X-Z;IfX>Y{X=X-Y;}XYZ3050801305010050-30分支结构6.2.2语句与程序控制3、循环结构

(1)有界循环结构-ForFor

(计数器变量=

起始值

To

结束值

[增量表达式])

{

循环体的程序语句序列}Next[计数器变量]Sum=0; ForI=1to5Step1{Sum=Sum+I;}NextI//继续其他语句Sum=0; ForI=1to10000Step2{Sum=Sum+I;} NextI SumI01123364105156循环结构6.2.2语句与程序控制3、循环结构

(2)条件循环结构

–DoWhileDo

{循环体的程序语句序列}While(条件表达式);X=1;Y=2;Sum=0;Do{ Sum=X+Y;X=X+1;Y=Y+1;}While(Sum<=10)//其他语句 XYSum1202333454575696711循环结构6.2.2语句与程序控制(3)条件循环结构-WhileDoWhile(条件表达式)

Do

{循环体的程序语句序列}X=1;Y=2;Sum=0;While(Sum<0)Do{ Sum=X+Y;X=X+1;Y=Y+1;}<其他语句> 6.2.2语句与程序控制XYSum120循环结构常量变量赋值语句算术表达式比较表达式逻辑表达式表达式小结-1分支结构循环结构顺序结构高级语言自然/社会问题自然/社会问题的求解结果符号化计算化再符号化高级语言程序机器语言程序计算机器执行程序执行自动化小结-2自然/社会问题的自动化求解过程6.2.3函数与函数调用——用高级语言构造程序1、函数intSum(int

m,int

n)

{

S=m+n;

returnS; }函数名()函数返回值的类型形式参数,即在函数体中所使用的变量函数体:实现函数功能的程序段落6.2.3函数与函数调用函数是程序构造的重要手段,你知道吗?数学上的函数只是一个符号表达,而计算机程序中的函数则是一段可以执行的程序函数的定义形式参数函数体,实现函数功能的程序语句序列以形式参数作为需要处理的对象。当被调用时,用实际参数替换相应的形式参数进行程序执行。函数的调用实际参数函数的调用实际参数函数是一种抽象,用一个名字代表一个程序段落6.2.3函数与函数调用•数学运算函数,如三角函数、指数与对数函数、开方函数等;例如sin(α),Log(x)等;•数据转换函数,如字母大小写变换、数值型数字和字符型数字相互转换等;•字符串操作函数,如取子串、计算字符串长度等;例如,Len("abcd");•输入输出函数,如输入输出数值、字符、字符串等;例如,Printf(…),Scanf(…)等;•文件操作函数,如文件的打开、读取、写入、关闭等;•其它函数,如取系统日期、绘制图形等。2、系统提供的函数类别6.2.3函数与函数调用longintFact(intn){longintx; If(n>1){x=Fact(n-1); /*递归调用*/returnn*x;}elsereturn1;/*递归基础*/}程序示例-1:阶乘的递归程序如下示意6.2.3函数与函数调用你忘记了递归和迭代吗?程序示例-2:阶乘的迭代程序如下示意longintFact(intn){intc;longp=1;forc=1tonstep1{p=p*c;}/*迭代*/returnp;}ProductCounter初始值1循环第1次11循环第2次12循环第3次23循环第4次64循环第5次245循环第6次12066.2.3函数与函数调用你忘记了递归和迭代吗?3、程序构造方法

方法1----由粗到细为控制复杂性,先以函数来代替琐碎的细节,着重考虑函数之间的关系,以及如何解决问题在前一阶段考虑清楚后或编制完成后,再编写其中的每一个函数。而函数的处理同样采取这种思路6.2.3函数与函数调用程序是构造的,通常由一个或多个函数构成?函数的定义及调用示例

方法2----也可以由细到粗上一层次的函数依据下层函数来编写,确认正确后再转至更上层问题处理首先编写一些基础性的函数,并确定其正确后,再处理上一层次的问题。6.2.3函数与函数调用程序是构造的,不是编的?函

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论