參考 題型範例 - 全國高級中等學校技藝競賽平台 工業類 112-6
本地下載題目(dbf)
題目:大樓電梯行程演算設計
問題描述
現在都會區高樓層(20 層上下)比比皆是,通常配置二部電梯以上。電梯內部所按目標樓層使命必達。電梯外部按壓往上或往下,有些設計使程式控制電梯各自分離操作,有些設計二部電梯連動操作。後者的好處是避免二部電梯都按以致有一部空轉,同時,計算出花費較短時間的電梯來服務。本題目採用後者。
二、操作規則
1. 二部電梯內部的按壓為電梯各自處理。
(1)電梯往上(下)時,電梯移動往該按壓之最高(低)樓層,達到內部按壓之最高(低)樓層後轉為停止(Z)或反轉,並清除該部電梯之所有內部按壓。
(2)途經相同方向的內部按壓之樓層電梯停留。
(3)當電梯為停止(Z)狀態,按高(低)於此樓層則電梯往上(下)。
2. 電梯外部的按壓為二部電梯連動。當電梯外部按壓時,程式計算二部電梯到達時間,具最短者指派之。
(1)程式先計算電梯行進時間,當碰到與 A 電梯同方向之外部按壓,同時比較 B 電梯,達到此按壓之時間較短者獲指派,依此進行直至無同方向之外部按壓。若無同方向之外部按壓,也無內部按壓的話,而有反方向外部按壓,則電梯行進方向反轉。
(2)當電梯行進方向反轉,計算方式同步驟(1),直到無同方向之外部按壓,也無內部按壓的話,電梯行進方向再反轉。
3. 假設電梯移動一樓層須 3 秒,內部或外部按壓之樓層停留 6 秒。
4. 依據電梯位置、方向、內外部按壓現況,當最近一次外部按壓時,程式計算二部電梯到此外部按壓樓層的時間以便決定啟動時間較短的電梯來服務。
5. *限制:程式模擬電梯向上(下)時,最高(低)之內外按壓不使用外部按壓向上(下)。
為簡化程式設計,以本題之二範例為主,變化只移動外部按壓位置,或增減內部按壓
數目。
三、符號表示
:表電梯外部連動按壓向上:表電梯反轉向下(上)
:表電梯外部連動按壓向下:表電梯移動向下(上)
:表最近一次電梯外部連動按壓向上
:表最近一次電梯外部連動按壓向下:表電梯內部按壓
電梯方向:U 表上升,D 表下降,Z 表停止 AI 及 BI :表 A 電梯及 B 電梯之內部按壓 OU 及 OD:表 A 及 B 電梯連動之外部按壓往上及往下 TAU 及 TAD :表電梯 A 上行及下行所需時間 TBU 及 TBD :表電梯 B 上行及下行所需時間
四、操作步驟 例一: (一)電梯位置與方向
電梯方向位置
AD8
BD8
最後外部按壓:
方向位置
U12

圖一 電梯位置方向內部按壓狀況
(二)電梯內外部按壓現況(在 12 樓外部按壓往上)



由圖一(A),電梯 A 之 1 樓及 5 樓有內部按壓(AI),電梯 B 之 6 樓有內部按壓(BI),外部按壓向上在 2 樓及 4 樓,最後外部按壓向上在 12 樓。執行時,當電梯 B 下行至 6 樓及電梯 A 下行至 5 樓,因各有內部按壓,各停留 6 秒,移動到下一層樓需 3 秒,故需 9 秒,即電梯 B 由 6 樓到 5 樓,電梯 A 由 5 樓到 4 樓時各加 9 秒(=6+3)。電梯 B 在 5 樓以下已無內部按壓,但其下仍有外部按壓,故要與電梯 A 比較到達時間,而電梯 A 在 1 樓仍有內部按壓,會下行至 1 樓,故電梯 B 獲指派 2 樓之外部按壓往上,餘此類推。經計算 2、4 及 12 樓外部按壓往上之 TAU 比 TBU 依序為(36:30)、(42:36)及(66:66),故 2、4 指派給比較早到之電梯 B。

