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

news/2024/10/24 14:03:24/文章来源:https://www.cnblogs.com/Xseventeen/p/18473219
班级链接 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/821177.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Thymeleaf基本使用

https://blog.csdn.net/weixin_45719444/article/details/122891930 介绍 官网:https://www.thymeleaf.org/ Thymeleaf是一个用于Web和独立环境的现代服务器端Java模板引擎。 简单示例打开IDEA,创建一个maven工程(quickstart archetype)。 在pom.xml文件中导入依赖,目前最…

漫谈自动化测试

前几天看到星球里几位同学在讨论各自所在团队的自动化测试实践案例和踩过的坑,蛮有意思的。 比如为了响应领导号召和满足绩效考核,搞各种各样的覆盖率指标;比如为了赶自动化测试覆盖率进度,每个接口和用例象征性的校验一下(甚至不校验不断言),各种各样意想不到的操作。 自…

AUTOSAR架构下,持续集成CI的最佳实践

随着汽车电子技术的快速发展,汽车软件的复杂性与日俱增,如何确保软件开发的高效性与稳定性成为了一个关键问题。为了解决这个问题,许多汽车企业和供应商逐渐引入了AUTOSAR架构,并在此基础上构建了持续集成(CI)流程。今天,我们就来探讨一下基于AUTOSAR架构的CI流程实践,…

哇!树链剖分(重链剖分学习笔记)

听说有人不会树链剖分? 前置芝士线段树 树状数组 Splay FHQ-Treap以上五种任意一种即可,这里主要讲线段树做法。 引入 树链剖分(Tree Line Pow Divide),一种解决树上快速路径修改查询问题的算法,一般指 重链剖分(Heavy Path Decomposition)。 思想图解 一个问题 如题,…

某SCADA系统发电机过速故障研究

某SCADA系统发电机过速故障研究 直观上讲,发电机转速过高故障最显然的特征应该就是“发电机转速”,因此对故障发生时的发电机转速进行可视化研究:如上图所示,对发电机转速进行了 Min-Max 归一化。该次故障报警时,确实存在转速较高的情况,但显然,并非转速高就会报警。通过…

CANOpen协议SDO中止报文(内存不足的解决方法)

今天在开发过程中,使用SDO进行字符串传输的时候出现了错误,检查到SDO服务器返回的报文帧是一个中止帧,中止代码为0x05040005这时候去翻CIA301的手册查中止代码的含义为内存不足经过断点调试跟踪,发现在config.h中是一个配置宏设置的是32,而我的字符串的长度为50,所以就中…

WinDbg快速分析异常情况Dump文件

https://syxdevcode.github.io/2017/12/04/WinDbg%E5%BF%AB%E9%80%9F%E5%88%86%E6%9E%90%E5%BC%82%E5%B8%B8%E6%83%85%E5%86%B5Dump%E6%96%87%E4%BB%B6/WinDbg快速分析异常情况Dump文件 生产环境偶尔会出现一些异常问题,WinDbg 或 GDB 就是解决此类问题的利器。调试工具 WinDb…

20222317 2024-2025-1 《网络与系统攻防技术》实验三实验报告

一、实验内容 本次实验目的为通过多次加密、文件格式欺骗、填充、加壳等技术手段实现恶意代码免杀,产生恶意程序,并尝试通过杀毒软件,不被杀毒软件检测出来。具体实验内容如下: 1.正确使用msf编码器,使用msfvenom生成如jar之类的其他文件; 2.能够使用veil,加壳工具; …

EventTranscript.db占用空间太大,文件能否移动到其他位置?

在大多数情况下,EventTranscript.db 文件可以被移动到其他位置(不建议移动、删除),这样做可能会对系统日志记录功能产生影响:日志记录功能:移动 EventTranscript.db 文件可能会导致系统日志记录工具无法正常工作。系统完整性:在操作系统中,日志文件的位置是系统配置的一…

Windows下dump文件生成与分析

一 生成Dump文件 生成dump文件有三种方式:任务管理器生成,windbg抓取,源码中添加dump转储代码。需要根据实际情况选择。 1.1 任务管理器 在程序崩溃后,先不关闭程序,在任务管理器中找到该程序对应的进程。右键—>创建转储文件。 1.2 WinDbg抓取 程序运行崩溃后,先不关…

Mysql出现连接错误解决办法

一、显示二、原因分析出现这个错误的原因是MySQL 8 之前的版本中加密规则是mysql_native_password,而在MySQL 8之后,加密规则是caching_sha2_password。三、解决办法升级连接客户端 还原加密规则为mysql_native_passwordALTER USER root@% IDENTIFIED WITH mysql_native_pass…

P5663 [CSP-J2019] 加工零件 题解

最短路对于上图,如果我们相知道 $2$ 号工人想要一个 $3$ 阶段的零件,其实是看 $2$ 到 $1$ 有没有一条长度为 $3$ 的路径.但如果要求 $4$ 阶段的路径,那就不一定了. 所以我们直接求一遍最短路,分奇最短路和偶最短路. 处理完后,最后一次 $\Theta (1)$ 的回答,如果路径长度过…