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

发布时间 2023-12-02 20:47:52作者: 20231402刘穗荷

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

作业信息

这个作业属于哪个课程 2023-2024-1-计算机基础与程序设计
这个作业要求在哪里 2023-2024-1计算机基础与程序设计第10周作业
这个作业的目标 自学计算机科学概论第12,13,14章 ,《C语言程序设计》第9章
作业正文 https://www.cnblogs.com/lsh0815/p/17865519.html

教材学习内容总结

《计算机科学概论》

  • 12章主要介绍了电子数据表,数据库管理系统,13章则介绍了人工智能,讲了图灵测试,知识表示,专家系统,生物神经网路和人工神经网络,以及机器人学,14章介绍了模拟,模型和游戏。

《C语言程序设计》

  • 这章主要讲了指针变量,按值调用和模拟按引用调用,函数指针及其应用。

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

  • 问题1:为什么要尽量在公式中使用常量?

  • 问题1解答:
    在计算机编程中,尽量在公式中使用常量而不是硬编码的数字有一些重要的原因:

    1. 可读性和可维护性: 使用常量可以增强代码的可读性。通过使用具有描述性名称的常量,代码更易于理解。硬编码的数字可能不够清
      晰,并且在多次使用相同数值时,如果需要进行修改,可能需要在多个地方进行更改。使用常量可以使代码更容易维护,因为只需在一个地方进行修改即可。
    2. 易于调整: 如果在公式中使用硬编码的数字,当需要更改数值时,你必须找到每一个使用该数值的地方进行修改。而使用常量,你只需修改常量的定义,整个程序中使用该常量的地方都会得到更新。这降低了出错的可能性。
    3. 提高代码的灵活性: 使用常量可以提高代码的灵活性。如果将常量用作公式中的参数,可以轻松调整这些参数,而不必修改公式本身。这样的设计使得程序更容易适应不同的需求。
    4. 数值精度: 在一些科学计算或需要精确数值的情况下,使用常量可以确保数值的一致性。硬编码的数字可能会导致舍入误差或其他数值问题。
    5. 符号表达: 常量的使用可以增加代码中的符号表达,使得代码更易理解。例如,如果你在代码中看到PI代表圆周率,就比看到3.14159更容易理解。
    6. 代码重用: 使用常量可以促进代码的重用。如果某个数值在不同的地方多次使用,将其定义为常量可以方便地在其他地方重用,而不必复制粘贴相同的数字。

    总的来说,使用常量可以提高代码的可读性、可维护性,降低出错的概率,增加代码的灵活性,促进符号表达,以及方便代码重用。这些因素都有助于编写更高质量的、易于理解和维护的代码。

  • 问题2:如何解决词法二义性和句法二义性给计算机带来的问题?

  • 问题2解答:
    词法二义性和句法二义性是自然语言处理中常见的问题,它们给计算机处理语言带来了挑战。以下是解决这些问题的一些方法:
    词法二义性(Lexical Ambiguity):

    1. 上下文分析: 利用上下文信息可以帮助解决词法二义性。通过考虑词语在句子中的位置以及与其他词语的关系,可以更准确地确定词语的含义。
    2. 词性标注: 使用词性标注可以帮助消除一些词法二义性。对于同一个词,根据其在句子中的词性,可以更好地确定其含义。
    3. 语法分析: 通过与句法分析结合,可以更全面地理解句子的结构,从而减少对词法的二义性。

    句法二义性(Syntactic Ambiguity):

    1. 上下文分析: 类似于词法二义性,上下文分析在解决句法二义性时也是有效的。通过考虑整个句子的结构和语境,可以更好地理解句子的含义。
    2. 使用语法规则: 制定和使用明确的语法规则可以帮助解决句法二义性。定义更精确的语法规则可以减少模糊性。
    3. 概率模型: 使用概率模型(例如,隐马尔可夫模型、条件随机场)来处理句法结构可以考虑多个可能的解析,并为每种可能性分配一个概率。这样可以在多个可能性之间做出权衡。
    4. 语言模型: 使用语言模型可以帮助理解句子的合理性。如果一个解析在语言模型中更为自然,那么它可能更有可能是正确的。
    5. 语义分析: 考虑句子的语义结构,可以帮助排除一些句法二义性。语义分析可以提供关于句子含义的信息,有助于选择正确的语法结构。

    在处理自然语言时,通常会综合运用这些方法,选择最适合特定应用场景的策略。这可能涉及到机器学习、深度学习和基于规则的方法的组合。解决词法和句法二义性是自然语言处理领域的一个重要挑战,需要不断的研究和改进。

  • 问题3:微分方程的输入是怎样影响不同模型输出结果的好坏的?

  • 问题3解答:
    微分方程是描述变化和变动的数学工具,它在建模动态系统和自然现象时非常有用。微分方程的输入可以是系统的初始条件和外部驱动力,这些输入对于模型的输出结果有着重要的影响。
    以下是微分方程输入如何影响不同模型输出结果的好坏的一些方面:

    1. 初始条件: 微分方程的解依赖于初始条件。初始条件是指在时间 t=0 时系统的状态。不同的初始条件可能导致系统在时间的演化中产生不同的行为。因此,对于同一个微分方程,如果初始条件不同,模型的输出结果也会不同。
    2. 外部驱动力: 一些微分方程模型包括外部驱动力或输入项,这些项表示系统受到的外部影响。外部驱动力的幅度、频率和时间特性会直接影响系统的响应。对于某些系统,外部驱动力可能是决定系统行为的关键因素。
    3. 参数: 微分方程中的参数也对模型输出产生显著影响。调整参数的值可能会改变系统的动态特性。在某些情况下,参数可以表示系统的特性,如阻尼比、质量、弹性系数等。调整这些参数可以模拟不同条件下系统的响应。
    4. 系统复杂性: 输入如何影响输出还取决于微分方程模型的复杂性。一些系统可能对初始条件和外部驱动力非常敏感,而另一些可能对这些因素相对不敏感。在一些情况下,系统可能对某些输入变化非常稳定,而对其他输入变化则非常敏感。
    5. 数值求解方法: 对微分方程进行数值求解时,选择的数值方法也可能影响模型的输出结果。一些数值方法可能对某些类型的微分方程更有效,而对另一些可能不太适用。数值误差的累积也可能在模拟的长时间尺度内引入一些不确定性。

    总体来说,微分方程模型对输入的敏感性取决于具体的方程形式和系统特性。通过仔细选择合适的初始条件、外部驱动力和参数值,以及合适的数值方法,可以更好地理解和预测微分方程模型的行为。

基于AI的学习










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

  • 问题1:没标列数

  • 问题1解决方案:在定义函数时标明二维数组的列数。

上周考试错题总结

  • Which of the following describes a CPU scheduling algorithm in which each process is given a small amount of time to use the CPU before being forced to wait until its turn comes around again?
    A. Shortest-job-next B. First-come, first-served
    C. Time slice D. Round robin
    E. Turnaround time
    正确答案: D
    你的作答: C
  • An operating system uses nonpreemptive CPU scheduling when a process moves from the waiting state to the ready state.
    正确答案: 错误
    你的作答: 正确
  • A text file contains bytes of data that represent characters from a particular character set such as ASCII or Unicode.
    正确答案: 正确
    你的作答: 错误

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 0/0 2/2 20/20
第二周 100/100 2/4 40/40
第三周 300/300 6/7 62/60
第四周 500/500 8/9 80/80
第五周 800/800 10/10 100/100
第六周 1200/1200 11/11 120/120
第七周 1500/1500 13/13 140/140
第八周 2000/2000 14/14 160/160
第九周 2500/2500 16/16 178/180
第十周 3100/3000 17/18 200/200
  • 计划学习时间:20小时

  • 实际学习时间:22小时