2017级面向对象程序设计寒假作业2

Deadline:2018.02.11 22:00 pm

第一次的寒假作业,开启了大家的寒假生活,转眼回到了“小学生作文题”的感觉。不知道是否也通过这次作业,将你的回忆时光拉回到了几年前或十年前,沉思回忆代替了纷扰的知识。很多同学回忆了小学、中学的课任老师,或书法、绘画的老师。无论他们是严厉还是宽容,是鸡汤还是淡定,都或多或少的影响或潜移默化改变着你。在经过一次时光超越后,书归正传,我们开启编码的作业。

一、Pintia小作业

注册pintia,填写昵称为“fzu+学号”,如:fzu031702101。登录后,在用户页面绑定学号:输入姓名、学号、验证码。

完成一道C/C++编程作业:题目地址,并将通过测试点的截图贴在下面一题博客的末尾。

二、编程题

一栋10层的大楼(楼层编号1-10),设有一台无限载重的电梯,初始时电梯停在1层。电梯移动1层的耗时为1,在某一层停靠的耗时为1(时间初始为0)。为了使得乘客等待的时间(电梯在目的层的停靠时刻 - 乘客发出请求时刻)总和最小,请你编写一个程序来进行电梯调度。

输入有5个请求,每个请求一行,格式为请求时刻 起始楼层数 去往方向,其中方向为0代表向上去往10层,为1代表向下去往1层。

输出每次对应的决策,每一行的输出格式为xx时,停靠在x楼。其中,“xx时刻”指的是在某层楼停靠的时刻,且不算入在该层的停靠时间。如:

  1. 当0时刻时,电梯此时在1层,输入有0 1 0,那么电梯从1层接客(1s)前往10层(9s),应输出10时,停靠在10楼(1+9=10)。此时,该乘客等待时间为(10-0=)10。
  2. 当0时刻,电梯此时在1层,输入有0 2 0,那么电梯从1层前往2层(1s),接上乘客(1s),前往10层(8s),应输出10时,停靠在10楼(1+1+8=10)。此时,该乘客等待时间为(10-0=)10s。

最后输出完成5个请求(所有乘客都到达目的地)后,各乘客的等待时间总和。

请自己设计5组测试用例,且具有一定代表性,用以验证程序是否是最小耗时。

编程语言选择C或C++都可以,但需要符合编码规范,且必须要有注释。要求在github上建立一个仓库,将本次作业代码提交到该仓库,并在博客开头给出仓库地址。注意:commit信息要遵守一定的git规范(可参看:git commit 规范指南),git必须使用命令行操作,不要使用github图形界面(可参看:廖雪峰Git教程)。

写一篇博客,在博客中描述在编码过程中,程序的不断优化过程。并列出一张表格,记录编写程序的代码行数、调试的bug数 、完成该次作业总耗时。

三、MOOC视频学习

在MOOC视频课程中找出一门或几门C++课程进行学习,至少包含15个课时,并给出选择该课程的理由和寒假学习计划(到几月几号,看完哪几章节)。要求将学习计划博客设置为置顶,并每日更新完成情况。之后将根据同学设定计划的完成情况来进行评分。



本次作业一共需要完成两篇随笔,代码及随笔作业皆不得抄袭。寒假作业共有5次,迟交5天内扣5分,不交0分,抄袭倒扣20分。

原文地址:https://www.cnblogs.com/easteast/p/8421230.html

时间: 2024-11-11 02:21:15

2017级面向对象程序设计寒假作业2的相关文章

【2017级面向对象程序设计寒假作业】第2次成绩排行

[2017级面向对象程序设计寒假作业]第2次成绩排行 作业地址 http://www.cnblogs.com/easteast/p/8421230.html 评分准则 本次作业满分 20 分,其中代码分数 10分.博客分数 10 分. 代码得分点在于: 运行10个测试点,视通过测试点的数量而定基础分.若存在仓库无代码文件或代码不通过编译.编译后无法运行等则视情况扣除大量分数. 是否符合输出规范.由于此次主要测试在于最终输出的乘客等待时间和,若对于各楼层的停靠情况的输出不合理则扣分较少,希望在之后

2017级面向对象程序设计寒假作业4

Deadline 2018.03.02 22:00 一.完成PTA题目集 题目集链接:https://pintia.cn/problem-sets/966322407656148992/problems 请独立完成,不要抄袭!助教会对提交的代码进行查重,若发现抄袭则倒扣分. 完成题目后请将提交结果的截图贴到下述博客的末尾. 二.自我总结博客 写一篇博客,作为在寒假中关于 C++ 已完成的自学内容的总结.博客中需要包括但不限于以下内容: 已学的内容总结 存疑的问题 花费的总时间 锻炼的代码行数 两

