学年(2023-2024-1)学号(20231311)《计算机基础与程序设计》第10周学习总结

发布时间 2023-12-03 18:11:31作者: 20231311吴冠清

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

作业信息

这个作业属于哪个课程 2023-2024-1-计算机基础与程序设计
这个作业要求在哪里 2023-2024-1计算机基础与程序设计第十周作业
这个作业的目标 1.学习计算机科学概论第12,13,14章 并完成云班课测试2.《C语言程序设计》第9章并完成云班课测试
作业正文 https://i.cnblogs.com/posts/edit;postId=17873478#postBody

教材学习内容总结

计算机科学概论第12,13,14章:
第12章:信息系统
12.1 信息管理

信息管理是对信息进行有效和有序的组织、存储和检索的过程。
12.2 电子制表软件

电子制表软件如Excel等提供了强大的数据处理工具。
电子数据表公式允许在表格中执行复杂的计算。
循环引用和电子数据表分析是处理大规模数据时的挑战和技术。
12.3 数据库管理系统

数据库是结构化存储数据的系统。
关系模型用于组织数据,关系是表中的行和列的组合。
结构化查询语言(SQL)用于与数据库进行交互。
数据库设计涉及定义数据表、关系和优化查询。
12.4 电子商务

电子商务涉及在线交易、电子支付和电子市场。
在竞选中,网络在政治中发挥着越来越重要的角色。
小结

信息系统对于组织和管理信息至关重要。
数据库和电子制表软件是处理大量数据的有力工具。
电子商务和网络在现代社会中具有重要地位。
第13章:人工智能
13.1 思维机

图灵测试用于评估人工智能是否能够表现出与人类相似的思维。
人工智能涉及解决各种问题,包括模拟人类感知和思考。
13.2 知识表示

语义网和检索树是表示知识的方法。
专家系统利用专业知识解决复杂问题。
13.3 神经网络

人工神经网络模拟生物神经网络,用于学习和模式识别。
自然语言处理涉及语音合成、语音识别和自然语言理解。
13.6 机器人学

机器人感知-规划-执行范型和包孕体系结构是机器人学中的关键概念。
物理部件包括传感器和执行器。
小结

人工智能涵盖广泛的领域,包括机器学习、自然语言处理和机器人学。
了解思维机、知识表示和神经网络是理解人工智能的关键。
第14章:模拟、图形学、游戏和其他应用
14.1 什么是模拟

模拟是对复杂系统的仿真,包括构造和使用模型。
14.2 特殊模型

排队系统、气象模型、计算生物学等是模拟的特殊应用。
计算机图形学涉及光的工作原理、物体形状建模和动画。
14.4 游戏

游戏设计和开发包括创建虚拟世界、设计游戏玩法和编程游戏。
游戏成瘾是与游戏相关的道德问题之一。
小结

模拟和图形学在多个领域中发挥着重要作用,包括科学研究和游戏开发。
游戏设计是一门复杂的艺术和技术,涉及多个学科的知识。
《C语言程序设计》第9章:
第9章:指针

  1. 指针的基本概念

指针是一种变量,其值为内存地址。通过指针,可以直接访问内存中的数据。
通过使用指针,程序可以更灵活地处理和操作数据,尤其在涉及内存管理和动态分配时。
2. 指针的声明和初始化

指针的声明指定了指针所指向变量的数据类型。
指针可以通过取地址操作(&运算符)初始化,指向已存在的变量。
3. 指针运算

指针可以进行递增(++)和递减(--)运算,以便访问内存中相邻的位置。
指针可以进行算术运算,但需要谨慎处理,以避免越界访问和内存错误。
4. 指针和数组

数组名本质上是指向数组首元素的指针,因此数组和指针之间存在密切的关系。
指针可以用于遍历数组元素,以及通过指针算术实现对数组的各种操作。
5. 指针和函数

函数可以接受指针作为参数,以便在函数内修改调用者的数据。
返回指针的函数可以用于动态内存分配和创建数据结构。
6. 动态内存分配

malloc() 和 free() 函数用于在运行时动态分配和释放内存。
动态内存分配允许程序在执行期间灵活地管理内存空间。
7. 指针和字符串

字符串在C语言中通常通过字符数组和指针表示。
使用指针可以方便地进行字符串操作,如拷贝、连接和比较。
8. 指针和结构体

指针可以用于访问和操作结构体的成员。
动态分配的结构体对象可以通过指针来创建和管理。
总结:
指针是C语言中一个强大的工具,通过它,程序可以更有效地处理内存和数据。了解指针的概念、声明、运算和与不同数据类型的关系,对于写出高效、灵活且可维护的C代码是至关重要的。动态内存分配和指针与数据结构的结合也为程序提供了更大的灵活性。通过学习和理解这些概念,程序员可以更好地利用C语言的功能,写出更具有性能和可读性的程序。

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

问题:我看了教材中关于指针的这一段文字:

"指针是C语言中一个强大而灵活的特性。通过指针,可以直接访问内存中的数据。"

我对这一段文字有一个疑问:为什么要使用指针直接访问内存中的数据?
问题解决方法:
我查了一些资料,发现有人认为直接访问内存可以提高程序的运行效率,尤其是在涉及大数据集合或者需要频繁操作内存的情况下。根据我的实践经验,我也发现在某些情况下,通过指针直接操作内存确实能够提高程序的性能。

然而,尽管我了解了指针的一些基本概念和用法,我仍然不太理解在实际编程中如何正确、安全地使用指针。我的困惑主要集中在如何避免指针操作中的常见错误,例如越界访问和内存泄漏。

我在教材中找到了一些关于指针的示例,但在实践中,我仍然感到有些困难。我希望能够获得更多的实际操作经验,以便更好地掌握指针的应用。

或者,如果我反对作者的观点,我可能会说:“教材中提到指针是直接访问内存中的数据的一种强大方式,但我认为直接操作内存可能会引起安全性和稳定性的问题。在现代编程中,我们更多地侧重于使用更安全的抽象和高级数据结构,以减少错误的可能性。作者没有充分强调指针使用中的潜在风险,这使得学习者可能会忽视一些潜在的问题。”

基于AI的学习

显示
显示
显示

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

问题:在OJ平台刷题时,我用了pow(x,1/3);这串代码,她显示结果错误。
问题解决方案:询问gpt之后,我明白了要在1后面加一个.0,即把1变为1.0,否则1/3会被识别为0,结果就是计算x的0次方,从而导致结果错误。

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 100 /100 1/1 20/20
第二周 200/300 1/2 18/38
第三周 200/500 1/3 22/60
第四周 300/800 1/4 30/90
第五周 600/1400 1/5 40/130
第六周 900/2100 1/6 40/170
第七周 800/3000 1/7 40/210
第八周 600/3600 1/8 50/260
第九周 500/4100 1/9 40/300
第十周 500/4600 1/10 40/340