2023-2024-1 学号20231315第九周学习总结

学期:2023-2024-1 学号:20231315《计算机基础与程序设计》第九周学习总结

作业信息

这个作业属于哪个课程 2023-2024-1 《计算机基础与程序设计》
这个作业要求在哪里 2023-2024-1 《计算机基础与程序设计》
这个作业的目标 学习计算机科学概论第10,11章和《C语言程序设计》第8章
作业正文 https://i.cnblogs.com/posts/edit;postId=17857832

教材学习内容总结

本周我自学了计算机科学概论第10,11章和《C语言程序设计》第8章的相关内容,并对两本教材进行了总结。

计算机科学概论第10,11章总结

计算机科学概论第10,11章;主要介绍了操作系统的责任,内存和进程的管理,分时操作与虚拟机,内存管理方法,两种创造虚拟机的方法,CPU的调度方法,进程生存周期的各个阶段各种CPU调度算法的处理,文件,文件系统和目录的用途;文件扩展名,定义文件的基本操作,顺序文件访问和直接文件访问,目录树,磁盘调度算法等。

《C语言程序设计》第8章总结

第8章主要介绍了数组的定义和初始化,如何向函数传递数组,以及排序和查找。

教材学习中遇到的问题

计算机科学概论第10,11章

1系统软件是什么?

负责在基础层上管理计算机系统,他为创造和运行应用软件提供了工具和环境系统软件通常直接与硬件交互,提供的功能比硬件自身提供的功能要多。

2.什么是计算机的操作系统?

负责管理计算机资源,并提供人机交互的界面。

3应用软件是什么?

帮助我们解决现实世界问题的程序。

4 什么是多道程序设计,内存管理,进程,进程管理?

多道程序设计:同时在主存中驻留多个程序,由它们竞争CPU技术。

内存管理:了解主存中载有多少个程序以及它们的位置的动作。

进程:程序执行过程中的动态表示法。

进程管理:了解活动进程的信息的动作。

5什么是CPU调度?

确定主存中的哪个进程可以访问CPU以便执行的动作。

6.在计算机科学与技术中作业指什么?

程序和系统指令集合在一起。

7什么是分时?

多个交互用户同时共享CPU时间的系统

8虚拟机是什么?

分时系统创建的每个用户都有专用机器的假象。

《C语言程序设计》第8章

  1. 数组是什么?

    数组是计算机编程中的一种数据结构,用于存储一系列相同类型的元素。它可以在内存中连续地存储多个元素,并可以通过索引访问和操作这些元素。数组通常用于存储和处理大量数据,提供了方便的方式来组织和管理数据。

    数组的特点包括:

    元素类型:数组中的所有元素必须具有相同的数据类型,例如整数、浮点数、字符等。

    大小固定:数组在创建时需要指定其大小,即可以容纳的元素数量。一旦创建,数组的大小通常是固定的,无法动态改变。

    连续存储:数组中的元素在内存中是连续存储的,这也使得通过索引快速访问元素成为可能。

    索引访问:数组的元素可以通过索引值进行访问,索引从0开始,逐个递增。

    随机访问:由于元素的连续存储和索引访问的特性,数组支持随机访问,即可以直接根据索引获取对应位置的元素

  2. 如何在函数中调用数组

    作为参数传递:将数组作为参数传递给函数。函数可以声明一个数组类型的参数,并在调用函数时将数组作为实参传递进去。这样,在函数内部就可以通过该参数来访问和操作数组。。

  3. 选择法排序举例?

    void a(int arr[], int n)

    { int i, j, b, c;

    for (i = 0; i < n - 1; i++)

    { b = i; for (j = i + 1; j < n; j++)

    { if (arr[j] < arr[b]) { b = j;

    }

    }

    temp = arr[i];

    arr[i] = arr[b];

    arr[b] = temp;

    }

    }

  4. 交换法排序举例

    void b(int arr[], int size)

    { for (int i = 0; i < size - 1; i++)

    { for (int j = 0; j < size - i - 1; j++)

    { if (arr[j] > arr[j + 1])

    { int temp = arr[j];

    arr[j] = arr[j + 1];

    arr[j + 1] = temp;

    }

    }

    }

    }

    基于AI的学习

    我:我学习了本周我自学了计算机科学概论第8章和《C语言程序设计》第6章的相关内容,并对两本教材进行了总结。,请以苏格拉底的方式对我提问

AI:很高兴听到您学习了计算机科学概论和《C语言程序设计》这两本书的相关内容,并且进行了总结。现在,请允许我用苏格拉底的方式向您提问:

在您的学习过程中,最让您感兴趣的是哪些概念或思想?以及您认为这些概念或思想对您的学习和职业发展有何影响?

