2021-2022-1 20211418 《信息安全专业导论》第五周学习总结
作业信息
[2021-2022-1信息安全专业导论](https://edu.cnblogs.com/campus/besti/2021-2022-1fois)
[2021-2022-1信息安全专业导论第五周作业](https://www.cnblogs.com/rocedu/p/9577842.html#WEEK05)
教材学习内容总结
- 阅读《计算机科学概论》第六章(低级程序设计语言与伪代码),了解了机器语言、Pep/8等内容,能够用机器语言编写简单的程序,了解了伪代码的概念和功能等。
- 阅读《看漫画学Python》第五章(程序流程控制),了解了分支语句(if、else、elif),循环语句(while、for)和跳转语句(break、continue)等,并知道了其使用语法。
教材学习中的问题和解决过程
问题1:不能理解字、字节、字长、位、比特的区别和联系
问题1解决方案:通过上网查找资料得知:在计算机领域, 对于某种特定的计算机设计而言,字是用于表示其自然的数据单位的术语。在这个特定计算机中,字是其用来一次性处理事务的一个固定长度的位(bit)组。
一个字的位数(即字长)是计算机系统结构中的一个重要特性。
字节(Byte)是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符。一个字节存储8位无符号数,储存的数值范围为0-255。如同字元一样,字节型态的变数只需要用一个位元组(8位元)的内存空间储存。
位是数据存储的最小单位。在计算机中的二进制数系统中,位,简记为b,也称为比特,每个0或1就是一个位(bit)。
比特(BIT,Binary digit),计算机专业术语,是信息量单位,是由英文BIT音译而来。同时也是二进制数字中的位,信息量的度量单位,为信息量的最小单位。
问题2:第105页指令说明符中间第五位、寄存器说明符或操作码的第五位操作说明符前四位的作用是什么?
问题2解决方案:通过网上查找资料看到一篇博客上面有解答,引用如下:
“一条指令由两个部分组成,即8位的指令说明符和(可选的)16位的操作数说明符
指令说明符说明了要执行什么操作和如何解释操作数的位置。操作数说明符(指令存放的第二个和第三个字节)存放的是操作数本身或者是操作数的地址。有些指令没有操作说明符。
其中指令的指令说明符部分,前四位为操作码,第五位为寄存器说明符或操作码的第五位后三位为寻址模式。”
代码调试过程中的问题和解决过程
问题1: 在编写5.2.2示例代码的修改代码时发现运行结果和教材不一致
for item in range(10):
if item == 3:
break
print(item)
else:
print('For Over!')
问题1解决方案: 经过仔细理解教材和将代码重新编写,我认为此处教材有问题。在break被满足后,后面的循环和else都不能执行,输出只有012.
问题2:编写的程序在运行时出现“IndentationError: unindent does not match any outer indentation level”的错误信息
问题2解决方案:经检查发现是缩进格式不对导致,经修改就可以正常运行了。
代码托管
score = int(input("请输入一个0~100的整数:"))
if score >= 85:
print("您真优秀!")
if score < 60:
print ("您需要加倍努力!")
if (score >= 60 ) and (score < 85 ):
print ("您的成绩还可以,仍需继续努力!")
input()
score = int(input("请输入一个0~100的整数:"))
if score >= 90:
grade = 'A'
elif score >= 80:
grade = 'B'
elif score >= 70:
grade = 'C'
elif score >= 60:
grade = 'D'
else:
grade = 'F'
print("Grade = " + grade)
input()
score = int(input("请输入一个0~100的整数:"))
if score >= 60:
if score >=85:
print("您真优秀!")
else:
print("您的成绩还可以,仍需继续努力!")
else:
print("您需要加倍努力!")
input()
print ("----字符串-------")
for item in 'Hello':
print (item)
声明整数列表
numbers = [43,32,55,74]
print("----整数列表-------")
for item in numbers:
print(item)
input()
for item in range (10):
print(item)
else:
print('For Over!')
for item in range(10):
if item == 3:
break
print(item)
else:
print('For Over!')
i = 0
while i * i < 1000:
i += 1
print ("i = " + str(i))
print ("i * i = " + str(i*i))
input()
i = 0
while i * i < 10:
i += 1
print (str(i) + '' + str (i) + ' =', ii)
else:
print ('While Over!')
input()
i = 0
while i * i < 10:
i += 1
if i == 3:
break
print (str(i) + '*' + str(i) + ' =', i * i)
else:
print ('While Over!')
input()
i = 100; r = 0; s = 0; t = 0
while i < 1000:
r = i // 100
s = (i - r * 100) // 10
t = i - r * 100 - s * 10
if i == (r ** 3 + s **3 + t ** 3):
print("i = " + str(i))
i += 1
上周考试错题总结
- 逻辑运算(课上作业)中计算错误
虽然将或用加号来表示,但是在运算中仍然是将每一位都与ABX分别对应着得出结果的。
因此:
0x5E
- 0x4A
1011110
其他
本周《计算机科学概论》的章节比较难理解,也不太好实操,需要更加努力。
学习进度条
| | 代码行数(新增/累积)| 博客量(新增/累积)|学习时间(新增/累积)|重要成长|
| 第一周 | 200/200 | 2/2 | 20/20 |
|
| 第二周 | 200/400 | 2/4 | 20/40 |
|
| 第三周 | 200/600 | 2/6 | 20/60 |
|
| 第四周 | 200/800 | 2/8 | 20/80 |
|
| 第五周 | 200/1000 | 2/10 | 20/100 |
|
参考资料
《计算机科学概论》《看漫画学Python》
百度百科
https://www.cnblogs.com/zwh133/p/11720854.html