第六章:低级程序设计语言与伪代码
6.1计算机操作:数据需要在一开始进入计算机的存储器中,我们需要为用户找到一种方式以实时查看我们想要展示的结果。
6.2机器语言:由计算机直接使用的二进制编码指令构成的语言。每种处理器都有自己专用的机器指令集合。每条机器语言指令只能执行一个非常低级的任务。
虚拟机:为了模拟真实机器的重要特征而设计的假象机器。
程序计数器:其中包含下一条即将被执行的指令的地址。
指令寄存器:其中包含正在被执行的指令的一个副本。
累加器:用来存储数据和运算的结果。
指令说明符(指令的第一个字节):说明了要执行什么操作和如何解释操作数的位置。
操作数说明符(指令的第二和第三个字节):存放的是操作数本身或操作数的地址。
一些示例指令:
0000停止执行;1100将字载入寄存器A中;1101将字节载入寄存器A中;1110存储寄存器A中的字;1111存储寄存器A中的字节;0110将操作数加到寄存器A中;1000从寄存器A减操作数。
6.4汇编语言:一种低级语言,用助记码表示特定计算机的机器语言指令。
汇编器:把汇编语言程序翻译成机器代码的程序。
汇编器指令:翻译程序使用的指令。
分支:指出执行下一条指令的指令。
标签:对内存位置起的名字,可将这个名字当作操作数。
6.5表示算法
算法:解决方案的计划或概要,或解决问题的逻辑步骤顺序。
伪代码:一种表达算法的语言。
伪代码功能:
1、 变量:出现在伪代码算法中的名字,引用的是内存中存储值的位置。这些名字反映出它存放的值在算法中的角色。
2、 赋值:如果有了变量,就要把值放入变量的方法。
3、 输入、输出:大多数计算机程序只处理某种类型的数据,所以必须能够从外部世界向计算机中输入数据值,还有能把结果输出到屏幕上。
4、 选择:可用选择结构选择执行或跳过某项操作。
5、 重复:可重复执行指令。
桌面检查:在纸上走查整个程序。
6.6测试
测试计划:说明如何测试程序的文档。
代码覆盖(明箱)测试法:通过执行代码中的所有语句测试程序或子程序的测试方法
数据覆盖(暗箱)测试法:把代码作为一个暗箱,基于所有可能的输入数值测试程序或子程序的测试方法。
测试计划实现:用测试计划中规定的测试用例验证程序是否输出了预期的结果。
第七章、问题求解和算法设计。
7.1如何解决问题
第一步:理解问题
第二步:找到数据和未知量之间的联系,则可能需要考虑辅助问题。尊重应该得到一个解决方案。
第三步:执行方案。
第四步:分析得到的解决方案。
算法:在有限的时间内用有限的数据解决问题或子问题的明确指令集合。
嵌套结构:控制结构嵌入另一个控制结构的结构,又称为嵌套逻辑
抽象步骤:细节仍未明确的算法步骤。
具体步骤:细节完全明确的算法步骤。
二分检索:在有序列表中查找项目的操作,通过比较操作排除大部分检索范围。
递归:算法调用它本身的能力。
信息隐:隐蔽模块的细节以控制对这些细节的访问的做法。
抽象:系统复杂的一种模型,只包括对观察者来说必须的细节。
数据抽象:把数据的逻辑视图和它的实现分离开。
过程抽象:把动作的逻辑视图和它的实现分离开。
控制抽象:把控制结构的逻辑视图和它的实现分离
控制结构:用于改变正常的顺序控制流的语句。