2017級面向對象程序設計寒假做業2

Deadline:2018.02.11 22:00 pmhtml

第一次的寒假做業,開啓了你們的寒假生活,轉眼回到了「小學生做文題」的感受。不知道是否也經過此次做業,將你的回憶時光拉回到了幾年前或十年前,沉思回憶代替了紛擾的知識。不少同窗回憶了小學、中學的課任老師,或書法、繪畫的老師。不管他們是嚴厲仍是寬容,是雞湯仍是淡定,都或多或少的影響或潛移默化改變着你。在通過一次時光超越後,書歸正傳,咱們開啓編碼的做業。git

1、Pintia小做業

註冊pintia,填寫暱稱爲「fzu+學號」,如:fzu031702101。登陸後,在用戶頁面綁定學號:輸入姓名、學號、驗證碼。github

完成一道C/C++編程做業:題目地址,並將經過測試點的截圖貼在下面一題博客的末尾。編程

2、編程題

一棟10層的大樓(樓層編號1-10),設有一臺無限載重的電梯,初始時電梯停在1層。電梯移動1層的耗時爲1,在某一層停靠的耗時爲1(時間初始爲0)。爲了使得乘客等待的時間(電梯在目的層的停靠時刻 - 乘客發出請求時刻)總和最小,請你編寫一個程序來進行電梯調度。segmentfault

輸入有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數 、完成該次做業總耗時。編碼

3、MOOC視頻學習

在MOOC視頻課程中找出一門或幾門C++課程進行學習,至少包含15個課時,並給出選擇該課程的理由和寒假學習計劃(到幾月幾號,看完哪幾章節)。要求將學習計劃博客設置爲置頂,並每日更新完成狀況。以後將根據同窗設定計劃的完成狀況來進行評分。


有關Git和Github的使用可閱讀參考:

以及學長姐們的教程:

注:本次做業一共須要完成兩篇隨筆,代碼及隨筆做業皆不得抄襲。寒假做業共有5次,遲交5天內扣5分,不交0分,抄襲倒扣20分。

相關文章
相關標籤/搜索