第六章:低级程序语言与伪代码

一、计算机操作

  • 计算机的定义:计算机是能够存储(store)、检索(retrieve)和处理(process)数据的可编程(programmable)电子设备

二、机器语言

  • 机器语言:由计算机直接使用的二进制编码指令构成的语言

1、Pep/9:一台虚拟机

  • 虚拟机:为了模拟真实机器的重要特征而设计的假想机器
  1. Pep/9的基本特征

2019-2020-1学期 20202413 《网络空间安全专业导论》第三周学习总结

  1. 指令格式

2019-2020-1学期 20202413 《网络空间安全专业导论》第三周学习总结

  • 一条指令由两部分组成,即8位的指令说明符(instruction specifier)和(可选的)16位的操作数说明符(operand specifier)

  • 寻址位置说明符:表示了怎样解析指令中的操作数部分

2019-2020-1学期 20202413 《网络空间安全专业导论》第三周学习总结

特别的,没有操作数的指令称为一元指令

  1. 一些示例指令

2019-2020-1学期 20202413 《网络空间安全专业导论》第三周学习总结

2、Pep/9的输入/输出

三、一个程序实例

1、Pep/9模拟器

  • 遵守读取-执行周期

2、另一个机器语言实例

四、汇编语言

  • 汇编语言(assembly language):一种低级语言,用助记码表示特定计算机的机器语言指令

  • 汇编器(assembler):把汇编语言程序翻译成机器代码的程序

1、Pep/9汇编语言

2019-2020-1学期 20202413 《网络空间安全专业导论》第三周学习总结

汇编语言编程还支持汇编器指令

2019-2020-1学期 20202413 《网络空间安全专业导论》第三周学习总结

2、数字数据、分支、标签

  • 分支(branch):指出执行下一条指令的指令

  • 标签(label):对内存位置起的名字,可以将这个名字当做操作数

3、汇编语言中的循环

五、表达算法

  • 算法(algorithm):解决方案的计划或纲要,或解决问题的逻辑步骤顺序

  • 伪代码(pseudocode):一种表达算法的语言

1、伪代码的功能

  1. 变量

  2. 赋值

  3. 输入/输出

  4. 选择

  5. 重复

2019-2020-1学期 20202413 《网络空间安全专业导论》第三周学习总结

2、执行伪代码算法

3、写伪代码算法

  • 桌面检查:在纸上走查整个设计

4、翻译伪代码算法

六、测试

  1. 代码覆盖测试法(明箱测试法)

  2. 数据覆盖测试法(暗箱测试法)


第七章:问题求解与算法设计

一、如何解决问题

2019-2020-1学期 20202413 《网络空间安全专业导论》第三周学习总结

1、提出问题

2、寻找熟悉的情况

3、分治法

4、算法

5、计算机问题求解过程

2019-2020-1学期 20202413 《网络空间安全专业导论》第三周学习总结

6、方法总结

  1. 分析问题

  2. 列出主要任务

  3. 编写其余模块

  4. 根据需要进行重组和改写

7、测试算法

二、有简单变量的算法

1、带有选择的算法

2、带有循环的算法

  1. 计数控制循环

  2. 事件控制循环

3、平方根

三、复杂变量

1、数组

2、记录

四、搜索算法

1、顺序搜索

2、有序数组中的顺序搜索

3、二分检索

  • 二分检索(binary search):在有序列表中查找项目的操作,通过比较操作排除大部分检索范围

五、排序

1、选择排序

2、冒泡排序

3、插入排序

六、递归算法

  • 递归(recursion):算法调用它本身的能力

1、子程序语句

2019-2020-1学期 20202413 《网络空间安全专业导论》第三周学习总结

2、递归阶乘

3、递归二分检索

4、快速排序

七、几个重要思想

1、信息隐蔽

2、抽象

2019-2020-1学期 20202413 《网络空间安全专业导论》第三周学习总结

3、事物命名

4、测试


2019-2020-1学期 20202413 《网络空间安全专业导论》第三周学习总结

2019-2020-1学期 20202413 《网络空间安全专业导论》第三周学习总结


总结

第六、七章的内容很抽象很复杂,对于初学者的我而言存在很大的挑战。在经过研读教材、上网查找资料以及与同学交流后,仍然感到有点摸不着头脑。看来我的学习之路任重而道远。

相关文章: