首页 > 编程语言 >学期2024-2025-1 学号20241306《计算机基础与程序设计》第5周学习总结

学期2024-2025-1 学号20241306《计算机基础与程序设计》第5周学习总结

时间:2024-10-27 20:43:48浏览次数:6  
标签:黑盒 学号 代码 白盒 2024 2025 算法 测试 机器语言

学期2024-2025-1 学号20241306 《计算机基础与程序设计》第5周学习总结

作业信息

这个作业属于哪个课程 [2024-2025-1-计算机基础与程序设计(https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP))
这个作业要求在哪里 [2024-2025-1计算机基础与程序设计第5周作业(https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP/homework/13276))
这个作业的目标 Pep/9虚拟机,机器语言与汇编语言,算法与伪代码,测试:黑盒,白盒
作业正文

教材学习内容总结

一.Pep/9虚拟机:
1.内存单元‌:由65536字节的存储空间构成,地址范围为-7FFF到7FFF(十六进制表示),相当于十进制数的-32768到327671。
‌2.字长‌:Pep/9的字长可以是2字节(16位)。
‌3.指令格式‌:一条指令由两部分组成,一是指令说明符(8位),二是(可选的)操作数说明符(16位)。
‌4.寄存器‌:拥有多个寄存器,重点研究的有程序计数器(PC)、指令寄存器(IR)和累加器(A),这些寄存器分别用于存储下一条指令的地址、当前正在执行的指令副本以及数据和运算结果。
二.机器语言与汇编语言
1.机器语言‌:
‌定义‌:机器语言是由0和1按一定规则排列组成的指令集,能被计算机硬件直接识别和执行。
‌特点‌:执行效率高,速度快,但可读性差,编程繁杂,且只适用于特定类型的计算机。
2‌.汇编语言‌:
‌定义‌:汇编语言用助记符、地址符号或标号代替机器语言的二进制码,是一种面向机器的低级语言。
‌特点‌:可读性较机器语言强,执行速度快,能直接对硬件实施控制。但编程效率不高,且为特定计算机设计,不同平台之间不可直接移植。
‌翻译‌:汇编语言编写的程序需要由汇编程序翻译成机器语言后才能被执行。
三.算法与伪代码
1.算法定义‌:
算法是一系列解决问题的清晰指令,能够对规范的输入,在有限时间内获得所要求的输出‌。
算法是解决问题的方法或过程,必须描述为一个有限步骤序列,并在有限时间内结束‌。
2‌.伪代码‌:
伪代码是一种介于真正的程序代码和非形式化描述之间的形式,使用结构化格式和特定词汇,易于人类理解‌3。
伪代码不是真正的计算机代码,不用于被计算机执行,而是用于描述算法的逻辑和步骤‌。
3‌.算法与伪代码的关系‌:
算法可以用伪代码来表示,伪代码帮助人们理解算法的逻辑和步骤,而不涉及具体的编程语言实现细节‌。
四.测试:黑盒,白盒
软件测试中,黑盒测试与白盒测试是两种重要的测试方法。
‌1.黑盒测试‌:又称为功能测试,主要检测软件的每一个功能是否能够正常使用。测试时,将程序视为一个不可打开的黑盒子,不考虑其内部结构和特性,仅通过程序接口进行测试。黑盒测试注重于测试软件的功能性需求,检查程序功能是否按照需求规格说明书的规定正常使用。其优点是与软件具体实现无关,测试用例可在软件实现过程中设计,有助于压缩项目总开发时间‌。
‌2.白盒测试‌:基于软件内部结构的一种测试方法,主要针对代码和程序逻辑进行测试。目的是发现代码中的隐藏错误,如逻辑错误、边界条件错误等,并保证每个逻辑分支正确执行。白盒测试需要测试工程师具备深厚的软件开发功底,精通相应的开发语言‌

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

  • 问题1:Pep/9虚拟机有哪些应用场景?
  • 问题1解决方案:
    教学目的‌:作为一种虚拟机,Pep/9在计算机科学教育中被广泛用于教学目的,帮助学生理解计算机系统的运作原理,包括硬件和操作系统的模拟。
    ‌算法与程序设计学习‌:通过Pep/9虚拟机,学生可以学习汇编语言编程,理解机器语言指令的执行过程,以及算法在底层硬件上的实现方式。
    ‌模拟与测试‌:Pep/9虚拟机可用于模拟特定计算机系统的行为,便于开发者在无需实际硬件的情况下进行测试和调试。
  • 问题2:高级语言是如何转化为机器语言的?
  • 问题2解决方案:
    编译‌:编译是将整个高级语言编写的源程序先翻译成机器语言程序,再生成可在操作系统下直接运行的执行程序(目标程序)。编译过程包括词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成等阶段。编译后的程序执行效率高,因为整个程序在执行前已经被完全翻译和优化。
    ‌解释‌:解释是逐句解释执行源程序,即解释一句执行一句,不产生目标文件。解释器读取高级语言源代码,逐句将其转换成机器语言并执行。解释方式灵活,便于调试和修改程序,但执行效率相对较低。
    编译和解释方式各有优缺点,通常根据具体需求和应用场景选择合适的方式。‌
  • 问题3:什么是编译器?
  • 问题3解决方案:
    定义‌:编译器是一种将高级语言程序转换为目标机器指令的程序,是软件开发过程中不可缺少的工具之一。
    ‌功能‌:编译器的主要功能是将高级语言(如C、C++、Java等)编写的源代码翻译成等价的低级语言(如汇编语言、机器语言)程序,以便计算机能够直接执行。
    ‌工作原理‌:编译过程通常包括词法分析、语法分析、语义分析、代码优化、存储分配和代码生成等逻辑步骤。编译器会逐一遍历源程序,完成相应的分析和转换工作,最终生成可执行的目标代码。
    编译器作为连接高级语言和机器语言的桥梁,在软件开发中发挥着至关重要的作用。它不仅提高了编程效率,还使得程序更易于维护和理解
  • 问题4:如何编写高效的算法?
  • 问题4解决方案:
    编写高效的算法是计算机科学和软件工程中的核心技能。以下是一些关键步骤和策略,用于编写高效的算法:
    ‌明确问题‌:
    确保完全理解问题,包括输入、输出和约束条件。
    分析问题的本质,确定是否需要优化时间复杂度、空间复杂度或其他性能指标。
    ‌设计算法‌:
    选择合适的数据结构:根据问题的需求,选择能够高效支持所需操作的数据结构。
    利用数学和逻辑:运用数学定理、公式和逻辑推理来简化问题。
    分治法:将问题分解为更小的子问题,然后递归地解决这些子问题。
    动态规划:当问题具有重叠子问题时,使用动态规划可以避免重复计算。
    贪心算法:在某些情况下,贪心策略可以产生最优解或近似最优解。
    ‌实现算法‌:
    使用高效的编程语言:选择执行速度快的编程语言,并熟悉其优化特性。
    编写清晰的代码:保持代码简洁、易读,并遵循良好的编程实践。
    利用库函数:当可能时,使用标准库或第三方库中的高效函数。
    ‌测试与验证‌:
    创建测试用例:设计一组涵盖各种情况的测试用例,以确保算法的正确性。
    性能分析:使用性能分析工具来测量算法的运行时间和资源消耗。
    调试与优化:根据测试结果进行调试,并优化算法以提高效率。
    ‌持续改进‌:
    学习新算法和技术:保持对最新算法和技术的了解,以便在适当的时候应用它们。
    反馈与迭代:根据用户反馈和实际应用中的表现,不断改进算法。
    ‌考虑并行与分布式计算‌:
    当问题规模庞大时,考虑使用并行算法或分布式计算来提高效率。
    ‌文档与注释‌:
    为算法提供详细的文档和注释,以便其他人能够理解其工作原理和如何使用。
    编写高效的算法需要不断的实践、学习和优化。通过遵循上述步骤和策略,可以逐渐提高算法设计和实现的能力。
  • 问题5:什么是贪心算法与动态规划?
  • 问题5解决方案:
    贪心算法与动态规划‌
    ‌贪心算法‌:
    ‌定义‌:贪心算法在求解问题时,总是做出在当前看来最好的选择,即局部最优解,试图通过局部最优推出全局最优。
    ‌特点‌:无后效性,即某个状态以后的过程不会影响以前的状态,只与当前状态有关。
    ‌适用场景‌:适用于一维问题,如教师排课系统、任务调度等。
    ‌动态规划‌:
    ‌定义‌:动态规划是一种递推算法,用局部最优解来推导全局最优解,主要用于解决具有最优子结构的问题。
    ‌特点‌:有回退功能,会根据以前的选择结果对当前进行选择,主要运用于二维或三维问题。
    ‌与贪心算法的关系‌:动态规划更为一般,贪心算法可以看作是动态规划的一个特例。
  • 问题6:黑盒测试和白盒测试的实际应用场景
  • 问题6解决方案:
    黑盒测试‌:
    ‌用户交互界面测试‌:模拟用户操作,验证界面响应和交互逻辑。
    ‌功能性测试‌:根据需求文档,测试软件功能是否按预期工作。
    ‌性能测试‌:评估软件在不同负载下的性能表现,如响应时间、吞吐量等。
    ‌后期阶段测试‌:主要用于软件开发的后期阶段,验证软件是否满足用户需求。
    ‌白盒测试‌:
    ‌复杂逻辑和算法测试‌:针对软件中的复杂逻辑和关键算法,确保逻辑正确性和代码覆盖率。
    ‌早期阶段测试‌:通常在软件开发的早期阶段进行,以便及时发现和修复代码中的错误。
    ‌安全性测试‌:验证软件的安全性要求,确保没有安全漏洞。
  • 问题7:除了黑盒测试和白盒测试,还有哪些其他的软件测试方法?
  • 问题7解决方案:
    除了黑盒测试和白盒测试,软件测试还包含多种其他方法,这些方法可以从不同角度对软件进行全面的测试。
    ‌灰盒测试‌:结合黑盒和白盒测试的特点,既关注外部表现也考虑内部逻辑。
    ‌静态测试‌:不运行程序,仅通过分析代码、结构等来检查程序的正确性。
    ‌动态测试‌:运行程序,检查运行结果与预期结果的差异,并分析性能指标。
    此外,从开发过程级别来看,还有以下测试方法:
    ‌单元测试‌:针对软件设计的最小单位进行正确性检验。
    ‌集成测试‌:在单元测试基础上,检查软件单元之间的接口关系。
    ‌系统测试‌:判断整个系统是否符合要求,包括功能、性能等测试。
    ‌回归测试‌:修改代码后重新测试,确认未引入新错误。
    ‌冒烟测试‌:对硬件或组件更改后进行的初步测试,确认基本功能正常‌。

