2020-2021—1学期20212314《网络空间安全导论》第三周学习总结

2020-2021—1学期20212314《网络空间安全导论》第三周学习总结

第六章学习收获

1. 计算机操作

  • 计算机是能够存储、检索和处理数据的可编程电子设备。存储、检索和处理是计算机能够对数据执行的动作。

2. 机器语言

  • 计算机真正执行的程序设计指令是用机器语言编写的指令。大多数程序是用高级语言编写的,然后翻译成机器语言。

3. Pep/p:一台虚拟机

  • 机器代码因机器的不同而不同,每种类型的CPU都有它能理解的自己的机器语言。

  • 虚拟机:为了模拟真实机器的重要特征而设计的假想机器。

    • 1.Pep/9的基本特性
      Pep/9有七个寄存器,书中重点研究三个:

      • 程序计数器(PC):其中包含下一条即将被执行的指令的地址。

      • 指令寄存器(IR):其中包含正在本质性的指令的一个副本。

      • 累加器(A):用来存储数据和运算的结果。

4. 指令格式

  • 指令格式:一条指令由两部分构成,即8位的指令说明符和16位的操作数说明符,因此Pep/9的指令在长度上是1字节还是3字节,取决于是否需要用操作说明符。
    image

    • Pep/9的输入/输出:
      (I/O)遵循内存映射I/O原则,与主存中特定、固定的地址相联系。使用ASCII码表示字符。

5. 汇编语言

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

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

    • 汇编器指令:翻译程序使用的指令
    • 使用Pep/9汇编语言,可以使用额外的用来展示输入和输出(I/O)数字和整个字符串的指令。这些指令实际上是由操作系统实现的。
  • 分支:指出执行下一条指令的指令。

  • 标签:对内存位置起的名字,可以将这个名字当作操作数。(程序在汇编命令和指令中使用了标签,这些标签被放在每一行的开头,之后跟着一个冒号。一旦被标上标签,该位置的数据或指令就可以通过标签进行引用,而不是引用它具体的内存地址。这也就使得程序更容易读)

5. 表达算法

  • 算法:解决方案的计划或概要,或解决问题的逻辑步骤顺序。

  • 伪代码:一种表达算法的语言。

  • 伪代码的功能:变量、赋值、输入/输出、选择、重复。

  • 布尔表达式:评价为真或假的表达式。

6. 测试
测试计划就是一个文档,说明了要全面测试程序需要运行的次数以及运行程序使用的数据。每套输入的数据值称为测试用例。

  • 代码覆盖测试法:通过执行代码中的所有语句测试程序或子程序的测试方法。

  • 数据覆盖测试法:把代码作为一个暗箱,基于所有可能的输入数据测试程序或子程序的测试方法。

  • 测试结果实现:用测试计划中规定的测试用例验证程序是否输出了预期的结果。

第七章学习收获

  1. 如何解决问题

    1. 提出问题。

    2. 寻找熟悉的情况。

    3. 分治法。

    4. 算法。

    5. 计算机问题求解过程。
      image

    6. 测试算法。

  2. 有简单变量的算法。(简单变量:指那些不能被分开的变量,是储存在一个地方的一个值)

    • 带有选择的算法

    • 带有循环的算法:

      • 计数控制循环‘使用一个特殊的变量叫做循环控制变量(loop control variable),第一部分是初始化,第二部分是测试,第三部分是增量。

      • 事件控制循环也分为三部分:事件必须初始化,事件必须被测试,事件必须更新。

      • 平方根,用一个更简单的使用适用于实数以及整数的近似算法。

    • 抽象步骤(abstract step):细节仍未明确的算法步骤。

    • 具体步骤(concrete step):细节完全明确的算法步骤。

  3. 复杂变量
    描述两种把数据收集到一起、给这个集合命名并访问其中单独的值或者作为一个集合来访问它的方法。

    • 数组:是同构项目的有名集合,可以通过单个项目在集合中的位置访问它们。项目在集合中的位置叫做索引。 与数组相关的算法分为三类:搜索、排序和处理。

    • 记录:是异构项目的有名集合,可以通过名字单独访问其中的项目。异构,指集合中的元素可以不必相同。

  4. 搜索算法

    • 顺序搜索

    • 二分检索

      • 二分检索算法假设要检索的数组是有序的,其中每次比较操作可以找到要找的项目或把数组减少一半。

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

    • 排序

      • 1.选择排序

      • 2.冒泡排序

      • 3.插入排序

    • 递归算法:当在一个算法使用它自己时,这样的算法被称为递归算法。递归:算法调用他本身的能力。

      • 子程序语句:子程序语句有两种形式,一种是指执行特定任务的命名代码,一种是不止执行任务,还返回给调用单元一个值(值返回子程序)。子程序是抽象的一种强力工具。

      • 递归阶乘

      • 递归二分检索

      • 快速排序以递归为基础

  5. 几个重要思想

image

posted @ 2021-10-17 11:30  严东波20212314  阅读(50)  评论(0)    收藏  举报