oo第四次作业

很不幸由于一些原因,前两次的作业我都没有能够提交,虽然都尽力完成了,但没有经过公测和互测的洗礼,也不知道程序写的究竟怎么样,这里我只能简单说一下程序设计的思想了

第一次作业:多项式加减

这次作业中一共写了2个类,第一个类是poly类,用来记录每一个输入的多项式。其中有两个属性coe和index,前者记录系数,后者记录指数。

第二个类是polys,用于把输入拆分为单个的多项式,构造多项式的队列。

第二次作业:傻瓜电梯

按照要求设计了5个类:

elevator:电梯类,用于构造一个电梯,并且描述和记录电梯的运行状态。

request类:用于构造一个请求。

requests类:用于构造请求队列。

scheduler类:调度器类,包含schedule方法用于调度请求,和command方法用于执行请求。

floor类:用于记录楼层按钮以及每个楼层的电梯内按钮的状态。

第三次作业:ALS电梯

第三次作业基本继承了第二次作业的设计,新增了一个ALS_scheduler类,继承了第二次作业中的scheduler类,其中重写了schedule方法用于捎带策略的调度。

这一次作业正常提交了,但很不幸由于重写elevator类的toString方法时忘记给STILL状态的输出时间+1s,导致所有测试中的STILL输出时间都少了1,所有的公测都没有通过,所以依然是无效作业。

我挨个查看了公测用例的输出,发现除了上述输出错误以外,有几个测试用例输出还存在问题,主要问题还是在于调度算法有漏洞,schedule方法和command方法中对于电梯的状态有些情况难以同步。

最后是感想。首先,我作为一个13级的学生,还能和16级的学弟学妹们一起快乐地学习面向对象,我感到非常荣幸。oo这门课会对学生产生非常深远的影响,尽管我的编程能力小学生水平,oo还是潜移默化中使我的编程思想变成了面向对象式的编程。

以前对这门课充满了恐惧,其实最近埋头研究了一段时间,对oo还产生了浓厚的兴趣,这最后的机会我一定会好好把握。另外,自己测试时一定要仔细,修改了什么地方千万小心别漏掉什么东西,不然下场就是努力一星期变成无效作业。

原文地址:https://www.cnblogs.com/huayanglou/p/8711070.html

时间: 2024-08-25 09:59:51

oo第四次作业的相关文章

oo第四次博客总结

一.测试与正确性论证差异对比 测试,顾名思义,就是用一些有意义或无意义的输入去检测程序的正确性或鲁棒性,因其直观明了所以在写简单的程序时我们能迅速找出bug并加以解决.并且,这种方式是绝对客观的,只要和正确结果不匹配那么程序就一定存在一些问题.测试最大的缺点便是无法完全覆盖所有情况,即使很大的测试数据也可能跑不出来某些细微的bug,但这种bug有可能是致命的. 正确性论证则是从代码逻辑角度去分析代码,它的好处便是可以完全覆盖程序的所有情况并加以分析,只要分析不出错就能保证程序不出错,但这种方法的

OO第四阶段总结

一.测试与正确性论证的区别 从哲学的角度来说,正确性论证与测试的关系就像理论与实践的关系一样. 使用测试的方法检验程序正确性确实是一个非常方便可行且广泛运用的方法.可以通过几个简单或复杂的测试样例,迅速地校验程序主要逻辑是否正确,运行结果是否符合预期.但是对于较为复杂的问题来说,测试样例很可能并不能覆盖所有的情况,因此我们曾经引入代码覆盖率和分支覆盖率的概念.但是在操作过程中我发现,即使某个不完全的测试样例代码覆盖率达到100%,分支覆盖率高于95%,它仍然并不一定完全检验程序的逻辑是否正确,即

04+罗潇潇+罗潇第四次作业

04+罗潇潇+罗潇第四次作业 1.项目整体管理的过程 (1)项目启动,制定章程 (2)制定初步的项目范围说明书. (3)制定项目管理计划 (4)指导和管理项目执行 (5)监督和控制项目 (6)整体变更 (7)项目收尾 2.项目启动就是以书面的.正式的形式肯定项目的成立与存在,同时以书面正式的形式为项目经理进行授权.项目章程应当由项目组织以外的项目发起人发布,若项目为本组织开发也可以由投资人发布. 3.项目章程包括: (1)基于项目干系人的需求和期望提出的要求. (2)项目必须满足的业务要求和产品

