
109年特種考試地方政府公務人員考試試題
※注意:禁止使用電子計算器。
不必抄題,作答時請將試題題號及答案依照順序寫在試卷上,於本試題上作答者,不予計分。
本科目除專門名詞或數理公式外,應使用本國文字作答。
代號:
頁次:
-
一、請使用 Java、C#、C++或Python 等物件導向程式語言,建立矩陣相關
運算的系統,系統一共有三個類別,分別為抽象類別 Matrix,實作類別
MatrixMultiply 及MatrixAdd,其中:(30分)
*抽象類別 Matrix 中所有的變數跟方法皆為 protected,主要包含了:
.matrix1, matrix2, resultM 三個實數值二維 matrices 資料
.一個抽象的 checkDimension( )方法,用來檢查 matrix1跟matrix2是
否適合做所指定的運算
.一個抽象的matrixOperation()方法,用來對 matrix1跟matrix2進行運算
.一個 setMatrix()方法,可以將所傳入的兩個 matrices 複製到 matrix1,
matrix2
.改寫物件的 toString()方法,可以顯示 matrix1, matrix2及resultM 的
內容
*類別 MatrixMultiply,繼承類別 Matrix:
.實作 Matrix 中的兩個抽象方法,分別可以實現父類別內 matrix1及
matrix2進行乘法時的維度檢查及乘法運算,進行運算前會主動呼叫
checkDimension(),確定是否可以進行相關運算,如無法運算,
resultM 會被設定為 null 並回傳,否則進行運算,結果存於父類別的
resultM 並回傳
.一個空建構子及一個可以接受兩個二維 matrices 的建構子,建構子
中呼叫父類別的 setMatrix()方法,設定 matrix1及matrix2(空建構
子會將 matrix1及matrix2設為 null)
*類別 MatrixAdd,同 MatrixMultiply,僅實作抽象方法時,是以 matrices
加法為對象,進行維度的檢查及運算
二、請使用 Java、C、C++、C#或Python,分別使用 iterative 跟recursive 方
法,撰寫二元搜尋法,搜尋已排序的整數值數列。(20分)
註:假設數列資料是以具有 array 性質的 list 來存放
*模組程式應能接受欲搜尋的資料及已排序數列的相關資料
*模組程式應回傳所欲搜尋的資料是否在數列資料中