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

发布时间 2023-10-02 09:22:01作者: 20231326王荣盛

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

作业信息

这个作业属于哪个课程 2022-2023-1-计算机基础与程序设计
这个作业的要求 2022-2023-1计算机基础与程序设计第一周作业
这个作业的目标 阅览《计算机科学概论(第7版)》,针对每个章节提出疑问
作业正文 https://www.cnblogs.com/gisliw/p/17734774.html

教材学习内容总结

快速阅览《计算机科学概论第七版》,了解计算机结构原理。

问题

第一章
计算软件从第一代更迭到第五代,逻辑层次更多了,结构更复杂了,那对于计算机普及化、编程大众化的社会发展趋势,未来软件是该更复杂,还是迎合潮流向简化发展呢?是否有两全之计,可以不更改软件功能的同时,做到简化呢?

第二章
众所周知,现在主流计算机处理信息都是二进制下通过半加器、全加器等处理的,那么在全球能源问题的前提下为什么不开发更节能的三进制计算机呢?

GPT-3.5
开发节能的三进制计算机并非不可能,但目前主流计算机采用二进制系统的原因有以下几点:

  1. 二进制计算机历史悠久且成熟:二进制计算机已经在过去几十年中得到广泛应用和发展,形成了庞大的生态系统和软硬件基础。这使得二进制计算机具有高度的稳定性、可靠性和兼容性,以及庞大的软件和算法库。与之相比,三进制计算机在这些方面相对较为薄弱。
  2. 二进制计算机的逻辑设计简单:二进制计算机的逻辑设计相对简单,易于实现和优化。相比之下,三进制计算机的逻辑设计更为复杂,需要更多的硬件资源和开发工作,这可能会导致成本的增加。
  3. 二进制计算机的软件生态系统成熟:二进制计算机已经积累了大量的软件和算法库,这些资源对于各行各业的应用和开发者来说至关重要。如果转向三进制计算机,需要重新开发和迁移现有的软件和算法,这将需要巨大的投资和时间。
  4. 三进制计算机的能效优势有限:尽管三进制计算机在理论上可以提供一定的能效优势,但实际上这种优势可能并不明显。现代二进制计算机已经在能效方面进行了大量的优化和改进,例如引入了低功耗处理器、节能模式等技术。因此,三进制计算机相对于二进制计算机的能效优势可能并不足以抵消其在其他方面的劣势。

综上所述,虽然开发节能的三进制计算机在理论上可能是可行的,但目前主流计算机采用二进制系统的历史、稳定性、成熟的软硬件生态系统以及现有的能效优化等因素,使得二进制计算机仍然是主流选择。

第三章
1.模拟信号与数字信号相互转化时势必会丢掉某些数据,即失真,我们现在用什么压缩编码技术尽可能减少失真呢?以音频为例
2.如何通过RGB直接选出想要的颜色?
第四章
本章讲到了门电路,集成,CPU,那么按照摩尔定律,现在芯片工艺越来越接近1nm,我们如何继续发展呢、满足更高的算力需求呢?
第五章
神经网络算法和并行计算有什么区别?
第六章
习惯直接将算法表达成高级程序语言的我们,是否还有学习伪代码的必要?
第七章
使用递归算法时会不会有陷入死循环造成宕机的风险?

GPT-3.5
递归算法本身不会直接导致宕机。宕机通常是由于计算机系统或网络服务出现故障或错误而导致的。然而,递归算法在实现时可能会引发一些问题,例如无限递归或递归深度过大,导致系统资源耗尽或栈溢出,从而导致程序崩溃或宕机。
一些常见的导致宕机的递归问题包括:

  1. 无限递归:如果递归算法没有正确的终止条件或递归调用的条件不正确,可能会导致无限递归,使程序陷入死循环。这将导致系统资源被耗尽,最终导致宕机。
  2. 递归深度过大:如果递归调用的层数过多,可能会导致系统栈空间不足,从而引发栈溢出错误。栈溢出错误会导致程序崩溃或宕机。

为了避免递归算法导致宕机,我们应该注意以下几点:

  1. 确保递归算法有正确的终止条件,以避免无限递归。
  1. 控制递归的深度,确保递归调用的层数不会过大,避免栈溢出。
  1. 优化递归算法,尽量减少不必要的递归调用,以提高性能和效率。
  1. 在实现递归算法时,可以考虑使用迭代或其他非递归的方法来解决问题,以避免潜在的宕机风险。

总之,递归算法本身并不会直接导致宕机,但在实现和使用递归算法时,需要注意避免潜在的问题,以确保程序的稳定性和可靠性。

第八章
1.本章引入了许多抽象概念,理解较难,该怎么有效地学习?
2.各种搜图的算法是根据图的哪些信息检索的?
第九章
本章讲解了各种高级程序设计语言通过解释器解释成机器识别的语言,那HTML语言又是通过什么被机器识别的呢?

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 60/200 1/2 20/20
第二周 -/500 -/4 -/38
第三周 -/1000 -/7 -/60
第四周 -/1300 -/9 -/90