软件工程(第四次作业)

第四次作业 题目: 1. 敏捷开发是在什么样的背景下产生的?其主要特点有哪些?什么时候选择敏捷开发更恰当,为什么? 2. Code smell 是如何产生的?有哪些典型的 code smell?代码重构(Code refactoring)有哪些优点?有哪些代码重构的方法? 答:1(1)敏捷开发的背景: 所谓敏捷开发是以用户的需求进化为核心,采用迭代.循序渐进的方法进行软件开发.在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视.可集成和可运行使用的特征.换言

软件工程第四次作业——团队作业

软件工程第四次作业--团队作业 本次作业采用团队作业的方式,我的队友是我的同班同学,他们分别为:(队长)亢健强,贾猛,黄明帅,黄珂锐.我们团队的总体任务是要做一个"乐谱识别与演奏"的软件,拍摄一张乐谱图片,它会使用光学识别转换成音乐. 此次团队作业中我得任务主要是做需求调研,为此我先总结了一下常用的需求调研方法的优缺点,然后结合我们团队的实际情况选出了一种最适合我们的调研方法. 调研方法 优 点 缺 点 实地观察法 调查者在实地通过观察获得直接的.真实可靠的第一手资料 有一定的偶然性,

<第四次作业查阅>hashmap由value找key的算法

问题:不同于第三次作业,第三次作业是按照key的值排序输出,第四次作业则是要求按照频率(hashmap的value值)排序,然后输出key的值,最开始的想法是还是沿用第三次作业的做法,想着查询一下怎么从value反得到key的值,最后发现这种做法不仅麻烦,而且效率特别低,也给了我启示,由于key-value对可能出现多对一的情况,所以由key的value比较容易高效,但是反之的效率就比较低,应该尽量能够避免试图通过value得key. Map中是一个key有且只有一个value. 但是一个val

结对作业(软件工程第四次作业)

软件工程第四次作业---代码审查 一.partner 结对伙伴:林路 代码链接:coding 二.代码审查表 功能模块名称 简单的语法分析程序 审查人 王灵杰 审查日期 2018.4.6 代码名称 简单的语法分析程序 代码作者 林路 文件结构 重要性 审查项 结论 头文件和定义文件的名称是否合理? 合理 头文件和定义文件的目录结构是否合理? 合理 版权和版本声明是否完整? 不完整 重要 头文件是否使用了 ifndef/define/endif 预处理块? 没有 头文件中是否只存放"声明"

面向对象OO第5-7次作业总结

面向对象OO第5-7次作业总结 学习OO七周了,深切的感受到了这门课程的不友好.前三次作业能够算是勉强地通过了,但是从第五次作业开始就完全GG了.这三次作业,从多线程电梯开始,然后文件监控,然后到出租车,都没有写出来有效的作业.所以就不按照给定的基于度量来分析自己的程序结构了. 第五次作业 多线程电梯 这次作业是根据第三次作业改写而来的,自认为前两个电梯写的还不错,只是电梯捎带功能上少了几个判断的条件,以为这次能够加入多线程完美运行.但是实际写起来却并不如意,各个线程本身写出来了,但是在各个线程

第四次作业——04树

第四次作业--树 一.学习总结 树的思维结构图 2.对于树学习总结 ⑴.树结构认识:树是一种非线性结构,每个节点有0个或多个后继节点,有且仅有一个前驱节点(根节点除外).在树中,递归方法可以放在考虑的首要位置 ⑵.学习这个结构遇到的困难:递归调用不会很清晰,代码量大,较难记忆. ⑶.树结构可以解决的问题:并查集问题 哈夫曼编码的问题. 二.6-1 二叉树操作集 1.设计思路 void CreateBTree(BTree &BT,string str){ 创建一个树T 定义一个i来计数 创建一个队