2023-2024-1 20231321 王曦轶《计算机基础与程序设计》第4周学习总结

发布时间 2023-10-22 21:18:34作者: 王曦轶

2023-2024-1 20231321 《计算机基础与程序设计》第4周学习总结

作业信息

这个作业属于哪个课程 <班级的链接>(2023-2024-1-计算机基础与程序设计
这个作业要求在哪里 <作业要求的链接>(如2022-2023-1计算机基础与程序设计第4周作业)
这个作业的目标 <计算机科学概论第4章,第5章 并完成云班课测试
《C语言程序设计》第3章并完成云班课测试>
作业正文 ... 本博客链接

教材学习内容总结

一、计算机科学概论第4章

1.门电路,学习了门电路:与门、或门、异或门、与非门、或非门和异或非门。并且学习了逻辑运算以及用或非门实现其他逻辑门。
2.学习了晶体管,晶体管是实现电路中电平转换的重要工具,晶体管实现门。
3.电路由门电路组合而成,分为组合电路和时序电路。组合电路的输出值仅有输入值决定,而时序电路的输出由输入值和电路当前状态来决定。
4.继承电路和CPU芯片:集成电路是内含了众多门电路的硅片,最重要的便是CPU芯片,它是一种高级电路。
5.中央处理单元用于数据的运算。它一般由三个部分组成:算术逻辑单元(ALU)、控制单元和寄存器组。其中,算术逻辑单元负责对数据进行逻辑移位和算术运算;控制单元控制各个子系统的操作;寄存器用来存放临时数据。

《C语言程序设计》第3章

1.学习了算术运算,宏常量、const常量
2.强制转换,取余,n++与++n的区别
3.算法的描述,分析,算法设计。
4.关系运算符与关系表达式。
5.单分支、多分支、双分支。if语句,Switch语句。

教材学习中的问题和解决过程

1.为什么可以用或非门实现其他逻辑门
AI的回答:逻辑门是电子数字电路中的基本部件,常见的逻辑门有与门、或门、非门、异或门等。在实际电路中,可以使用各种不同类型的逻辑门来实现特定的功能。其中,使用或非门(Nor)实现其他逻辑门的方式被称为“转换成Nor标准式”。

转换成Nor标准式的原理是根据布尔代数的定理,将其他逻辑门的运算公式转换成包含或非门的表达式。例如,将与门的公式 A AND B 转换成Nor标准式可以得到:

A AND B = (NOT A) NOR (NOT B)

通过这个等式,我们可以使用两个或非门实现一个与门。具体实现时,先将输入信号 A 和 B 分别取反,然后再将其接到两个或非门的输入端,最后将这两个或非门的输出连接起来即可。

类似地,还可以将或门、非门和异或门等逻辑门转换成或非门的组合电路。这种实现方式简化了数字电路设计的复杂度,方便了逻辑门的集成、编程和维护等工作。

需要注意的是,虽然使用或非门实现其他逻辑门的方式很方便,但这并不意味着在实际电路设计中一定要使用或非门来实现逻辑功能。在不同的应用场合下,不同类型的逻辑门有着不同的优势和劣势,需要综合考虑电路的功耗、速度、可靠性和成本等因素来选择合适的逻辑门。
通过学习,用NOR(x,y)实现NOT(x),AND(x,y),OR(x,y),XOR(x,y)
用NOR实现NOT,使用两个相同的来执行NOR,x | NOR(x, x) = NOT(x)
用NOR实现AND,将两个输入分别连接到一个NOR门上,然后将这个NOR门的输出再次连接到另一个NOR门的输入上,x | y | AND(x, y) = NOR(NOR(x, y), NOR(x, y))
用NOR实现OR,将两个输入分别连接到一个NOR门的输入上,x | y | OR(x, y)
用NOR实现XOR,将两个输入分别连接到一个NOR门的输入上,并将这两个输入作为另一个NOR门的输入,x | y | OR(x, y) = NOR(NOR(x, x), NOR(y, y))

基于AI的学习



代码调试中的问题和解决过程

  • 问题1:安装不上cheat
  • 问题1解决方案:AI给了几种思路,验证是否安装,输入cheat-version,更新软件安装包,删除原来的cheat安装包,重新安装,添加cheat官方软件源,后来娄老师也在群里给了代码,供未安装好cheat的同学使用,我还是安装不上,最后询问娄老师
  • 问题2:code block突然用不上
  • 问题2解决方案:重新安装,参考相关调试方法,把错误报给AI询问。

其他(感悟、思考等,可选)

娄老师课上一句话铭记我心“难的东西越学越简单,简单的事越做越难。”计算机学习从零开始时学起来很费力,刚开始时看代码都是一头雾水,就连简单的Linux命令都无法掌握,很多简单问题都要查资料,询问AI,要花大量的时间慢慢看,慢慢理解,计算机科学概论和C语言程序设计也要一页一页地看,但多花些时间,还是有所收获,就像第一次实验课,有很多地方都不会,但是通过问AI,看资料等方法,还是学到了很多东西,虽然这些东西连皮毛也算不上,但是一个代码一个代码地敲,一步一步地走,总会学有所得。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 0/0 2/2 20/20
第二周 20/20 1/3 15/35
第三周 200/220 2/5 20/55
第四周 300/550 2/7 25/80

参考资料