浙江大学大学计算机基础
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序设计语言的发展历史
6.4 程序的程序:翻译系统
?基本概念
l 源程序 Resource Program 用高级语言编写的程序
l 目标程序 Object Program 源程序经过翻译,成为机器可执行的机器语言程序
l 库文件
由一些标准子程序 (函数和过程)及常用的应用程序 块组成的文件
l 可执行程序 目标程序与库文件连接后形成的程序
? 机器指令的信息 l 操作类型:如加法、访问存储器、输入输出操作等 l 操作数或操作数的地址(操作数的存储地址) l 操作结果的存储地址 l 下一条指令的地址信息
? 指令格式
操作码
操作数或地址码 下一条指令的地址
机器语言和指令
?指令的例子: 数1和3的相加
l 指令
0000 0101 00000 00000
l 一个CPU 能够执行的所有指令的集合 l 指令的主要类型
数据传输类
将数据从一个地方(源)传输到另外一个地方(目的) 一般把“取出”操作叫做“读”(Read ),把“存入”操 作叫做“写”(Write ) 传输的数据长度为字节或字节的倍数,如16 、32 、64 位等
算术逻辑类
基本的算术运算和逻辑运算、比较运算(是否相等、大于、小于等 )
l 面向过程 (强制性语言) l 面向对象
BASIC ( Microsoft )
C
( 贝尔实验室 )
Pascal ( 教学语言 )
Fortran ( IBM, 1957 )
COBOL ( 商用语言 )
Ada
Visual Basic C++ Java ( Sun ) Delphi ( PowerSoft ) Power Build ( Borland ) Python
l XML ( Extensible ML) 可扩展标记语言
Байду номын сангаас? 其它语言
l 如 SQL ( 结构化查询语言)
基于组件的程序设计
?基于组件的程序设计是微软提出的思想 ?COM (Component Object Model ,组件对象模型)
l 组件技术属于面向对象的程序设计技术 l COM 也叫中间件 l 通过组件 “组装”软件 l 快速开发、降低成本、增加程序灵活性 l 软件开发技术的主流方向
l 程序的整个处理过程
源程序 翻译 目标程序
和库文件 连接
可执行程序
装入 执行
6.2 程序和指令
?指令 instruction l 计算机执行的最基本的操作 如:处理器从内存中读取一个数据 二进制的算术运算加、减、乘、除 逻辑判断等
l 计算机处理器能执行的 二进制代码 ?指令作为计算机软件和硬件的接口
l 指令在处理器中 以逻辑电路实现
硬件
指 令
软件
?指令系统 Instruction Set
控制操作类
改变程序的执行顺序:有条件转移、无条件转移
6.3 程序设计语言
?计算机语言的 级别 根据它们和机器的 密切程度划分的:越接近机器的 语言级别越低,越远离机器的语言越“高级”
l机器语言
低级语言
l汇编语言
中级语言
l面向过程的 高级语言
l面向对象的 高级语言
机器语言和指令
?机器语言 Machine Language l 计算机能直接执行的程序设计语言 l 二进制语言 ,用二进制机器指令来编写程序
面向对象程序设计
? 程序的基本成分 l 对象 是具有特殊 属性(数据) 和方法(行为、操作)的实体
? 特点 l 封装 Encapsulation
把对象的属性和操作结合在一起,构成一个独立体
l 继承 Inheritance
子类可以拥有父类的属性和行为
l 多态性 Polymorphism
某些对象可以有多种操作行为 对象的行为可以同名,OOP 可以根据使用环境加以区分
? 指令格式 助记符 符号地址
l 例:加法语句 ADD A,B ? 特点
l 可读性好 l 机器不能直接识别 l 面向机器,兼容性差,移植性差 l 中级语言
高级语言 Higher-level Language
?与机器指令系统无关 、表达形式更接近于被描述的问 题
?特点
l 面向问题,通用,可移植
?分类
? 程序设计 是软件开发的一部分
l 程序设计分解为几个步骤 l 程序设计需要使用程序设计语言
? 算法设计
l 算法解决特定问题的方法和步骤
软件开发的核心工作是算法设计
6.1 概述
?程序和软件是两个不同的概念 l 程序 算法的实现 l 软件 程序加上该程序的文档 如 :readme.txt
?程序设计中,首先寻找算法,算法找到后,实现算法 的步骤
?算法是程序设计的基础 ?可视化程序设计 成为今天程序设计的主流
6.2 程序和指令
?程序 program l 程序是算法( 解决问题的步骤 )的实现 程序:算法+语言
l 计算机执行某种任务的一系列操作步骤 l 一组计算机指令的有序集合 ?程序的执行 l 按步骤执行 l 例:一个加法程序的步骤为:
? 输入被加数和加数 ? 进行加法运算 ? 将加法运算得到的结果即和数输出
“加”操作码
Number1 :1
Number 2 :3
l 指令长度为 5个字节
l 实现过程 用计算器 计算机 程序 过程
l 一条指令的执行过程
? 特点
l 既简单又难
l 执行速度最快
l 面向机器,兼容性差,移植性差 ,最低级语言
汇编语言 Assemble Language
?机器语言的“ 符号化” l 用比较容易记忆的文字符号 (助记符)表示指令中的 操作码和地址码
第6 章 语言、程序和软件
6.1 概述 6.2 程序和指令 6.3 程序设计语言 6.4 程序的程序:翻译系统 6.5 高级语言的概念 6.6 怎样编程 6.7 软件工程
软件 程序 算法
6.1 概述
?计算机完成各种 不同的任务 ,需要 不同的软件
? 软件开发 是一个过程,任务之一
l 选择一种计算机语言 l 使用这个语言编写完成任务的代码 最终得到的代码就是程序
? 函数型语言
其它语言
l LISP
l Scheme
? 说明性语言
l 逻辑语言,用于根据逻辑推理的原则回答问题 l Prolog ( Programming in Logic )
?超文本标记语言 ( Hypertext Markup Language, HTML)
l 由一种格式标记和超链接组成的“伪语言”,主要用于网 络上的信息服务