网络空间安全导论 20212305杨贯宇 第三周学习总结

低级程序

机器语言是让计算机直接执行程序设计的。每一条机器语言只可以完成简单的操作,如移动内存,保存结果等。很繁琐,故几乎没有程序是由机器语言编写的,而大多是高级语言。

每个CPU都因为其机器的不同而拥有不同的机器语言。故我们可以使用虚拟机来解决这个问题,虚拟机是个假象的机器。

Pep、9由1024*64个字节的存储空间构成。

寄存器里有PC IR A

汇编语言给每一个机器语言都编了注记指令码,让程序员可以通过指令码来编写程序,但是最后汇编语言都会转化为机器语言而在机器上完成。

寻址模式(i(立即寻址)(d(直接寻址))

 

伪代码:

一种可以无视各种高级语言语法,直接表达意思的计算机语言,不像python c++可以编译,执行,但是便于理解与程序员之间的沟通

一些概念:
变量:

不用定义,直接写就可以,sum就代表和,i,t什么的迭代递归时使用的变量基本上不会有

赋值

sum<-0   //将sum赋值为0

箭头代表赋值

输出

write//代表输出

不用printf,cout>>,print()啥的

重复

while(条件)

选择

if

如此就基本上可以完成计算机的大部分运算

 

代码的测试:
测试计划 即一个文档 说明了要全面测试的程序及数据

代码覆盖测试法

数据覆盖测试法 代码为暗箱,基于数据测试

测试计划实现 即完成了目标

 

 

问题求解与算法设计:

解决问题四步:

理解问题

设计方案

执行方安

分析方案 找问题

 

排序算法我还是懂一些的

有冒泡排序。快速排序。插入排序。选择排序。二叉树排序。堆排序,。后面两个实现有些困难,不过原理都理解

 

几个重要思想:
消息屏蔽,抽象 我理解就是黑箱 只关注它有啥用,即输入输出,而忽略内部结构

 

事物命名

我应该使用有意义的命名,而非i a z b 之类只有我看得懂 的命名

posted @ 2022-01-06 14:58  20212305杨贯宇  阅读(21)  评论(0编辑  收藏  举报