2024-2025-1 20241322 《计算机基础与程序设计》第十周学习总结
2024-2025-1 20241322 《计算机基础与程序设计》第十周学习总结
作业信息
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP |
---|---|
这个作业要求在哪里 | https://www.cnblogs.com/rocedu/p/9577842.html#WEEK10 |
这个作业的目标 | ①信息系统②数据库与SQL③人工智能与专家系统④人工神经网络⑤模拟与离散事件⑥排队系统⑦天气与地震模型⑧图形图像 |
作业正文 | https://www.cnblogs.com/qiangedaming/p/18577742 |
教材学习内容总结
《C语言程序设计》第9章 指针
9.1 指针的概念
- 9.1.1 指针的定义
- 9.1.2 指针的类型
- 9.1.3 指针的初始化
9.2 指针变量
- 9.2.1 指针变量的声明
- 9.2.2 指针变量的赋值
- 9.2.3 指针变量的运算
9.3 指针与数组
- 9.3.1 数组元素的指针
- 9.3.2 指针与数组的关系
- 9.3.3 指针数组
9.4 指针与函数
- 9.4.1 函数指针
- 9.4.2 指针作为函数参数
- 9.4.3 返回指针的函数
9.5 指针与字符串
- 9.5.1 字符串的指针表示
- 9.5.2 字符串处理中的指针
9.6 指针与动态内存分配
- 9.6.1 malloc和free函数
- 9.6.2 calloc和realloc函数
- 9.6.3 动态内存分配的注意事项
9.7 指针的高级应用
- 9.7.1 指针的指针
- 9.7.2 指向指针的指针
- 9.7.3 指针数组和指针的指针
9.8 指针与结构体
- 9.8.1 结构体指针
- 9.8.2 指向结构体的指针
- 9.8.3 结构体数组和指针
9.9 指针的常见问题和陷阱
- 9.9.1 野指针
- 9.9.2 指针越界
- 9.9.3 指针与内存泄漏
9.10 指针的综合应用
- 9.10.1 实例分析
- 9.10.2 编程练习
- 9.10.3 常见错误分析
计算机科学概论(第七版)第12章 信息系统
12.1 信息管理
- 信息管理的基本概念和重要性。
12.2 电子制表软件
- 12.2.1 电子数据表公式
- 电子表格中公式的使用和功能。
- 12.2.2 循环引用
- 循环引用的问题和解决方法。
- 12.2.3 电子数据表公式
- 进一步探讨电子表格公式的高级应用。
12.3 数据库管理系统分析
- 12.3.1 关系模型
- 关系数据库模型的基本概念。
- 12.3.2 关系
- 数据库中关系的概念和操作。
- 12.3.3 结构化查询语言
- SQL语言的基本使用和查询构建。
- 12.3.4 数据库设计
- 数据库设计的基本原则和方法。
12.4 电子商务
- 电子商务的模式、技术和应用。
12.5 大数据
- 大数据的概念、处理技术和应用场景。
计算机科学概论(第七版)第13章 人工智能
13.1 思维机
- 13.1.1 图灵测试
- 13.1.2 AI问题的各个方面
13.2 知识表示
- 13.2.1 语义网
- 13.2.2 检索树
13.3 专家系统
13.4 神经网络
- 13.4.1 生物神经网络
- 13.4.2 人工神经网络
13.5 自然语言处理
- 13.5.1 语音合成
- 13.5.2 语音识别
- 13.5.3 自然语言理解
13.6 机器人学
- 13.6.1 感知-规划-执行范型
- 13.6.2 包孕体系结构
计算机科学概论(第七版)第14章 模拟、图形学、游戏和其他应用
14.1 什么是模拟
- 14.1.1 复杂系统
- 14.1.2 模型
- 14.1.3 构造模型
14.2 特殊模型
- 14.2.1 排队系统
- 14.2.2 气象模型
- 14.2.3 计算生物学
- 14.2.4 其他模型
- 14.2.5 必要的计算能力
14.3 计算机图形学
- 14.3.1 光的工作原理
- 14.3.2 物体形状
- 14.3.3 光模拟
- 14.3.4 复杂对象的建模
- 14.3.5 让物体动起来
14.4 游戏
- 14.4.1 游戏的历史
教材学习中的问题和解决过程
- 问题1 图灵测试是否能够全面地评估一个机器的智能水平,尤其是在理解复杂情感和道德判断方面?
- 问题1 图灵测试是由计算机科学家艾伦·图灵在1950年提出的一个思想实验,用于评估机器是否能够展现出与人类不可区分的智能行为。在图灵测试中,如果一个机器能够在对话中让人无法区分它与一个人类的差别,那么它就通过了图灵测试。然而,图灵测试主要集中在机器的对话能力上,它并不涉及机器对情感的理解和表达,也不涉及道德判断和复杂情境的处理。以下是几个方面的考虑:1. 情感理解的局限性:图灵测试并不要求机器真正理解情感,而是只要能够模仿人类的情感反应。这意味着机器可能只是在表面上模仿情感,而没有真正的情感体验或理解。2. 道德判断的缺失:图灵测试没有涉及到道德判断。一个通过图灵测试的机器可能在对话中表现得像人类,但它可能无法在需要道德判断的情况下做出正确的决策。3. 复杂情境的处理:图灵测试通常在有限的对话环境中进行,它并不评估机器在更广泛的、非语言的情境中的表现。例如,机器可能在对话中表现得像人类,但在解决实际问题或进行创造性工作时可能表现不佳。4. 智能的多维度:智能不仅仅是对话能力,还包括学习、推理、解决问题、自我意识等多个维度。图灵测试并没有涵盖这些方面。因此,尽管图灵测试是一个有趣的思想实验,并且对于评估机器的对话能力有一定的价值,但它并不能完全代表一个机器的智能水平。智能是一个多维度的概念,需要更全面和深入的评估方法。在评估机器智能时,我们可能需要考虑更多的测试和标准,包括情感智能、道德智能和问题解决能力等。
- 问题2 在C语言中,指针的使用为何既强大又危险,我们如何在利用其强大功能的同时避免潜在的危险?
- 问题2解决方案指针是C语言中一个非常强大的特性,它允许程序员直接操作内存地址,这为程序提供了极高的灵活性和效率。然而,这种接近硬件层面的控制也带来了一些风险。以下是指针为何强大和危险的原因,以及如何安全使用指针的一些建议:指针的强大之处:1. 直接访问内存:指针可以直接访问和操作内存中的数据,这使得程序可以高效地处理大量数据。2. 动态内存分配:通过指针,程序可以在运行时动态分配和释放内存,这对于处理不确定大小的数据集非常有用。3. 数组和字符串的处理:指针简化了数组和字符串的处理,使得这些数据结构的操作更加灵活。4. 函数的高级特性:指针使得函数能够接受数组、动态分配的内存和其他复杂数据结构作为参数,甚至能够返回这些类型的数据。指针的危险之处:1. 野指针:如果指针未被正确初始化,它可能指向任意内存地址,导致不可预测的行为。2. 内存泄漏:如果分配的内存没有被正确释放,或者释放了不应该释放的内存,都可能导致内存泄漏。3. 指针越界:指针可能访问数组或其他数据结构之外的内存,这可能导致数据损坏或程序崩溃。4. 并发问题:在多线程环境中,指针的使用可能导致竞态条件,如果多个线程同时访问和修改同一内存区域。安全使用指针的建议:1. 初始化指针:在声明指针后,确保它们被初始化为NULL或指向有效的内存地址。2. 使用动态内存管理函数:使用 malloc 、 calloc 、 realloc 和 free 来分配和释放内存,并检查 malloc 和 calloc 的返回值以确保内存分配成功。3. 避免越界访问:在访问数组或数据结构时,确保不会超出其边界。4. 使用现代C语言特性:C11引入了匿名结构体和联合体,以及对齐的分配函数,这些都可以帮助管理内存和指针。5. 代码审查和测试:通过代码审查和自动化测试来发现和修复指针使用中的错误。6. 使用智能指针:在支持的环境下,考虑使用智能指针(如C++中的 std::unique_ptr 和 std::shared_ptr )来自动管理内存。通过这些方法,可以在享受指针带来的便利的同时,减少因不当使用指针而引发的风险。
基于AI的学习
代码调试中的问题和解决过程
- 问题1:下标越界的情况编译不会报错,可以运行,但是结果出错。
- 问题1解决方案:运行前再次检查是否存在下标越界的情况。
其他(感悟、思考等,可选)
指针强大,但需谨慎使用,还得多练。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 000/000 | 2/2 | 07/07 | |
第二周 | 000/000 | 1/3 | 07/14 | |
第三周 | 000/000 | 1/4 | 07/21 | |
第四周 | 050/050 | 1/5 | 07/28 | |
第五周 | 050/100 | 1/6 | 07/35 | |
第六周 | 070/170 | 1/7 | 07/42 | |
第七周 | 080/250 | 1/8 | 07/49 | |
第八周 | 100/350 | 1/9 | 07/56 | |
第九周 | 200/550 | 1/10 | 07/63 | |
第十周 | 200/750 | 1/11 | 09/72 |