2019-2020-1学期 20202413 《网络空间安全专业导论》第三周学习总结
2019-2020-1学期 20202413 《网络空间安全专业导论》第三周学习总结
第六章:低级程序语言与伪代码
一、计算机操作
- 计算机的定义:计算机是能够存储(store)、检索(retrieve)和处理(process)数据的可编程(programmable)电子设备
二、机器语言
- 机器语言:由计算机直接使用的二进制编码指令构成的语言
1、Pep/9:一台虚拟机
- 虚拟机:为了模拟真实机器的重要特征而设计的假想机器
- Pep/9的基本特征
- 指令格式
-
一条指令由两部分组成,即8位的指令说明符(instruction specifier)和(可选的)16位的操作数说明符(operand specifier)
-
寻址位置说明符:表示了怎样解析指令中的操作数部分
特别的,没有操作数的指令称为一元指令
- 一些示例指令
2、Pep/9的输入/输出
三、一个程序实例
1、Pep/9模拟器
- 遵守读取-执行周期
2、另一个机器语言实例
四、汇编语言
-
汇编语言(assembly language):一种低级语言,用助记码表示特定计算机的机器语言指令
-
汇编器(assembler):把汇编语言程序翻译成机器代码的程序
1、Pep/9汇编语言
汇编语言编程还支持汇编器指令
2、数字数据、分支、标签
-
分支(branch):指出执行下一条指令的指令
-
标签(label):对内存位置起的名字,可以将这个名字当做操作数
3、汇编语言中的循环
五、表达算法
-
算法(algorithm):解决方案的计划或纲要,或解决问题的逻辑步骤顺序
-
伪代码(pseudocode):一种表达算法的语言
1、伪代码的功能
-
变量
-
赋值
-
输入/输出
-
选择
-
重复
2、执行伪代码算法
3、写伪代码算法
- 桌面检查:在纸上走查整个设计
4、翻译伪代码算法
六、测试
-
代码覆盖测试法(明箱测试法)
-
数据覆盖测试法(暗箱测试法)
第七章:问题求解与算法设计
一、如何解决问题
1、提出问题
2、寻找熟悉的情况
3、分治法
4、算法
5、计算机问题求解过程
6、方法总结
-
分析问题
-
列出主要任务
-
编写其余模块
-
根据需要进行重组和改写
7、测试算法
二、有简单变量的算法
1、带有选择的算法
2、带有循环的算法
-
计数控制循环
-
事件控制循环
3、平方根
三、复杂变量
1、数组
2、记录
四、搜索算法
1、顺序搜索
2、有序数组中的顺序搜索
3、二分检索
- 二分检索(binary search):在有序列表中查找项目的操作,通过比较操作排除大部分检索范围
五、排序
1、选择排序
2、冒泡排序
3、插入排序
六、递归算法
- 递归(recursion):算法调用它本身的能力
1、子程序语句
2、递归阶乘
3、递归二分检索
4、快速排序
七、几个重要思想
1、信息隐蔽
2、抽象
3、事物命名
4、测试
总结
第六、七章的内容很抽象很复杂,对于初学者的我而言存在很大的挑战。在经过研读教材、上网查找资料以及与同学交流后,仍然感到有点摸不着头脑。看来我的学习之路任重而道远。