基于AI的学习




标签:黑盒,学号,代码,白盒,2024,2025,算法,测试,机器语言
From: https://www.cnblogs.com/wujunlei/p/18508187

相关文章

  • 2024-10-27 闲话
    去年参加icpc杭州站之后在zju和yubai一起玩。当时yubai脱把骑车给我留下了深刻的印象。今年五一和yubai去nihon,在富士山下本栖湖旁边租了一辆电助力车子。在我的请求下,yubai又表演了他的脱把神技:【这里理应有一张照片,但是很遗憾我没找到,于是用一张富士山的照片替代吧......
  • P11233 CSP-S 2024 染色
    P11233CSP-S2024染色考试最后码方程忘记\(a[i-1]\)了,调不出来,只好\(50pts\)收尾。思路\(dp\)的难点在于确定一段的颜色后,无法快速找到上一段相同颜色的结尾。从这里入手,设\(dp[i][0/1][0/1]\)表示第\(i\)位颜色为\(1/0\),第三维表示是一段颜色的\(0\)开头或\(1......
  • 2024-2025-1 20241327 《计算机基础与程序设计》第五周学习总结
    作业信息|2024-2025-1-计算机基础与程序设计)||--|-|2024-2025-1计算机基础与程序设计第五周作业)||快速浏览一遍教材计算机科学概论(第七版),课本每章提出至少一个自己不懂的或最想解决的问题并在期末回答这些问题|作业正文|https://www.cnblogs.com/shr060414/p/18440575|教......
  • 【刷题10】2024.10.26
    来源:CTFHubSVN泄露扫描一下目录,发现有/svn,所以是svn泄露使用工具dvcs-ripper将泄露的文件下载到本地目录中先用ls-al查看,再转到.svn文件夹中查看下载的文件。根据题目可知,在旧版服务器,所以访问pristime文件夹,在其中找到了flagctfhub{4e0bf99268e97......
  • CSP2024游记
    CSP2024游记Day0去八中试机,感觉好像比难堪的电脑稍微快一点(然而考试当天好像并不是这样)。发现VSCode已经把插件下好了。Day1CSP-J没有。CSP-S13:30从家里出发去八中。到了之后原地乱晃,吃了一块巧克力(齁甜)。遇见了几个老师(忘了是谁了)。14:05进了八中科技楼。差点走成......
  • CSP-S2024&CCPC济南站游记
    初赛忘了,乱打的。得分-估分=\(13\),得分=\(79\)。Day-5忘了,打模拟赛被打爆。Day-4忘了,打模拟赛被打爆。Day-3忘了,打模拟赛被打爆。Day-2忘了,打模拟赛被打爆。我患上了一种只会做T1的病。晚上画画,CF啥都不会。Day-1和wmh坐上了一趟高铁。到了以后疯狂发徽章......
  • CSP-J/S 2024 游寄
    满纸荒唐言,一把辛酸泪。其实不是去年没去,只是去年复赛喜提15pts荣获四等奖,木有获奖证书。今年决定一雪前耻!坐标:窄西省浅圳市某郊区(。该区是弱区,目前已知的唯一一个官方承认的(不包括我的省四)复赛获奖选手是CSP-J2022以90pts的高分荣获三等奖(T1一个红题没AC?这是咋过初......
  • CSP2024游记
    发现很久没有写游记了!为什么呢,大概是中间的apio和noi都烂完了吧,这次csp虽然也不太行,但是毕竟没有到崩盘的地步,还是写一下罢。Day-1发生一些神秘的事情,不好评价。Day0下午在机房测试了frc,没有出问题。RoFtaCD的代码收不上去,他在主目录下建了个叫noi的文件夹,原来主......
  • CSP2024游记
    原来一打完马上写了。写了半程地铁。手机太卡,后台卡没了。果然八年前的手机已经该退役了。Day-2最后一场模拟赛了。因为是全真模拟所以机房里围了板子。注意到前一天训练记录刚写过不要一直盯一道题做,但是这场还是磕T2磕了三个多小时,赢赢赢赢赢赢赢赢赢赢赢赢赢赢赢赢赢赢......
  • CSP-S2024游寄
    复盘14:20进了考场,队长在我们考场……然后就试了一下机,发现自己不会Linux,还是用Dev,打开调试看了一下,发现没有编译命令,给我惊了一下,居然忘了编译命令,只能硬着头皮上了。把东西都备份了一下,然后发现鼠标滚轮是坏的,还有屏幕看着特别花,不一会脑袋给我看昏了。这算是一些劣势。然后......