zoukankan      html  css  js  c++  java
  • 2018面对对象_作业三

    Address of github

    C语言3电梯程序该如何运行:
    1、明确乘客需求
    2、针对乘客要求,写出相应调度函数
    3、调度函数并在对应文件输出

    拿到作业,发现是三部电梯,本来打算写出三个类,后来想想发现除了输出文件不同,调度函数几乎一样(除开只能特定楼层),于是乎最后只呈现出了一个电梯类,三个电梯变量。
    此次C++代码编写过程中的困难及解决:
    1、如何在三个不同的文件输出?输出文件不同时输出覆盖先前内容?
    解决方法:①在输出函数传参时,增加参数name,若name==1则输出在output1.txt,以此类推。②发现了追加写入功能,问题解决。
    2、如何决策某位乘客该进入何部电梯?
    解决方法:如果ask_floor and aim_floor均为偶数或一为1一为偶数(进入3号电梯),或全为奇数(进入1号电梯),否则进入2号电梯。(该方法,我认为并不优,个人感觉除了楼层判断,还应该根据三部电梯相对于该请求的距离、之后的移动来进行调度,才可以说是较为合理,而非简单地如上述判断,但能力有限,思考如何实现后无果)
    3、电梯调度的时候,如何相应对应请求(由2的方法得到对应电梯需要相应的请求,开始模拟)
    解决方法:对于已在电梯的乘客,优先相应最先进入电梯的乘客的请求。期间若经过其他请求楼层且去往方向与电梯运行方向一致则接送,否则先忽略,当该乘客到达目的地后,继续相应其次进入电梯的乘客的请求,以此类推直到响应完成。(这是我原先想出来的版本的退化,一开始想说把如何接送乘客推入堆,然后响应堆中最大(电梯向上运行)或最小(电梯向下运行)的请求,而运行原则同上,即只相应当前,如若出现更大或者更小的楼层,先忽略,但会推入堆之后响应,之后以此类推)
    4、由于不能未卜先知,电梯在无请求的时刻该如何运行?
    解决方法:决定让电梯滞留在先前抵达楼层,不作过多移动。

    小结:
    3个电梯的调度,互相之间如何配合,我认为确实超出了我当下的能力范围,只用纸笔运算,在小数据时尚可尝试出较优调度,当数据量一旦庞大,电梯与电梯之间的配合,着实让人烦躁,可以说怎么让3部电梯相互配合以到达较优的组合仍需不断构想猜测。

  • 相关阅读:
    tomcat配置http、https同时访问
    mycat 多库分表 单库分表(根据uuid)
    分页关联查询时 出现查出数据和条数不匹配 级联查询
    微信公众号转发网页
    maven导出jar包
    sqlserver分割字符
    mysql按字符分割字段排序
    对ajax中数据的得到以及绑定的认识
    对待事情应该有的态度!!!
    对Dom的认识
  • 原文地址:https://www.cnblogs.com/FormerAutumn/p/9030634.html
Copyright © 2011-2022 走看看