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

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

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

一、计算机操作

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

二、机器语言

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

1、Pep/9:一台虚拟机

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

  1. 指令格式

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

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

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

  1. 一些示例指令

2、Pep/9的输入/输出

三、一个程序实例

1、Pep/9模拟器

  • 遵守读取-执行周期

2、另一个机器语言实例

四、汇编语言

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

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

1、Pep/9汇编语言

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

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

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

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

3、汇编语言中的循环

五、表达算法

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

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

1、伪代码的功能

  1. 变量

  2. 赋值

  3. 输入/输出

  4. 选择

  5. 重复

2、执行伪代码算法

3、写伪代码算法

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

4、翻译伪代码算法

六、测试

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

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


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

一、如何解决问题

1、提出问题

2、寻找熟悉的情况

3、分治法

4、算法

5、计算机问题求解过程

6、方法总结

  1. 分析问题

  2. 列出主要任务

  3. 编写其余模块

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

7、测试算法

二、有简单变量的算法

1、带有选择的算法

2、带有循环的算法

  1. 计数控制循环

  2. 事件控制循环

3、平方根

三、复杂变量

1、数组

2、记录

四、搜索算法

1、顺序搜索

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

3、二分检索

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

五、排序

1、选择排序

2、冒泡排序

3、插入排序

六、递归算法

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

1、子程序语句

2、递归阶乘

3、递归二分检索

4、快速排序

七、几个重要思想

1、信息隐蔽

2、抽象

3、事物命名

4、测试



总结

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

posted @ 2020-10-26 20:43  20202413马惟敏  阅读(140)  评论(0编辑  收藏  举报