当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

南京大学:《计算机问题求解》课程教学资源(PPT课件讲稿)不同的程序设计方法

资源类别:文库,文档格式:PPTX,文档页数:39,文件大小:874.41KB,团购合买
点击下载完整版文档(PPTX)

计算机问题求解一论题1-7 不同的程序设计方法 2017年11月16日

计算机问题求解 – 论题1-7 - 不同的程序设计方法 2017年11月16日

问题1 0 我们常说“高级程序设计”,有没有与之对应的“低级”程序 设计? ·如果有,两者是什么区别? o抽象VS具体 口巨大的“细节”鸿沟

问题1 ◼ 我们常说“高级程序设计”,有没有与之对应的“低级”程序 设计? ◼ 如果有,两者是什么区别? ❑ 抽象 VS 具体 ❑ 巨大的“细节”鸿沟

Instruction pointer IP 10 *COPY AX,X 13 11*A0 x,Y· letch Instructons 12 *COPY GN1,AX· Instruction register 13 *COPY AX,CN1* *COPY 1,AX· 14@0pY2.AX· D&E Candition flag CF 20 作 (x1 21 (Y1 Data Computation register AX 22 0 (21 23 11 11 (CN1) 00 cule Central processing unit Memory 每个汇编语言的语句(大致)对应于一条机器能够 “理解”并“执行”的机器语言的“指令

每个汇编语言的语句(大致)对应于一条机器能够 “理解”并“执行”的机器语言的“指令

问题2: 程序设计语言的 “implementation (实现)”是什么意思?

问题2 任意给出一个用该语言书写的合法程序,将 其转换成可以在某台机器上可以运行的机器 语言程序

问题2 任意给出一个用该语言书写的合法程序,将 其转换成可以在某台机器上可以运行的机器 语言程序

问题3: 我们通常用什么手段 来“实现”一个程序 设计语言?

Algorithmic idea algorithm for y from I to N do (body-of-loop) Programmer programming end (human) program in high-level language MVCO.Y (move constantto location Y) LOOP:CMP N.Y (compare values at locations N and Y) Compiler compilation (software) JEQ REST (if equajumto statement labelledREST ADC 1.Y (addconstova 编译 program in A (aad-bdy-of-oop) Compilation assembly language JMP LOOP (jump back to statement labeled "LOOP") REST: (restofproram) machine code Computer execution

编译 Compilation

什么是编译器 ·一个编译器就是一个程序 Input::以某一种语言(源语言)编写的程序, Output:与input等价的、用另一种语言(目标语言)编写的程序。 源程序 编译器 目标程序 ·狭义:程序设计语言→机器代码 ▣广义:程序变换C++→C汇编 Pascal→C

什么是编译器 ◼ 一个编译器就是一个程序 ◼ Input:以某一种语言(源语言)编写的程序, ◼ Output:与input等价的、用另一种语言(目标语言)编写的程序。 ◼ 狭义: 程序设计语言 → 机器代码 ◼ 广义:程序变换 C++ → C →汇编 Pascal → C 源程序 编译器 目标程序

示例 ■程序的运行过程 口源程序 口汇编代码 口机器代码 L8B0_1: .loc 1175 cmpl s10,-20(erbp) jge LBB0_3 ##B8#2 .10d 1189 Ltmp6: while (i<10){ movl -24(%rbp),%eax a=a+1: 编译器 addl -20(srbp),%eax i++; movl %eax,-24(%rbp) .loc 1199 movl -20(%rbp),teax addl 51,,%ea× movl %eax,-20(%rbp】 .10c 1205 jmp LBB0_1

示例 ◼ 程序的运行过程 ❑ 源程序 ❑ 汇编代码 ❑ 机器代码 编译器

position initial rate 60 编译器工作流程 词法分析器 (id.1)(e)(id.2(+)id.3)()60 语法分析器 (id,1 + Void Compiler( (id,2) (id.3) 60 t 语义分析器 position (d,1 2 initial (id,2) 3 rate (id,3 inttofloat t 训 中间代玛生成器 符号表 t1 inttofloat(60) t2 id3 t1 t3 id2 t2 1d1=t3 代马优化器 t1=1d3·60.0 1识 代码生成器 LDF R2,id3 HULF2.R2,60.0 LDF R1,id2 ADDF RI.R1.R2 STF id1,R1

编译器工作流程 Void Compiler(){ LexicalAnalysis(); SyntaxAnalysis(); SemanticAnalysis(); InterCodeGen(); CodeOptimization(); AssemblyCodeGen(); }

点击下载完整版文档(PPTX)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共39页,可试读13页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有