我:计算机科学概论第10,11章;主要介绍了操作系统的责任,内存和进程的管理,分时操作与虚拟机,内存管理方法,两种创造虚拟机的方法,CPU的调度方法,进程生存周期的各个阶段各种CPU调度算法的处理,文件,文件系统和目录的用途;文件扩展名,定义文件的基本操作,顺序文件访问和直接文件访问,目录树,磁盘调度算法等。 ### 《C语言程序设计》第8章总结 第8章主要介绍了数组的定义和初始化,如何向函数传递数组,以及排序和查找。

非常棒!你对计算机科学概论的第10、11章和《C语言程序设计》的第8章有了很好的理解。

AI:现在,让我们继续以苏格拉底的方式进行深入思考和讨论:

  1. 在操作系统中,内存和进程的管理是什么意思?为什么它们对于操作系统的正常运行至关重要?
  2. 你能详细解释一下分时操作和虚拟机的概念吗?它们在操作系统中起到了什么作用?
  3. 在CPU调度中,有多种不同的调度算法可供选择。你对其中的一些算法有了解吗?它们各自的优缺点是什么?
  4. 文件系统和目录在计算机中的作用是什么?你能举例说明文件扩展名的意义吗?
  5. 在《C语言程序设计》的第8章中,你学习了如何定义和初始化数组,并了解了向函数传递数组的方法。你能举一个实际的例子来说明这些概念的应用吗?

请根据您的学习和理解回答以上问题。我期待与您进行更深入的思考和讨论!

我:在操作系统中,内存管理是指操作系统对计算机内存资源进行分配和控制的过程。它负责跟踪哪些内存空间已被使用,哪些空间是可用的,并确保每个进程都可以访问其所需的内存空间。进程管理是指操作系统对进程的创建、调度和终止进行管理。它负责分配CPU时间片给各个进程,并处理进程间的通信和同步。

内存和进程的管理对于操作系统的正常运行非常重要。内存管理确保了各个进程能够协调使用计算机的内存资源,防止相互干扰和冲突。进程管理确保了各个进程按照一定的调度策略得到执行,保证了系统的高效和公平性。

分时操作是操作系统提供给多个用户共享计算机资源的一种方式。在分时操作中,操作系统将CPU的时间划分成若干个时间片段,每个用户在一个时间片段内独占CPU进行操作。这样,多个用户可以同时使用计算机,给人一种感觉就像每个用户都在独自使用一台计算机一样。

虚拟机是指通过软件模拟出的一台虚拟计算机。在操作系统中,虚拟机可以实现将一台物理计算机划分成多个逻辑上独立的虚拟计算机,每个虚拟机可以运行自己的操作系统和应用程序。虚拟机的作用包括提供资源隔离和安全性、提高硬件利用率、简化系统部署和管理等。

在CPU调度中,常见的调度算法包括先来先服务(FCFS)、最短作业优先(SJF)、轮转调度(Round Robin)和优先级调度等。每种算法都有其优缺点。FCFS简单且公平,但可能导致长作业等待时间过长;SJF可以减少平均等待时间,但无法处理长作业对短作业的饥饿问题;轮转调度能够平均分配CPU时间片,但对于长时间运行的作业可能造成响应延迟;优先级调度可以根据任务的优先级分配CPU时间,但可能导致低优先级任务长时间等待。

文件系统是操作系统中用于组织和管理文件的一种方式。它通过文件和目录的层次结构将文件组织起来,并提供对文件的读取、写入和删除等操作。目录则是用于组织和管理文件的容器,可以包含文件和其他目录。文件扩展名是文件名的一部分,用于表示文件的类型或格式。例如,".txt"表示文本文件,".jpg"表示JPEG图像文件,".mp3"表示音频文件等。文件扩展名可以帮助操作系统和应用程序识别和处理不同类型的文件。

在《C语言程序设计》的第8章中,数组的定义和初始化是指声明一个具有相同数据类型的一组连续的存储单元,并对其中的元素进行初始赋值。向函数传递数组可以通过将数组作为参数传递给函数,并在函数内部使用该数组进行操作。例如,我们可以定义一个用于计算数组元素和的函数,并将一个数组作为参数传递给该函数,函数内部可以遍历数组并累加元素的值。

这些概念的应用可以在很多地方见到,例如在编写一个学生成绩管理系统时,可以使用数组来存储学生的成绩,并编写相应的函数进行成绩的计算和分析。通过向函数传递数组,我们可以在函数内部对数组进行操作,比如计算平均成绩、最高成绩等。这样可以提高代码的重用性和可维护性,使程序更加模块化和灵活。

我:

代码行数(新增/累积 博客量(新增/累积) 学习时间(新增/累积)
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 18/38
第三周 200/250 4/4 20/25
第五周 300/300 3/3 20/20

以上是本周的学习进度条,我在代码行数、博客数量和学习时间上都有一定的增长,但仍需努力

posted @ 2023-11-26 20:07  向思源  阅读(14)  评论(1编辑  收藏  举报