例二:以圖一(B)為例;
(一)電梯位置與方向
電梯方向位置
AD3
BD16
最後外部按壓:
方向位置
D5

(二) 電梯內外部按壓現況(在 5 樓外部按壓往下)



由圖一(B),電梯 A 之 2 樓有內部按壓(AI),電梯 B 之 8、10 及 12 樓有內部按壓(BI),外部按壓向上
在 B1 樓及 4 樓,最後外部按壓向下在 5 樓。執行時,電梯 B 於 8、10 及 12 樓有內部按壓,故下行
至 7 樓已需 45 秒,電梯 A 於 B1 樓只需 15 秒,故 B1 樓外部按壓往上指派電梯 A。電梯 A 於 4 樓只
需 33 秒,故 4 樓外部按壓往上指派電梯 A。電梯 A 於 5 樓只需 42 秒,因其上已無外部按壓往上,
故 5 樓外部按壓往下指派電梯 A。當電梯 B 到 7 樓時 45 秒且已無按壓信號,故即可轉為停止。

程式執行
範例
輸入格式





解題說明


因為電梯反轉,會清除反方向內部按鈕之設定,
所以下面電梯內部按鈕在初值化時會被清除。

當電梯 A 到達 B1 時,F13 會被清除。
當電梯 B 到達 F15 時,F4、F1 會被清除。
這項清除工作不會考慮外部按鈕是否在電梯移動反方向。

本題沒有外部按鈕同時按上與下的測試資料。
如下圖,外部按鈕 6F 不可能發生。


計算成本問題
若電梯 A 與 電梯 B 同時到達,則考慮成本耗費最底者
為考量。也就是當時間都一樣時,就考慮完成目的耗費
最低為優先。
下圖右邊計算時間,電梯 A 與電梯 B 都是 15 秒到達,
然而電梯 A 比電梯 B 更省資源(電梯 A 比較近),所
以是電梯 A 達標。

本題題意不清處 題目提供之範例一: 當 B 電梯從 2F 接到外部按壓時,人員進入後,該人員會內部按壓幾樓? 沒有交代。 當 B 電梯從 4F 接到外部按壓時,人員進入後,該人員會內部按壓幾樓? 沒有交代。 題意可能指定 2F 與 4F 人員進入電梯後一律以最後按壓的 12F 為目標。 若此一來,則 A 電梯則不用隨行,因為 A 電梯到達 1F 後,內部所有人員均已離 開電梯,接下來又沒有接到 2F 人員,所以 A 電梯不會隨行至 12F,而 B 電梯會 直達 12F。 本題解答者為了逢合題意,解答方式為:電梯會隨行至最後外部按壓處。 本題與現實不合處 如下圖,當電梯 A 在 1F 人員進入後,電梯到了 2F 以後,人員出電梯以後,電梯 內部已無人員,相對 B 電梯到 3F 後清除了內部與外部按壓後,會繼續接上 4F 與 5F 按壓。A 電梯離得遠不會往上移動。 然而依本題題意,B 電梯到達 3F 以後,再到 4F 需要 3 + 3 + 6 = 12 秒,A 電梯到達 2F 以後到 4 F 需要 3 + 3 + 6 + 3 = 15 秒,所以 B 電梯接 4F, 則 B 電梯再到 5F 的時間為 12 + 3 + 6 = 21秒,A 電梯需要 15 + 3 = 18 秒,所以 A 電梯會接 5F。 本題解答者為了逢合題意,解答方式為:A, B 兩電梯會依時間輪流安排外部按壓處。

檔案格式說明 第一欄位代表樓層, -2(B2)、-1(B1)、1(1F)、2 ... 16(16F) 樓層資料固定 B2 ~ 16F 第二欄位代按鈕狀態, AI(A電梯內部按鈕)、BI(B電梯內部按鈕)、OU(外部往上按紐)、OD(外部往下按紐)

範例一






範例二






範例三






範例四






範例五






範例六






範例七




     測資下載      程式碼下載