2018面對物件 作業三

2022-03-28 23:29:03 字數 1121 閱讀 4872

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部電梯相互配合以到達較優的組合仍需不斷構想猜測。

2018面對物件 作業二

c語言實現的流程圖 c 物件導向實現的類圖 c過程流程與c 物件類圖區別 首先,二者思考的問題一致 如何規劃電梯排程,使得乘客需求滿足的情況下,執行時間最短。在這種前提條件下,面對過程與面對物件所存在的區別,我認為有如下幾點 僅為個人見解,如有錯誤歡迎指正 一 編碼區別 1 面對過程主張解決問題,主...

面對物件(中)作業

1封裝,繼承,多型 2利用抽象資料型別 類 將資料和基於資料的操作繫結在一起,資料被儲存在抽象資料型別內部,系統只有通過被授權的操作方法才能訪問資料。3物件可以用別的物件的引用與別的物件互相作用,條件是該物件的屬性與方法最好為public。不包括同一包,或子類 4 protected修飾符,在類的定...

面對物件三大特性

1.封裝 安全,在需要封裝的屬性或者函式前加雙下劃線,並提供讀 寫的介面 1.封裝是物件導向程式設計的一大特點 2.物件導向程式設計的第一步 將屬性和方法封裝到乙個抽象的類中 為什麼說是抽象的,因為類不能直接使用 3.外界使用類建立物件,然後讓物件呼叫方法 4.物件方法的細節都被封裝在類的內部 cl...