第六章 低级程序设计语言与伪代码
1、计算机操作
◆计算机是能够储存、检索和处理数据的可编程的电子设备
2、机器语言
◆pep/8有七个寄存器,重点研究:
程序计数器(PC),其中包含下一条即将被执行的指令的地址
指令寄存器(IR),其中包含正在被执行的指令的一个副本
累加器(是一个寄存器),是用来保存操作的数据和结果
◆一个字节能够表示的最大十进制数是255,用二进制表示是11111111,用十六进制表示是FF。一个字(16位)能够表示的最大十进制数是65535,用二进制表示是1111111111111111,用十六进制表示是FFFF。
◆一条指令由两部分组成,即8位的指令说明符和(可选的)16位操作数说明符
指令说明符说明了要执行什么操作和如何解释操作数的位置
操作数说明符存放的是操作数本身或者操作数的地址
◆指令说明符的格式
指令说明符的格式根据表示一个具体操作所用的比特数的不同而不同
4比特操作码的第5位用来指定使用哪个寄存器
3比特的寻址模式说明符表示了怎样解析指令中的操作数部分。寻址模式为000,那么指令的操作数说明符中储存的就是操作数,称为立即寻址;寻址模式为001,那么操作说说明符中储存的是操作数所在的内存地址名称,称为直接寻址。
◆一些实例指令
0000 停止执行
1100 将操作数载入寄存器A中
1110 将寄存器A的内容储存到操作数中
0111 将操作数加到寄存器A中
1000 在寄存器A的值中减去操作数的值
01001 把字符输入操作数
01010 从操作数输出字符
3、伪代码
伪代码是一种表达算法的语言
◆伪代码功能
变量
赋值
输入/输出
选择
重复
第七章 问题求解与算法设计
1、计算机问题求解
(1)分析问题:理解问题、列出必须处理的信息、列出假设、开发全面的算法或通用的方案
(2)列出主要任务
(3)编写其余的模块
(4)根据需要进行重写和改写
2、有简单参数的算法
◆带有选择的算法
◆带有循环的算法
计数控制循环:可以指定过程重复的次数,这个循环的机制是简单记录过程重复的次数并且在重复再次开始前检测循环是否已经结束
事件控制循环:循环中重复的次数是由循环体自身内发生的事件控制的循环称为事件控制循环
◆复杂变量
数组:数组是同构项目的有名集合,可以通过单个项目在集合中的位置访问他们
记录:记录是异构项目的有名集合,可以通过名字单独访问其中的项目。
◆搜索算法
顺序搜索
有序数组中的顺序搜索
二分检索:在有序列表中查找项目的操作,通过比较操作排除大部分检索范围
◆排序
选择排序
冒泡排序
插入排序
◆递归算法
在一个算法中使用它自己时,这样的算法称为递归算法(递归就是算法调用它本身的能力)
3、几个重要思想
◆信息屏蔽:隐蔽模块的细节以控制对这些细节的访问的做法
◆抽象:复杂系统的一种模型,只包括对观察者来说必须的细节
数据抽象:把数据的逻辑视图和它的现实分离开
过程抽象:把动作的逻辑视图和它的现实分离开
控制抽象:把控制结构的逻辑视图和它的现实分离开
控制结构:用于改变正常的顺序控制流的语句
◆事物命名
◆测试