資訊處理 109 年程式設計概要考古題(共 5 題)
資料來源:考選部歷屆試題|法律人 LawPlayer 整理
https://lawplayer.com/exam/information-processing/109-%E7%A8%8B%E5%BC%8F%E8%A8%AD%E8%A8%88%E6%A6%82%E8%A6%81
第 1 題
智慧型新社區內,住戶都擁有電動車,街道上有許多電動車停車格,停車
格編號代表距離該街道起始點的整數距離(公尺),因此多個停車格可以
有相同的編號。為了避免浪費,社區內要擴大其中一個停車格用來設立共
用快速充電站。經過投票,充電站要設在最「中央」的位置,也就是離所
有停車格平均距離最短的位置。
㈠若輸入資料為15 個停車格,編號分別為5, 5, 5, 12, 18, 18, 25, 25, 31, 31,
40, 45, 45, 45, 45,請計算並說明該以那個編號的停車格來擴大改建為快
速充電站?(5 分)
㈡下列流程圖可用以計算充電站該設立的位置。請問三個空白框(總距離
= …, 最短距離=…, 中央位置=…)正確的運算式為何?(15 分)
㈢請將該流程圖以有效率的C/C++語言撰寫出來。(10 分)
第 2 題
請說明下列程式設計重要名詞的差異。(25 分)
㈠執行期錯誤(Runtime Error),語意錯誤(Semantic Error),語法錯誤
(Syntax Error)
㈡動態記憶體配置(Dynamic memory allocation),靜態記憶體配置(Static
memory allocation)
第 3 題
下列用Python 所寫的遞迴程式,會產生一系列的指令,用以把下圖在A
柱子上的5 個圓盤全部移到C 柱子上,且移動過程中能確保不會有圓盤
疊在更小的圓盤上。
㈠請說明MoveDisk 函式總共會被呼叫幾次?(5 分)
㈡請說明總共會輸出幾個移動圓盤的指令?(10 分)
㈢請說明第三大的圓盤(也是第三小的圓盤)總共會移動幾次?(10 分)
def MoveDisk (n , from_pole, to_pole, aux_pole):
if n == 1:
print ("Move top disk from pole ",from_pole,"to pole",to_pole)
return
MoveDisk (n-1, from_pole, aux_pole, to_pole)
Print ("Move top disk from pole ",from_pole,"to pole",to_pole)
MoveDisk (n-1, aux_pole, to_pole, from_pole)
MoveDisk(5, 'A', 'C', 'B')
第 4 題
請說明下列常見html tag 的用途為何並顯示結果?(20 分)
㈠ This is difficult.
㈡ This test is easy.
㈢