2024-2025-1 20241329 《计算机基础与程序设计》第十周学习总结
作业信息
作业归属课程:2024-2025-1-计算机基础与程序设计
作业要求:2024-2025-1计算机基础与程序设计第十周作业
作业目标:信息系统、数据库与SQL、人工智能与专家系统、人工神经网络、模拟与离散事件、排队系统、天气与地震模型、图形图像
作业正文:2024-2025-1 20241329 《计算机基础与程序设计》第十周学习总结
教材学习内容总结
《计算机科学概论(第七版)》第12章
-
信息系统(IS):
信息系统被定义为由人、硬件、软件和数据资源组成的系统,用于收集、处理、存储和传递信息以支持组织决策。
信息系统可以是操作性的、管理性的或战略性的,它们帮助组织提高效率和竞争力。 -
数据库(DB):
数据库是组织化的数据集合,允许用户高效地存储、检索和管理数据。
数据库管理系统(DBMS)是软件,用于创建和管理数据库,确保数据的安全性和完整性。
数据库模型:包括层次模型、网络模型和关系模型。其中关系模型因其简单性和灵活性而成为最广泛使用的模型。 -
SQL(结构化查询语言):
SQL是一种用于存储、操作和检索数据库中数据的标准编程语言。
SQL的基本命令:包括数据定义(CREATE、ALTER、DROP)、数据操纵(INSERT、UPDATE、DELETE)和数据查询(SELECT)。
《计算机科学概论(第七版)》第13章
-
图灵测试是一种评估机器是否能表现出与人类相似的智能行为的方法。
-
知识表示:知识表示的不同方式有语义网和检索树等,这些都是AI领域中用于组织和存储信息的方法。
-
专家系统:专家系统是一种模拟人类专家决策过程的软件系统。它们通常用于解决特定领域的复杂问题,并能够提供解决方案或建议。
-
神经网络
- 生物神经网络:介绍了生物神经网络的基本原理,即大脑中神经元的工作方式。
- 人工神经网络:人工神经网络(ANN)是受生物神经网络启发的计算模型,旨在模拟人脑处理信息的方式。它们由大量相互连接的节点(称为神经元)组成,这些节点可以处理和传递信息。
-
自然语言处理:自然语言处理(NLP)包括语音合成、语音识别和自然语言理解。这些技术使计算机能够理解和生成人类语言。
-
机器人学:机器人学的基本概念,包括感知—规划—执行范型、包孕体系结构和物理部件。机器人学是AI的一个重要分支,涉及设计和制造能够自主执行任务的机器人。
《计算机科学概论(第七版)》第14章
- 模拟与离散事件
- 模拟:使用计算机模型来模拟现实世界的过程或系统。
- 离散事件模拟:详细阐述离散事件模拟的原理和方法,包括如何定义事件、时间推进、状态更新等关键步骤,关注于模拟随时间发生的离散事件,如排队系统中顾客的到达和服务。
-
排队系统:排队理论是研究等待服务的对象的排队现象的数学理论。
排队系统的基本元素:到达率、服务率、队列长度和等待时间。
不同的排队模型:如M/M/1、M/M/c等;以及如何使用这些模型来优化服务流程。 -
天气与地震模型
- 天气模型:天气模型的基本原理和构建方法,包括气象数据的获取、处理和分析等步骤。
- 地震模型:阐述地震模型的建立过程和关键技术,以及地震预测和预警系统的实现原理。
- 模拟结果的应用:讨论天气和地震模拟结果在防灾减灾、资源规划等领域的应用价值。
- 图形图像
图形学是计算机科学的一个分支,涉及数字创建、操作和渲染图像的技术。介绍了图形学的基础,包括二维和三维图形、纹理映射、光照模型和动画;探讨了图形图像在游戏、电影、虚拟现实等领域的应用。
《C语言程序设计》第9章
-
变量的内存地址
每个变量在内存中都有一个唯一的地址,通过取地址运算符&可以获取变量的内存地址。如&num将返回变量num的地址。 -
指针变量的定义和初始化
- 指针变量是一种特殊的变量,其值为另一个变量的地址。指针变量的定义格式为
数据类型 *指针变量名;
。如,int *p;
定义了一个名为p
的指针变量,该指针可以指向整型变量。 - 初始化指针变量时,可以直接将一个变量的地址赋值给指针变量(如果
int a = 20;
是一个整型变量,那么int *p = &a;
就是初始化,使指针p
指向a
),或将指针变量设置为Null(表示不指向任何地址)。
-
间接寻址运算符
解引用运算符*
用于访问指针所指向的变量的值。如,*ptr
表示获取指针ptr
指向的内存地址中的值。 -
按值调用与按引用调用
- 按值调用是指函数参数传递的是实参的副本,因此形参的变化不会影响实参。而按引用调用(通过指针实现)允许函数直接修改实参的值。
- 可以通过模拟按引用调用来实现类似的功能,即通过指针作为参数传递,从而在函数内部修改实参的值。
- 函数指针及其应用
- 函数指针是指向函数的指针变量,存储函数在内存中的入口地址。定义格式为
数据类型 (*指针变量名)(形参列表)
。如,int (*fun)(int, int);
定义了一个指向接受两个整数参数并返回整数结果的函数的指针。 - 函数指针可以用于间接调用函数,即通过指针变量调用所指向的函数。此外,还可以使用函数指针实现数组排序等操作。
教材学习中的问题和解决过程
问题:按值调用和模拟按引用调用有什么区别和优点
区别
- 参数传递方式:
- 按值调用:在这种方式下,函数调用时,会将实参的值复制一份传递给形参。这意味着函数内部对形参的修改不会影响到外部的实参。
- 模拟按引用调用:虽然C语言本身不支持直接的按引用调用,但可以通过使用指针来实现模拟效果。在这种方式下,函数接收的是指向实参的指针,因此可以通过指针来访问和修改实参的值。
- 内存占用和性能:
- 按值调用:对于大型数据结构或对象,按值调用会涉及大量的内存复制操作,这可能会导致性能下降。
- 模拟按引用调用:由于只是传递指针,不涉及内存复制,因此性能更高,特别是对于大型数据结构。
- 函数对参数的影响:
- 按值调用:函数内部对形参的修改不会影响到外部的实参。
- 模拟按引用调用:函数内部可以通过指针来修改实参的值,这种修改在函数外部也是可见的。
优点
- 按值调用的优点:
数据安全性:由于函数内部对形参的修改不会影响到外部的实参,因此可以避免意外的数据修改,提高程序的安全性。
易于理解:按值调用的语义清晰明了,对于初学者来说更容易理解和使用。 - 模拟按引用调用的优点:
性能高效:避免了大型数据结构的内存复制操作,提高了程序的性能。
灵活性:允许函数直接修改传入的参数值,提供了更灵活的数据处理方式。
便于实现复杂功能:在需要修改多个参数或返回多个结果时,模拟按引用调用提供了一种简洁的解决方案。