第六章
6.1
程序设计语言都必须反映出计算机能够执行的操作类型
计算机是能够存储 检索 处理数据的可编程的电子设备
要改变计算机对数据的处理,只需要改变指令即可
存储 检索 处理是计算机能够对数据执行的动作。控制单元执行的指令能够把数据存储到机器的内存中,在机器内存中的检索数据,在算术逻辑的单元以某种凡是处理数据
处理涉及在数据之上执行算术和逻辑操作
6.2
机器语言:由计算机直接使用的二进制编码指令构成的语言
每个处理器都有自己专用的机器指令集合,这些指令时处理器唯一真正能执行的指令
由于指令数量有限,设计者就列出所有的指令,给每个指令分配一个二进制代码来表示他们
每一部分软件实际上是用机器代码实现的
机器代码因机器不同而不同,每一种机器也同样有一个特定的能够被执行的操作集合
虚拟机:为了模拟真是机器的重要特征而设计的假想机器
累加器用来保存操作的数据和结果
一条指令由两部分组成,即8位的指令说明符和(可选的)16位的操作数说明符
指令说明符说明了要执行什么操作和如何解释操作数的位置
操作数说明符存放的是操作数本身或者操作数的地址
有些指令没有操作数说明符
寻址模式是立即寻址,即要被载入寄存器A中的值在操作数说明符中
6.4
汇编语言给每条机器语言指令分配了一份助记指令码,用这些指令码代替二进制数字
汇编器:把汇编语言程序翻译成机器代码的程序
每个指令都要先存储到内存中,然后才能执行
6.5
算法:解决方案的计划或概要,或解决问题的逻辑步骤顺序
伪代码:一种表达算法的语言
双引号之间的字符叫做字符串,告诉了用户要输入或输出什么
选择结构可以执行或跳过某项操作,还可以在两项操作之间进行选择
重复结构可以重复执行指令
布尔表达式:评价为真或假的表达式
6.6
测试计划:说明如何测试程序的文档
明箱测试法/代码覆盖测试法:通过执行代码中的所有语句测试程序或子程序的方法
暗箱测试法/数据覆盖测试法:把代码作为一个暗箱,基于所有可能的输入数据测试程序或子程序的测试方法
寻址模式是直接寻址,说明操作数本身并不在操作数说明符中,而是操作数说明符存储了操作数驻留在内存中的地址
第七章
算法:在有限的时间内用有限的数据解决问题或子问题的明确指令集合
计算机求解过程包括四个阶段:分析和说明阶段,算法开发阶段,实现阶段,维护阶段
嵌套结构:控制结构嵌入另一个控制结构的结构
抽象步骤:细节认为明确的算法结构
具体步骤:细节完全明确的算法结构
数组是同构项目的有名集合,可以通过单个项目在集合中的位置访问他们
项目在集合的位置称为索引
多数程序语言从0开始
记录是异构项目的有名集合,可以通过名字单独访问其中的项目
二分检索:在有序列表中查找项目的操作,通过比较大小操作排除大部分检索范围
递归:算法调用它本身的能力
每个递归算法至少有两种情况:
1.基本情况:答案已知的情况
2.一般情况:调用自身来解决问题的更小版本的解决方案
信息隐蔽:隐蔽模块的细节以控制对这些细节访问的做法
数据抽象:把数据的逻辑视图和它的现实分离开
过程抽象:把动作的逻辑视图和他的现实分离开
控制抽象:把控制结构的逻辑视图和它的现实分离开
控制结构:用于改变正常的顺序控制流的语句
给数据和过程一个名字:这些名字叫做标识符
动作和数据的标识符都是抽象的一种形式
问题:P106 1100将操作数载入寄存器A中寻址模式位直接寻址的程序过程
P115 具有分支程序的含义