2024-2025-1 20241415 《计算机基础与程序设计》第1周学习总结
这个作业属于哪个课程 | 2024-2025-1-计算机基础与程序设计(https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP)) |
---|---|
这个作业要求在哪里 | 2024-2025-1计算机基础与程序设计第一周作业 |
这个作业的目标 | 阅读浏览教材《计算机科学概论》,加深对计算机科学的理解,提高自学能力,学会运用ai软件帮助自学、提高效率。 |
作业正文 | https://www.cnblogs.com/zhaoshaoning/p/18440030 |
教材学习内容总结
1.计算机系统基础知识
2.二进制、八进制、十六进制与十进制之间的相互转化
3.学习了Linux常用基础代码ls、cd、man-k、cat、pwd等
4.原码、反码、补码
正数的原码、反码和补码均为其本身(二进制)
负数的原码、反码和补码的转换关系:
原码:符号位为1,其余位为数值的二进制表示。
反码:符号位不变,其余位取反。
补码:符号位不变,其余位取反后加1
教材学习中的问题和解决过程(先问 AI)
-
问题1:计算机系统使用二进制的优越性
-
解答:技术实现简单、运算规则简单、易于表示和存储数据、便于程序设计和系统开发
-
问题2:为什么要使用原码、反码、补码
-
解答:原码可以直观表示数值,反码作为原码到补码的过渡形式存在,补码可以简化运算避免符号位的特殊处理、实现模运算。
-
问题3:计算机科学的核心概念有哪些?它们是如何相互关联的?
-解答:计算机科学的核心概念主要包括以下几个方面:
一、数据结构与算法
数据结构:
定义:数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。
主要类型:包括数组、链表、栈、队列、树、图等。
作用:用于组织和存储数据,以便高效地进行访问、插入、删除和搜索等操作。
算法:
定义:算法是解决特定问题的一系列明确指令。
特性:具有确定性、有穷性、可行性、输入和输出。
分类:如排序算法(冒泡排序、快速排序等)、搜索算法(顺序搜索、二分搜索等)、图算法(最短路径算法、最小生成树算法等)。
作用:在给定的数据结构上执行特定的操作,以实现问题的求解。
二、编程语言
定义:编程语言是用于编写计算机程序的一种形式化语言。
分类:
按级别分为低级语言(如机器语言、汇编语言)和高级语言(如 C、C++、Java、Python 等)。
按编程范式分为面向过程语言、面向对象语言、函数式语言、逻辑编程语言等。
作用:程序员使用编程语言将算法和数据结构转化为可在计算机上执行的程序。
三、计算机体系结构
组成:包括中央处理器(CPU)、存储器、输入输出设备等。
存储层次结构:从高速缓存、内存到外存(硬盘、光盘等),不同层次的存储设备具有不同的速度和容量。
指令集架构:如 x86、ARM 等,决定了计算机能够执行的指令类型和格式。
作用:提供计算机硬件的基础架构,支持程序的执行和数据的处理。
四、操作系统
功能:管理计算机的硬件资源(如 CPU、内存、磁盘、网络等)和软件资源(如文件系统、进程、线程等),为用户和应用程序提供一个统一的接口。
核心组件:包括进程管理、内存管理、文件系统管理、设备驱动程序等。
作用:作为计算机系统的核心软件,使计算机资源能够高效、安全地被使用。
五、数据库系统
定义:用于存储、管理和检索数据的软件系统。
组成:包括数据库管理系统(DBMS)、数据库模式、数据存储介质等。
数据模型:如关系模型、层次模型、网状模型、面向对象模型等。
作用:为应用程序提供可靠的数据存储和访问服务。
这些核心概念相互关联:
数据结构与算法和编程语言:编程语言提供了实现数据结构和算法的工具。不同的编程语言可能对特定的数据结构和算法有不同的支持程度和实现方式。例如,在 C 语言中,程序员可以直接操作内存地址,适合实现一些底层的数据结构和算法;而在 Python 中,由于其高级特性和动态类型,更适合快速开发和实验性的算法实现。
数据结构与算法和计算机体系结构:计算机体系结构的特点会影响数据结构和算法的性能。例如,高速缓存的大小和层次结构会影响数据访问的速度,从而影响某些数据结构(如数组和链表)的性能表现。在设计算法时,也需要考虑计算机体系结构的并行性,以充分利用多核处理器的优势。
编程语言和计算机体系结构:编程语言需要编译或解释成计算机体系结构能够理解的机器语言才能执行。不同的计算机体系结构可能需要不同的编译器或解释器来支持特定的编程语言。同时,编程语言的发展也会推动计算机体系结构的创新,例如面向对象编程语言的出现促使计算机体系结构支持面向对象的特性。
操作系统和计算机体系结构:操作系统直接管理计算机体系结构的硬件资源。操作系统需要根据计算机体系结构的特点进行优化,以提高资源利用率和系统性能。例如,操作系统的内存管理模块需要了解计算机的内存层次结构,以便合理地分配和管理内存。
操作系统和编程语言:操作系统为编程语言提供运行环境。编程语言的运行时系统通常需要与操作系统进行交互,例如进行文件操作、网络通信、进程管理等。同时,操作系统的特性也会影响编程语言的设计和实现,例如多线程编程在不同的操作系统上可能有不同的实现方式和性能表现。
数据库系统和其他概念:数据库系统需要依赖操作系统进行文件管理和资源分配。编程语言可以通过数据库连接库与数据库系统进行交互,实现数据的存储和检索。数据结构和算法在数据库系统的内部实现中也起着重要作用,例如索引结构的设计和查询优化算法等。
基于AI的学习