2024-2025-1 20241401 《计算机基础与程序设计》 第五周学习总结

班级链接 2024计算机基础与程序设计
作业要求 第五周作业
作业目标 ①Pep/9虚拟机 ②机器语言与汇编语言 ③算法与伪代码 ④测试:黑盒,白盒

教材学习内容总结

《计算机科学概论》第六章

  • 计算机操作:
  1. 介绍了计算机的基本操作,包括机器语言的基本概念。
  2. 机器语言是由一系列二进制代码组成,计算机可以直接理解和执行的语言,但它难以编写和理解。
  • Pep/9虚拟机:
  1. 作为一台虚拟机,Pep/9用来说明机器语言的输入/输出操作。
  • 汇编语言:
  1. 汇编语言是一种低级语言,使用助记符代替机器语言的二进制代码,使得程序更易于编写和理解。
  2. 汇编语言需要通过汇编器转换成机器语言才能被计算机执行。
  • 表达算法:
  1. 介绍了伪代码的功能,包括变量、赋值、输入/输出、重复和选择等。
  2. 伪代码是一种表达算法的语言,它使得算法的描述更加接近自然语言,易于理解。
  • 测试:
  1. 讨论了所有程序都必须经过测试以确定其正确性。
  2. 测试计划是一个文档,说明了要全面测试程序需要运行的次数以及运行程序使用的数据。
  3. 每套输入的数据称为测试用例。

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

  • 单个字符的输入/输出:
  1. 介绍字符常量的概念。
  2. 讲解如何进行字符的输入和输出操作。
  • 数据的格式化屏幕输出:
  1. 讨论如何使用不同的格式符(如%d、%f、%s等)来格式化输出数据。
  2. 介绍printf函数的使用,包括字符串、数值、字符等不同类型数据的输出。
  • 数据的格式化键盘输入:
  1. 讨论如何使用scanf函数进行格式化输入,包括如何处理输入的数值、字符和字符串。
  2. 介绍输入时的格式控制和输入验证。
  • 扩充内容:
  1. 讨论使用%c格式符输入字符时可能遇到的问题,例如缓冲区读取换行符的问题。
  2. 提供解决%c格式符存在问题的解决方法,比如如何正确读取单个字符。

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

问题1:如何将算法转换为伪代码?
AI:

  1. 理解算法:
    在开始之前,确保你完全理解算法的逻辑流程和目标。
  2. 确定输入和输出:
    确定算法的输入(即算法开始时需要的数据)和预期的输出(即算法完成后应产生或返回的数据)。
  3. 分解算法:
    将算法分解为更小的步骤或逻辑块,例如初始化、迭代、条件判断、计算等。
  4. 使用控制结构:
    使用顺序结构(步骤按顺序执行)、选择结构(如if-else语句)和迭代结构(如for或while循环)来控制算法的流程。
  5. 描述操作:
    用简单的英语描述每个步骤的操作。例如,“计算总和”,“检查是否满足条件”等。
  6. 使用伪代码关键字:
    引入伪代码关键字,如 if, else, while, for, function, return 等,来表示不同的控制结构。
  7. 定义变量和数据结构:
    为算法中使用的数据定义变量和数据结构,并在算法中适当位置进行初始化。
  8. 注释和清晰性:
    在需要的地方添加注释,以提高伪代码的可读性。
  9. 检查逻辑:
    检查伪代码的逻辑是否与原始算法一致,确保没有遗漏任何步骤。
  10. 迭代和优化:
    根据需要对伪代码进行迭代和优化,以提高清晰度和效率。

问题2:为什么使用两次scanf时第二次会出现故障?
AI:
存在输入缓冲区问题:在使用scanf函数时,可能会遇到输入缓冲区中残留的换行符或其他字符,导致程序行为异常。
可以在scanf之后使用getchar()函数循环读取并丢弃缓冲区中的字符,直到遇到换行符或文件结束符(EOF)。另一种方法是使用scanf的格式字符串来忽略缓冲区中的特定字符。

基于AI的学习


学习进度条

计划学习时间:20h
实际学习时间:20h

posted @ 2024-10-24 13:57  Xseventeen  阅读(19)  评论(0编辑  收藏  举报