BUAA-OO-最后单元总结】的更多相关文章

需求分析 官方需求 本次作业需要模拟一个多线程实时多电梯系统,从标准输入中输入请求信息,程序进行接收和处理,模拟电梯运行,将必要的运行信息通过输出接口进行输出. 本次作业电梯系统具有的功能为:上下行,开关门.本次多部电梯的可停靠楼层,运行时间,最大载客量都不相同. 电梯系统可以采用任意的调度策略,即上行还是下行,是否在某层开关门,都可自定义,只要保证在系统限制时间内将所有的乘客送至目的地即可. 电梯系统在某一层开关门时间内可以上下乘客,开关门的边界时间都可以上下乘客. 简要分析 这次作业有几个关…
第一次作业 需求简要说明 针对符合规定的多项式表达式输出其符合格式规定的导函数多项式,格式错误输出WRONG FORMAT! 带符号整数 支持前导0的带符号整数,符号可省略,如: +02.-16>.19260817等. 幂函数 一般形式 由自变量x和指数组成,指数为一个带符号整数,如:x ^ +2. 省略形式 当指数为1的时候,可以采用省略形式,如:x. 项 变量项 带有系数的幂函数,如:2 * x ^ 2.-1 * x. 系数为1的时候,可以省略系数或表示为正号开头的形式,如:x ^ 2.+…
「BUAA OO Unit 2 HW8」第二单元总结 目录 「BUAA OO Unit 2 HW8」第二单元总结 Part 0 前言 Part 1 第五次作业 1.1 作业要求 1.2 架构设计 1.3 协作图 1.4 调度分析 1.5 bug分析 自己bug 使用了run而不是start方法启动线程 别人bug 1.6 对象头.锁和同步 对象实例结构 锁和同步 参考资料 对象锁 方法锁形式 代码块形式 类锁 静态方法形式 代码块形式 参考资料 1.7 线程安全--封装安全输出类 每次调用加锁…
「BUAA OO Unit 4 HW16」第四单元总结与课程回顾 目录 「BUAA OO Unit 4 HW16」第四单元总结与课程回顾 Part 0 第四单元作业架构设计 架构设计概要 AppRunner官方包代码简析与架构设计初步 一.AppRunner工作逻辑和流程 1. 属性 1.1 interaction 1.2 status 2. 行为 2.1 run Step 1 输入与解析模型 Step 2 输入与指令获取 Step 3 输出 二.我们的工作 1. 解析和存储元素 1.1 输入顺…
oo第一单元的作业是对多项式的求导.下面就是对三次作业分别进行分析. 第一次作业 分析 第一次作业相对来讲比较简单,甚至不用面向对象的思想都能十分轻松的完成(实际上自己就没有使用),包含的内容只有常数项和指数项.实际上这次作业给我的最大收获是初步认识了正则表达式的使用.程序的结构如下: 设计 结构十分简单,只有一个类(就是面向了过程...),类的构造函数用以处理输入的字符串,calcDiff()用来计算导数. 度量分析 从表格中可以看出来,factor()方法的复杂度与独立路径条数较高,这是因为…
OO第一单元作业总结 一.前言 开学四周,不知不觉已经做了三次OO作业.事实上,每一次作业对我来说都是很大的挑战,需要花费大量的时间和精力来学习. 虽然学得很艰苦,但最后还是连滚带爬地完成了.(好惨一人) 二.基于度量分析程序结构 (1)第一次作业 类图: 分析:第一次我写了三个类,Derivation类是负责构建一个整体的流程框架,输入.处理.求导.输出.Term类管理表达式的项,主要包含系数coe和指数index两个属性,Dealstr主要负责字符串合法性的判断和进行求导前一些简单的处理.此…
oo第二单元博客总结 在第一单元求导结束后,迎来了第二单元的多线程电梯的问题,在本单元前两次作业中个人主要应用两个线程,采用“生产者-消费者”模式和共享数据变量的方式解决问题.在第三次作业中加入多个电梯线程以后,沿用之前的模式,但是在控制线程的地方进行了部分相应的修改保证任务的完成. 第一次作业—傻瓜电梯 第一次作业是没有任何调度算法的傻瓜电梯,生产者生产请求,将请求加入存储的仓库队列.消费者消费请求,循环从仓库中取出请求,取出一个请求即运送他,直至运送完毕后,再进行循环. 下面是第一次作业的类…
OO第二单元优化博客 第五次作业没有性能分,但是,我在这一单元的宗旨就是写一个日常生活中 最常见的那种电梯,所以第五次我没有写傻瓜电梯,而是直接写了个\(look\),和第六次基本相同. 总计一下look算法的几个特点: 1.没有主次请求的区分. 2.电梯会一直往当前方向运行直到需要转向,转向条件为: ​ (1)当前电梯中没有乘客的目的楼层在当前方向上. ​ (2)当前方向上的楼层目前没有请求. 3.捎带时只捎带请求与当前方向相同的乘客. ​ (由于第五次第六次作业没有容量限制,所以可以把当前楼…
OO第一单元优化博客 第一次作业: 合并同类项+提正系数项+优化系数指数0/1=满分 第二次作业: 初始想法 一开始是想以\(sin(x)​\)和\(cos(x)​\)的指数作为坐标,在图上画出来就可以发现,两个坐标分别为\((a,b+2),(a,b+2)​\)的点能够合成\((a,b)​\)的点. 现在我们推广开来,假设有系数分别为为1,2,1的三个点\((a,b+4),(a+2,b+2),(a+4,b)\)即可合成一个\((a,b)\),即,若一排连续的\(n\)个点系数满足杨辉三角第\(n…
OO第二单元作业总结 在第二单元作业中,我们通过多线程的手段实现了电梯调度,前两次作业是单电梯调度,第三次作业是多电梯调度.这个单元中的性能分要求是完成所有请求的时间最短,因此在简单实现电梯调度的基础上,我还使用了一些调度算法来追求性能分,但是效果上不是很理想,只能勉强获得90分,在这里我想把我自己的做法写出了,供大家参考. 本次作业分为以下部分,三次作业实现介绍(包括调度方法), 总结作业.请读者各取所需. (注:本次电梯的全部调度算法仅针对作业题目,对实际情况并不相符) 三次作业实现 第一次…