2023-2024-1 20231319 《计算机基础与程序设计》课程总结
2023-2024-1 20231319 《计算机基础与程序设计》课程总结
作业信息
这个作业属于哪个课程 | 2023-2024-1-计算机基础与程序设计 |
---|---|
这个作业要求在哪里 | 2023-2024-1计算机基础与程序设计第x周作业 |
这个作业的目标 | <写上具体方面> |
课程总结
第1周
快速浏览教材,每一章提出至少2个不明白的问题。
第2周
学习《计算机基础与程序设计》第一章与《C语言程序设计》第一章并完成云班课测试题
学习编程的意义
计算系统的定义及分层,计算机的历史进程
第3周
学习《计算机基础与程序设计》第2、3章、《C语言程序设计》第2章,并完成相关测试题。
二进制计数系统,位置计数法,二进制、八进制、十六进制与十进制的转化,计算机中不同形式的数据的表示方法
常量、变量,数据类型,变量赋值
第4周
学习《计算机科学概论》第4、5章和《C语言程序设计》第三章,并完成相关测试题。
逻辑门,计算机结构,冯·诺伊曼体系结构
算术运算符和表达式,宏常量与const常量
第5周
学习《计算机科学概论》第5章和《C语言程序设计》第4章,并完成相关测试题。
机器语言、汇编语言、伪代码以及测试
字符常量及字符的输入和输出
第6周
学习《计算机科学概论》第七章和《C语言程序设计》第五章,并完成相关测试题。
解决问题的方法步骤,算法
关系运算符和关系表达式,条件运算符和条件表达式,逻辑运算符和逻辑表达式
第7周
学习《计算机科学概论》第八章和《C语言程序设计》第六章,并完成相关测试题。
抽象数据类型,栈、队列、列表、树等四种数据结构及其伪代码
计数控制循环、嵌套循环、条件控制循环,流程转移控制
第8周
学习《计算机科学概论》第九章和《C语言程序设计》第七章,并完成相关测试题。
面对对象方法,编译器、解释器,程序设计语言泛型,布尔表达式、数据归类、输入输出结构
函数的分类、定义、调用,变量的作用域和生存期,模块化程序设计
第9周
学习《计算机科学概论》第10、11章和《C语言程序设计》第8章,并完成相关测试题。
操作系统,内存管理的三种方式,CPU调度,文件系统,文件,目录,磁盘调度
数组,二维数组,向函数传递数组,数组的排序,数组元素的查找
第10周
学习《计算机科学概论》第12,13,14章和《C语言程序设计》第9章。
信息系统,电子制表软件,数据库及数据库管理系统,关系模型和结构化查询语言
人工智能AI,图灵测试
模拟和模型,计算机游戏的介绍
指针变量,间接寻址运算符,指针变量做函数参数,函数指针
第11周
学习《计算机科学概论》第15,16章,《C语言程序设计》第10章。
计算机网络,开放式系统和网络协议,网络的地址超文本传输语言,交互式网页
字符串,字符串指针,向函数传递字符串,函数返回字符串指针
第12周
学习《C语言程序设计》第11章。
指针数组,数组指针,动态数组,动态内存分配
第13周
学习《C语言程序设计》第十二章。
结构体,共用体,枚举数据类型,动态数据结构
第14周
学习《C语言程序设计》第十三章。
文本文件和二进制文件,文件打开关闭,文件读写
实验:
实验一:熟悉Linux命令
实验二:基本控制结构编程练习
实验三:考试
实验四:函数与数组编程练习
实验五:考试
实验六:文件与结构体编程练习
实验七:缓冲区溢出
实验八:Web部署
自主学习收获:
无穷的技艺
师生关系
初识Base64及其应用
我的黑客偶像
数组之谜
最大公约数
Fibonacci数列的实现
排序算法
实现进制转化伪代码
小学生四则运算
俄罗斯方块
问题解决
第一章
- 信息隐藏是如何通过抽象实现的?
信息隐藏通过抽象实现,意味着将不必要的细节或实现细节隐藏起来,使用户或其他系统组件不需要知道底层的具体实现。这可以通过使用抽象层次来实现,例如在面向对象编程中,通过类和对象的抽象,隐藏了内部的实现细节。
- 云计算是如何脱离硬件而实现的,真的能完全脱离硬件吗?
云计算脱离硬件是通过虚拟化技术实现的。云服务提供商使用虚拟化层,将物理硬件资源抽象为虚拟机、容器等,使应用程序能够在虚拟环境中运行。虚拟化使硬件资源能够弹性分配和管理。然而,完全脱离硬件是不可能的,因为云计算基础设施仍然需要物理服务器和网络设备支持。
第二章
- 位置计数法与0到底有什么关系?
位置计数法是指数字表示的方式,其中每个数字的位置决定其权重。0的存在是关键,因为它表示了一个位置上没有数值。
- 16进制的正负如何表示?
在16进制中,通常使用最高位的比特表示正负。如果最高位是0,表示正数;如果最高位是1,表示负数。表示负数时通常使用补码表示法。
- 64位计算机相比32位计算机能寻访更大的内存,那么32位计算机对比64位计算机有什么优势?
64位计算机相比32位计算机能够处理更大的内存地址空间,因此可以支持更多的物理内存。优势包括更大的内存寻址范围、更高的性能和更好的处理大型数据集的能力。32位计算机可能受到内存限制,不能处理大型应用或数据。
第三章
- 模拟数据在计算机中能否得到有效利用?
模拟数据在计算机中可以得到有效利用。通过模拟,可以生成接近真实情况的数据,用于测试、训练模型或进行其他实验。模拟数据在科学研究、工程设计和计算机图形学等领域中有广泛应用。
- 行程长度编码如何压缩图片?
行程长度编码是一种压缩算法,通过将连续的相同数值或符号用一个计数值和该数值或符号表示,来减少数据的存储空间。在图片压缩中,行程长度编码可以识别相邻像素中相同颜色的连续行程,1. 以更紧凑的方式表示图像。
第四章
- 电平在转化为二进制时是否会有数据损失?
电平的转化为二进制是一个数字化过程,通常不会引起数据损失。数据损失通常发生在模数转换中,将连续的模拟信号转换为离散的数字表示。在数字系统中,电平的离散化可以通过适当的采样和量化来避免损失。
- 多路分配器的2的n次方是如何计算的?
多路分配器(Multiplexer)的输入线数是2的n次方,其中n是选择器的位数。这是因为每个位都有两个可能的状态(0或1),所以选择器的位数决定了输入线的数量。2的n次方表示选择器能够选择的输入线的总数。
- 半加器和全加器的区别
半加器用于对两个单独的位进行加法运算,但它不考虑进位。全加器不仅考虑输入位的和,还考虑来自前一位的进位。因此,全加器可以处理进位,使其更适用于多位二进制加法。
第五章
- 为什么有时是1000,有时是1024
计算机内存的容量和存储设备的容量会使用不同的计量单位,其中一个常见的区别就是在计算机存储容量中使用的是1024进制而不是1000进制。这是因为计算机使用的是二进制系统,而1024是2的10次方,所以在计算机中常用KB表示1024字节而不是1000字节,以此类推,例如MB表示1024 KB。
- 内存中的单独寻址是什么意思?图表中的一串代码有无实际意义?
"内存中的单独寻址" 指的是计算机中对于内存中特定位置进行读取或写入数据的操作。在计算机内存中,每个存储单元都有唯一的地址。
第六章
- 汇编语言中的数据块怎样理解?存于何处?
汇编语言提供了指令来定义和初始化数据块。这些指令可以包括:
DB:定义一个字节的数据。
DW:定义一个字(16位)的数据。
DD:定义一个双字(32位)的数据。
DQ:定义一个四字(64位)的数据。
汇编语言中的数据块可以存储在数据段中,这是程序的一部分,用于存储数据。
- 测试之后的代码还会出现bug,如何尽量避免这类情况?
使用自动化测试框架进行集成测试、系统测试等。自动化测试可以更频繁地执行测试,确保代码在整个开发过程中保持稳定。
第七章
- 写完算法后,如何进行测试?
使用随机生成的输入进行测试,以检查算法的鲁棒性和处理不同情况的能力。
- 二分检索如何进行实际应用?
二分检索是一种高效的搜索算法,常用于有序数据集。 在有序数据集中插入或删除元素,保持数据的有序性。二分检索可用于快速定位插入或删除位置。
第八章
- 具体在什么时候选择列表、栈、队列、树?
列表: 适用于需要按照顺序存储和访问元素的情况,支持快速的随机访问。
栈: 当需要后进先出的数据结构时,如递归函数调用、表达式求值、撤销操作等。
队列: 适用于先进先出的场景,如任务调度、广度优先搜索等。
树: 当数据需要组织为层级结构时,树是一个常见的选择。二叉树、AVL树等可用于高效搜索和排序。
第九章
- 强类型与弱类型在操作上有什么区别?
强类型: 在强类型语言中,不同数据类型之间的转换通常是严格的,需要显式的转换操作。这有助于避免意外的类型错误。
弱类型: 弱类型语言允许更灵活的类型转换,有时候会隐式地进行类型转换。这可能导致一些意外的行为,但也提供了更大的灵活性。
第十章
- 物理地址中偏移量不会大于帧大小,书中却显示有此种情况。
物理地址的偏移量应该小于等于帧(或页面)的大小。大于帧大小的偏移量将导致越界访问,可能引起严重的错误。
- 分区和页式内存有什么区别?
分区内存管理: 物理内存被划分成固定大小的分区,每个分区可以分配给一个进程。分区可以是等大小的,也可以是不等大小的。
页式内存管理: 物理内存和逻辑内存都被划分成固定大小的页面。进程的逻辑地址空间也被划分成页面,实现了更灵活的内存分配和管理。
第十一章
- 二进制文件有什么特点?
二进制文件包含非文本数据,以二进制形式存储。与文本文件相比,它们不是以人可读的形式存储的,可以包含任意的数据类型,包括图像、音频、视频等。
- 磁盘调度是多种方法同时使用,还是择优使用?
磁盘调度算法通常是择优使用,根据具体的工作负载和性能需求选择最合适的算法。不同的算法在不同的情境下表现更好,因此系统可能会根据当前磁盘的状况选择合适的调度算法。
第十二章
- 模拟假设分析在现实中是否真的有用?
模拟假设分析是一种在科学和工程领域中常用的方法,用于预测系统在不同条件下的行为。它通过建立模型来模拟系统的特定方面,然后对模型进行假设测试和分析,以了解可能的结果。在许多情况下,模拟假设分析是有效的,特别是当真实测试成本高或不切实际时。但它仍然受到模型假设的限制,可能存在与真实情况的偏差。
第十三章
- 人工神经网络中权和阈的设置让人着迷
人工神经网络中的权重和阈值是神经网络学习和决策过程中的关键组成部分。权重决定了输入信号的重要性,而阈值则影响了神经元的激活状态。调整权重和阈值是神经网络训练的关键步骤,通过不断调整这些参数,网络可以逐渐学习并提高性能。
第十四章
- 模拟是否有可信度?蝴蝶效应在此处是否有效?
模拟的可信度取决于模型的精确性和应用背景。如果模型能够准确地反映实际系统的行为,那么它具有较高的可信度。蝴蝶效应指的是一个系统中微小的变化可能会导致系统整体行为的巨大变化。在模拟中,蝴蝶效应可能会因微小的输入或假设变化而导致完全不同的结果,因此在评估模拟结果时需要谨慎考虑。
第十五章
- P2P模型如何运作?环形拓扑是否会威胁数据安全?
P2P模型(点对点模型)是一种网络结构,其中各个节点之间可以直接通信,而不需要通过集中式服务器。环形拓扑是P2P网络中的一种结构,数据在这种结构下传输可能存在一些安全风险,例如数据遭到篡改或截获。然而,P2P网络的安全性取决于采取的安全措施,例如加密通信和身份验证。
第十六章
- 搜索引擎有哪些处理方法?跳舞的蜘蛛是什么意思?
搜索引擎使用各种算法和方法来索引网页并为用户提供搜索结果。处理方法包括爬取网页内容、建立索引、排序和呈现搜索结果。跳舞的蜘蛛是谷歌搜索引擎中的术语,指的是其爬虫程序,定期访问网站以收集信息并更新谷歌的索引数据库。
第十七章
- 恶意代码如何进行入侵?原理是什么?
恶意代码通过各种方式进行入侵,包括利用漏洞、社会工程学、钓鱼攻击、恶意软件等。这些代码可能通过电子邮件附件、下载文件、链接点击等方式传播,并且一旦进入系统,它们可以窃取信息、损坏数据或控制系统。
第十八章
- 1/10的乘法是什么意思?
1/10的乘法指的是计算机中浮点数运算可能出现的问题。计算机中的浮点数表示并不总是精确的,因此对于某些计算,例如乘以0.1这样的小数,可能会出现精度丢失的情况。下溢和溢出是计算机中数值运算的错误,下溢指的是数值太小而无法表示,而溢出指的是数值太大而无法表示。
- 如何避免下溢和溢出?
为了避免下溢和溢出,可以采取一些措施,例如合理设计算法以避免数值超出计算机表示范围,或者使用更高精度的数据类型来处理计算。此外,精心设计算法和使用合适的数值范围可以有助于减少这些问题的发生。