2021-2022-1 20211420《信息安全专业导论》第四周学习总结
作业信息
|作业属于|2021-2022-1信息安全专业导论
|作业要求|2021-2022-1信息安全专业导论第四周作业
|班课作业链接|
在python中实现BASE64编码
阿拉伯数字和罗马数字互转
IEEE754浮点数的转换
图像处理
教材学习内容总结
第四章
在本章中我学习了计算机与电学相关的内容,其中的布尔代数,逻辑框图与真值表对设计电路非常有帮助
这一张的门与电路紧密联系,电路是由门组成的,因而电路能实现多种逻辑运算。
- 门:分六种
- 非门:输入1输出0:;输入0输出1( X=A')
- 与门:只有两值(输入A,B)为1时,输出为1(X=A·B)
- 或门:只有两值(输入A,B)为0时,输出为0(X=A+B)
- 异或门:只有两值输入相同时输出为0(X=A⊕B)
- 与非门:与门的对立门,输出相反(X=(A·B)')
- 或非门:或门的对立门,输出相反(X=(A+B)')
- 具有更多输入的门:定义与具有两个输入的门一致
- 门的构造
- 晶体管:传导电流(电线),阻止电流(电阻器)
晶体管由半导体制成,通常使用硅 - 利用晶体管制造门(最容易创建的门如下图)
- 晶体管:传导电流(电线),阻止电流(电阻器)
非门 | 与非门 | 或非门 |
---|---|---|
其中非门的图解几乎与原始晶体管图解一样
就拿其中一个例子来说,非门的输入端为源极,输出端为Vout。输入端为1时,Vin接通,此时接地,所以输出端为0;反之则输出为1,利用这种原理也可以解释与非门和或非门
- 电路:分组合电路和时序电路
1.组合电路
电路等价:可以利用数学法则设计逻辑电路
布尔代数的一些性质
性质 | 与 | 或 |
---|---|---|
交换律 | AB = BA | A + B = B + A |
结合律 | (AB)C = A(BC) | ( A + B ) + C = A + ( B + C ) |
分配律 | A(B+C) = (AB) + (AC) | A + (BC) = ( A + B )( A + C ) |
恒等 | A1 = A | A + 0 = A |
补 | A(A') = 0 | A + (A)' = 1 |
德·摩根定律 | (AB)' = A' OR B' | ( A + B )' = A'B' |
2.加法器
加法器:对二进制值执行加法运算的电路
半加器:计算两个数位的和并生成正确进位的电路
但是半加器不能计算多于两个位数的和,这时需要用到全加器
全加器:由两个及以上的半加器构成,计算两个及多于两个位数的和并考虑进位输入的电路,简图如图
一个简单的全加器的布尔表达式
和 = A⊕B(异或门)
进位 = AB(与门)
多路复用器:生成单个信号的通用电路(根据选择信号或选择控制线选择用哪个输入信号作为输出信号)
多路分配器:执行多路复用器相反操作的电路
3.存储器电路:存储信息的电路构成时序电路
S-R锁存器
无论什么情况,只要S'和R'的值都为1,电路就保持为当前状态。
- 集成电路:芯片,嵌入了多个门的硅片
- SSI芯片:只有几个独立的门
- 最重要的集成电路:中央处理器(CPU),每个CPU芯片都有大量引脚,所有通信都通过引脚完成
第五章
这一章讲了独立的计算机部件,储存程序的概念(特别讲了冯·诺伊曼体系结构),读取-执行周期,嵌入式系统以及并行体系结构,自学比较较多,因此记在了Markdown笔记本上了
看漫画学python
通过学习第四章,学会了使用算术运算符,比较运算符,逻辑运算符,位运算符,赋值运算符,以及了解了运算符优先级
特别强调:=是赋值符号,==是比较运算符
在位运算优先级中:优先级从高到低为算术运算符→位运算符→关系运算符→逻辑运算符→赋值运算符
教材学习中的问题和解决过程
问题1:在学习加法器时,不理解全加器的构造原理和工作原理
解决过程:翻阅李忠的《穿越计算机的迷雾》,在里面找到了加法器相关的一些知识,进而明白原理,下图是相关资料,根据这部分资料,就很轻松地明白了这些原理
问题2:在做图像处理时,不知道该从哪里开始下手
解决过程:到网上查找了许多资料,查看了许多有关图像处理的文章,并且学习了与图像处理相关的代码如def()函数和return,之后再去理解有关代码的含义
代码调试中的问题和解决过程
问题:在做图像处理时不会改变二维数组的数据
解决过程:首先我查询了line()函数的用法,然后通过代码调试证明了line()函数是可以改变二维数组的数值,从而达到划线的目的。在此基础上,我自己也再深度了解了列表中套列表的用法,及定义一个列表list,那么list[0][0]的含义就是list列表中第一个列表中的第一个元素。通过这两种方法,我能够改变二维数组的值并且实现在图像中显示一条直线。
代码调试
具体代码调试见上文班课作业链接
上周考试错题总结
无
学习感受
通过这周的学习,我感受到自学能力的重要性,比如老师布置的一个作业看起来你只需要参考老师所给的链接就能完成,实际上我完成一个项目需要参考6,7篇文章甚至是10篇左右才能把原理搞明白,所以在接下来几周的学习中,我会更加努力去培养自己的自学能力。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 50/50 | 4/4 | 20/20 | |
第二周 | 100/150 | 2/6 | 15/35 | |
第三周 | 150/300 | 2/8 | 12/47 | |
第四周 | 1000/1300 | 5/13 | 36/83 |
计划学习时间:30小时
实际学习时间:36小时
改进情况:本周我的阅读教材的速度有所提升,但是在寻找资料上还是有点不足,所以接下来我会重点训练查找资料的能力
参考资料
《计算机科学概论》
[《看漫画学Python》]
[《Python从入门到精通》]----明日科技,清华大学出版社
[《穿越计算机的迷雾》第二版]----李忠