2023-2024-1 20231306 《计算机基础与程序设计》第十周学习总结
作业信息
这个作业属于哪个课程 | 2023-2024-1-计算机基础与程序设计 |
---|---|
这个作业要求在哪里 | 2023-2024-1计算机基础与程序设计第十周作业 |
这个作业的目标 | 信息系统、数据库与SQL、人工智能与专家系统、人工神经网络、模拟与离散事件、排队系统、天气与地震模型、图形图像 |
作业正文 | https://www.cnblogs.com/zwywuhu/p/17865240.html |
教材学习内容总结
《计算机科学概论》——第12、13、14章:
《计算机科学概论》——第12章 信息系统:
- 电子数据表
1.电子制表软件:
允许用户用单元格组织和分析数据的程序。
2.Excel的用法:
启动和新建工作簿:双击Excel图标或从开始菜单中打开Excel。
创建新工作簿:Ctrl(Command) + N。
选择单元格:点击单元格。
选择范围:点击并拖动鼠标以选择多个单元格。
数据输入:在选定的单元格中键入数据。按Enter键确认输入,光标会移动到下一个单元格。
公式:在单元格中输入公式。公式通常以等号(=)开头,例如,=A1+B1。使用函数(如SUM、AVERAGE等),以进行更复杂的计算。
格式化:右键单击选定的单元格或范围,选择“格式单元格”以更改格式,如数字格式、字体、颜色等。
表格和图表:将数据转换为表格:选择数据范围,点击“插入” -> “表格”。
创建图表:选择数据范围,点击“插入” -> “图表”。
排序和筛选:对数据进行排序:选择数据范围,点击“数据” -> “排序”。
使用筛选器:选择数据范围,点击“数据” -> “筛选”。
公式填充:将公式自动填充到相邻单元格:选定单元格,鼠标悬停右下角,拖动填充柄。
保存和打开:
保存工作簿:Ctrl(Command)+ S。
打开工作簿:Ctrl(Command) + O。
- 数据库管理系统
1.由物理数据库、数据库引擎、数据库模式三部分组成。
2.关系模型:
关系模型是一种用于表示和存储数据的结构化方式,其中数据被组织为表格(也称为关系),而每个表格包含了一组相关的数据项。这些表格之间通过键(key)建立关联。
表格: 表格是关系模型中的基本组成单元。每个表格都由行和列组成,行表示数据的实例,列表示数据的属性。表格是一个二维的结构,每列都有一个名称,而每行包含了特定实例的数据。
键: 关系模型中,每个表格都有一个或多个键,用来唯一标识表格中的每一行。主键是一种特殊的键,用来唯一标识表格中的每一行,并确保每行都有唯一的标识符。
外键: 外键是一个表格中的字段,它指向另一个表格的主键。外键用于建立不同表格之间的关联,从而形成数据的一致性和完整性。
关系操作: 关系模型支持一系列操作,用于检索、插入、更新和删除数据。常见的关系操作包括选择(Select)、投影(Project)、连接(Join)等。
范式: 范式是一组规则,用于设计关系数据库,以减少数据冗余和提高数据的一致性。常见的范式包括第一范式(1NF)、第二范式(2NF)、第三范式(3NF)等。
许多关系数据库管理系统(RDBMS)如MySQL、Oracle、SQL Server等都基于关系模型。
《计算机科学概论》——第13章 人工智能:
*图灵测试
在图灵测试中,质问者必须判断出哪个回答者是计算机,哪个是人。但扔存在一些问题,比如,一些人类行为的模拟可能会欺骗评审,这不代表机器拥有真正的智能。而且,它过于依赖于对话模拟,并不能全面评估机器的智能。
*AI问题
1.知识表示:
语义网:表示对象之间关系的知识表示法。
检索树:表示对抗性情况中的所有选择的结构。
专家系统:基于人类专家的知识的软件系统。
人工神经网络:用于机器学习和模式识别任务,由多个相互连接的节点(神经元)组成,这些节点以类似于生物神经元之间的连接方式进行信息传递。
2.自然语言处理:
语言合成、语言识别、自然语言理解。
《计算机科学概论》——第14章 模拟、图形学、游戏和其他应用:
*模拟
1.连续模拟:
特点:系统的状态在整个模拟过程中都是连续变化的。时间被视为连续的,系统的状态可以在任意时间点上进行观察和记录。
应用领域: 连续模拟通常用于描述物理过程,如物理系统的运动、流体流动等。它在工程、物理学和其他领域中得到广泛应用。
2.离散事件模拟:
特点: 离散事件模拟中,系统的状态在离散的时间点上发生变化。系统的状态在事件发生时才会改变,而在事件之间的时间段系统状态保持不变。
事件触发: 模拟过程中,只有发生某些特定的事件时,系统的状态才会发生变化。这些事件可以是任何系统中需要关注的事物,例如任务到达、服务完成等。
应用领域: 离散事件模拟适用于描述具有明确定义事件和相互作用的系统,如排队系统、交通流量、计算机系统等。
3.特殊模型:
排队系统、气象模型……
*光模拟
*复杂对象的建模:自然景观、液体、气体、火……——利用相关的方程创建图像。
*游戏中创造虚拟世界
游戏引擎包括:渲染图形的引擎、提供碰撞检测和动态仿真从而解决被模拟物体的力学特征问题的物理引擎、声音生成单元、独立于游戏驱动代码的脚本语言、动画、人工智能算法、场景图
*游戏编程语言
C++: 是游戏行业中最常用的编程语言之一。它提供高性能、底层控制和面向对象的编程范式,使其成为大型、复杂游戏引擎(如Unreal Engine和Unity)的首选语言。
C#: 在游戏开发中主要与Unity游戏引擎结合使用。Unity是一种跨平台的游戏引擎,它使用C#作为其主要脚本语言。C#提供了更高层次的抽象和易用性,适合各种游戏类型。
Java: 在Android游戏开发中常用。Android Studio和LibGDX等工具使用Java进行开发。此外,一些基于Java的桌面游戏也存在,尽管相对较少。
Python: 被用于游戏开发中的一些特定领域,如教育、小型独立游戏、原型设计等。Pygame是一个基于Python的游戏开发库。
JavaScript: 主要用于Web游戏开发。HTML5和WebGL的发展使得通过浏览器运行高性能游戏成为可能。一些流行的游戏引擎,如Phaser,使用JavaScript。
HLSL/GLSL: 针对图形编程的着色器语言,用于编写GPU上的着色器程序。它们通常用于实现游戏中的图形效果。
Lua: 作为脚本语言,经常嵌入到游戏引擎中,用于实现游戏逻辑和行为。例如,Unity可以通过插件支持Lua脚本。
Swift: 用于iOS游戏开发。在苹果生态系统中,Swift是主要的编程语言之一,用于创建iOS和macOS游戏。
Assembly语言: 在一些对性能要求极高的场景,如嵌入式系统或一些特定平台的游戏开发中,程序员可能使用汇编语言优化特定部分的代码。
《C语言程序设计》——第9章 指针:
1.变量在内存中所占的存储空间的首地址,称为该变量的地址,变量在存储空间中存放的数据,称为变量的值。
2.指针变量要及时初始化(NULL)。
3.虽然定义函数指针时未指明该指针指向了哪个函数,但在程序中可通过赋值操作将函数指针分别指向不同的函数,以实现在同一点调用不同的函数。因此,利用函数指针编程有助于提高程序的通用性,减少了重复的代码。
基于AI的学习
代码调试中的问题和解决过程
1.问题1:在使用gets()函数时,编译器会发出警告。
解决过程:通过询问AI,将改写成fgets():
gets 函数存在一个安全性问题,因为它不检查输入字符串的长度,这可能导致缓冲区溢出。因此,gets 已经被废弃,不再被推荐使用。fgets 函数更为安全,因其允许你指定接受输入的缓冲区的大小。这有助于避免缓冲区溢出。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 | |
------- | -------- | ----- | ||
第二周 | 200/400 | 2/4 | 18/38 | |
第三周 | 200/600 | 3/7 | 22/60 | |
第四周 | 100/700 | 2/9 | 30/90 | |
第五周 | 200/900 | 1/ 10 | 40/130 | |
第六周 | 300/1200 | 1/11 | 40/170 | |
第七周 | 400/1600 | 1/12 | 50/220 | |
第八周 | 500/2100 | 1/13 | 50/270 | |
第九周 | 500/2600 | 3/16 | 50/320 | |
第十周 | 400/3000 | 1/17 | 40/360 |