2020-2021学期20202401金丁《网络空间安全专业导论》第三周自学总结

《网络空间安全专业导论》第三周自学总结

第6章 低级程序设计语言与伪代码

机器语言是最低等级的编程语言。而伪代码能够表示算法。

6.1 计算机操作

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

6.2 机器语言
机器语言(machine language):由计算机直接使用的二进制编码指令构成的语言。

计算机必须参考的命令的真实清单并不存在,源于CPU嵌有相关指令。每条机器语言指令只能执行一个非常低级的任务。目前几乎没有程序是用机器语言编写的。

每种类型的CPU都有它能理解的自己的机器语言。

2. 虚拟机Pep/9的重要特性

虚拟机(virtual computer(machine)):为了模拟真实机器的重要特征而设计的假象机器。

虚拟机Pep/9的内存单元由65536字节的储存空间构成。Pep/9的字长是2字节或16位。其可以表示的十六进制数的返回约为-7FFF到+7FFF.其拥有七个寄存器,其中包括:

程序记数器(PC),其中包含下一条即将被执行的指令的地址。 指令寄存器(IR),其中包含正在被执行的指令的下一个副本。 累加器(A),用来储存数据和运算的结果。

 

 

 

6.4 汇编语言
汇编语言(assembly language):一种低级语言,用助记码表示特定计算机的机器语言指令。
汇编器(assembler):把汇编语言程序翻译成机器代码的程序。
汇编器指令(assembler directive):翻译程序使用的指令。

有时也被称伪操作(pseudo-operation)。

注释(comment):为程序读者提供的解释性文字。
分支(branch):指出执行下一条指令的指令。
标签(label):对内存位置起的名字,可以将这个名字当作操作数。
6.5 表达算法
算法(algorithm):解决方案的计划或概要,或解决问题的逻辑步骤顺序。
伪代码(pseudocode):一种表达算法的语言。

布尔表达式(Boolean expression):评价为真或为假的表达式。

桌面检查(desk checking):在纸上走查整个设计。

6.6 测试

代码覆盖测试法(code-coverage testing):通过执行代码中的所有语句测试程序或子程序的测试方法。
数据覆盖测试法(data-coverage testing):把代码作为一个暗箱,基于所有可能的输入数据测试程序或子程序的测试方法。
测试结果实现(test-plan implementation):用测试计划中规定的测试用例验证程序是否输出了预期的结果。

 

 

第7章 问题求解与算法设计

7.1 如何解决未知问题

1.提出问题。2.寻找熟悉的情况。3.分治法。4.算法。5.计算机问题求解过程

6.方法总结。7.测试算法。

7.2 带有循环的算法

嵌套结构(nested structure):控制结构另一个结构的结构,又称为嵌套逻辑(nested logic)。
抽象步骤(abstract step):细节仍未明确的算法步骤。
具体步骤(concrete step):细节完全明确的算法步骤。
7.3 复杂变量

应用中的字母叫做字符串。

数组是同构项目的有名集合,项目在集合中的位置叫做引索。

7.4 搜索算法

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

7.5 排序

7.6 递归算法

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

每个递归算法至少由两种情况:基本情况和一般情况。基本情况是答案已知的情况;一般情况则是调用自身来解决问题的更小版本的解决方案。因为一般情况下解决的是原始问题越来越小的版本,所以程序最终达到基本情况,即答案是已知的,所以递归停止。

7.7 几个重要思想

信息隐蔽(information hiding):隐蔽模块的细节以控制对这些细节的访问的做法。
抽象(abstraction):复杂系统的一种模型,只包括对观察者来说的必须细节。
数据抽象(data abstraction):把数据的逻辑视图和它的现实分离开。
过程抽象(procedural abstraction):把动作的逻辑视图和它的现实分离开。
控制抽象(control abstraction):把控制结构的逻辑视图和它的现实分离开。
控制结构(control structure):用于改变正常的顺序控制流的语句。

 

posted on 2020-10-29 22:05  202401  阅读(95)  评论(0编辑  收藏  举报

导航