參考 題型範例 - 全國高級中等學校技藝競賽平台 工業類

題目:水平主桿樹連線系統(H-Trunk Tree Connection System)


問題描述
水平主桿樹連線系統(H-Trunk Tree Connection System)
說明:
(一) 水平主桿樹連線:使用單一水平主桿將任意分佈的多個節點連接起來,簡稱水平主桿樹 (HTrunk Tree)。
(二) 水平主桿樹連線方法及實例展示:
① 如下左圖所示,在 10x10 網格平面上任意分佈 7 個節點;
② 如下中間圖所示,建置水平主桿線段 (x1,y)-(x2,y),其 x1 與 x2 座標分別為最左邊與最右邊的節點之 x 座標,其 y 座標為 7 個節點之 y 座標總和的整數平均值;
③ 如下右圖所示,將所有節點各以垂直線連接到水平主桿線段,即可得到水平主桿樹 (H-Trunk Tree),並計算水平主桿線段與所有垂直線段之總長度為 20 網格;其中最右邊的節點剛好落在水平主桿上,則其垂直線段為 0。


(三)系統設計:請參考以上陳述的觀念與方法,設計在 10x10 網格平面上連接任意分佈 7 個節點之「水平主桿樹連線系統」。
(1)每當系統啟動,能立即產生如範例左圖所示之初始畫面。
(2)每當滑鼠點選一下 Random Nodes 鍵,能隨機產生 7 個節點,每個結點的(x,y)座標範圍各限制在 2~9,及任何兩個節點的 x 或 y 座標都不允許相同,並立即清除繪圖畫布與網格數值,且重新繪出各節點位置與標示於網格平面上,如範例中間圖所示。
(3)產生 7 個節點後,每當滑鼠點選一下 H-Trunk Tree 鍵,能立即得到水平主桿樹連線,再以紅色粗實線繪出所有線段及顯示總長度之網格數值,如範例右圖所示。
(4)上述可重複操作直至滑鼠點選一下 Exit 鍵而離開此系統。
(5)繪圖 10x10 方陣網格時,每個方形網格大小應為清晰可辨別,以方便人工驗證總長度的網格數值。
範例 :
左圖為系統啟動之初始畫面,中間圖為每當滑鼠點選一下 Random Nodes 鍵產生任意分布 7 個節點,右圖為每當滑鼠點選一下 H-Trunk Tree 鍵立即得到水平主桿樹連線與顯示總長度之網格數值。 


測試階段做 7 個定點測試。(與題中範例相同)
題目範例可知 y 軸的平均值為無條件進入。




完成後影片


程式碼下載(GitHub)      程式碼下載(本地)


Microsoft Visual Studio Community 2022 (64 位元) - Current 版本 17.8.1