• 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图形界面。

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

    三、MOOC视频学习

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


    有关Git和Github的使用可阅读参考:

    以及学长姐们的教程:

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

  • 相关阅读:
    随笔 JS 字符串 分割成字符串数组 并动态添加到指定ID的DOM 里
    phpmyadmin查看创建表的SQL语句
    thinkphp 3.2响应头 x-powered-by 修改
    Centos 7.0查看硬盘使用情况 命令
    centos 7.0安装花生壳
    centos 7.0 菜鸟接触命令 记录
    centos 7.0 ssh 登陆
    Sphinx 2.2.6 window下安装全过程 未完 持续标记~~~~
    c#多线程编程实战(原书第二版)文摘
    分布式锁的几种实现方式(转)
  • 原文地址:https://www.cnblogs.com/easteast/p/8421230.html
Copyright © 2020-2023  润新知