2017级面向对象程序设计寒假作业3

Deadline:2018.02.22 22:00 pm 题目描述基础:一栋10层的大楼(楼层编号1-10),设有一台无限载重的电梯,初始时电梯停在1层.电梯移动1层的耗时为1,在某一层停靠的耗时为1(时间初始为0).为了使得乘客等待的时间(电梯在目的层的停靠时刻 - 乘客发出请求时刻)总和最小,请你编写一个程序来进行电梯调度. 本次作业是在上一次的电梯调度的代码上进行改善迭代,不仅加入新的功能,也对程序的输入输出提出了新的要求. 作业要求 一. 输入从文件读取,输出是写入文件. 大家在学习 C

2017级面向对象程序设计寒假作业1

总有一些人在你成长的路上,或多或少帮助你,让你感动,让你难忘. ·化作春泥更护花 时过多年忘了那时的一点一滴,忘了其他,但是我还是记得她. 那还是小学,她经常把我们几个语文比较差的同学留下来额外辅导,耐心的给我们听写,帮我们改出哪里错了.临近考试她还把我们交到了她的家里,给我们辅导了好几节课,自始至终,他没有收过我们一分钱,也没有说什么,只是无私的给我们付出.当时我不知道她为什么要这么做,只是觉得她很好,是一个好老师.现在想想,这是十分可贵的,可贵的不是她没有收钱,可贵的是她的时时刻刻为了学生的

【2017级面向对象程序设计】作业三

gtihub 实现方法 代码构成:主函数,加上类电梯,加上结构体乘客,加上lua脚本3个. 基本思路: 运行前: 输入数据. 启动lua虚拟机. 运行时: 检查请求:检查有没有新的请求,有则放入总请求向量中. 同步:将新的请求同步到每个电梯的请求向量中,并判断是否可以前往该请求楼层,标记不能前往的乘客. 判断进出:判断乘客是否可以.愿意进出电梯,并标记这些乘客. 同步:将乘客状态与其他电梯同步. 输出:输出电梯停靠楼层. 调用:调用脚本函数对下一步移动方向进行处理. 移动:电梯移动. 完成判定:

2017面向对象程序设计寒假作业3!

实现简单电梯调度(2) GitHub:pullself 承接上文:2017面向对象程序设计寒假作业2! 上文调度方式的更新与优化 由于现在电梯可以在任意楼层停靠并且上下人.进行对应的修改. 建立在上文所使用的调度方式为基础,继续给出以预知和非预知为条件的两个程序. 代码行数 调试bug 编码时间 ?行 ?个 ?h ?行 ?个 ?h 预知版本 通过分析,我们可以知道,只需要对搜索方式进行修改即可,修改为通过接受到的请求,动态增加所需要搜索节点. 具体实现方式: 在搜索过程中加入目的地判断与记录.

2017级面向对象程序设计作业1

作业一 PTA题目集 电梯调度 跟着郭炜老师的视频学,虽然记了满满的笔记,也感觉对面向对象与类有了初步了解,但是还是写不出来电梯这道题,可能是c的基础太差了,只能尽力补救并赶上进度了. 附上部分笔记图片,我真的是有认真看视频跟着学,但是要写代码感觉还是很吃力.....有点心累. 原文地址:https://www.cnblogs.com/molly0107/p/8909985.html

2017级面向对象程序设计 作业三

GitHub C++的实现 1.数据的输入 2.将乘客分类,分别放入各个电梯的队列里 3.电梯得到响应,开始运行 4.电梯运行,判断是否有乘客上或下,是则停下 5.当完成所有乘客请求,结束. 作业中遇到的苦难与处理 1.关于三个电梯,思考是用三个类还是一个类定义三个对象. 解决方案.:考虑到如果更多电梯的话会比较麻烦,而且这三个电梯大体结构是类似的,故最后选择后者方案. 2.关于电梯输入的分配. 解决方案.:由于时间不多,每天都要抽空复习高数和准备四级考试,数据的分配我是按照电梯的功能划分,即用

2017面向对象程序设计寒假作业2

实现简单电梯调度 GitHub地址 本程序基于以下设定: 在乘客请求电梯时,电梯才知道乘客的信息. 电梯在每秒内会规划好下一秒的行动. 电梯不会超载,乘客不会等的不耐烦去走楼梯. 电梯可以在运行过程中瞬间掉头. 乘客请求时刻为整数时刻. 程序信息: 程序包括一个头文件,一个头文件中类的实现,和一个主函数. 头文件 passager.h . 长度20行. 包括类:passager. 成员变量(public): id(int):记录乘客的编号. isok(int):记录乘客的状态,分为0,1,2三种