lawpalyer logo

資訊處理 113 年程式設計概要考古題

民國 113 年(2024)資訊處理「程式設計概要」考試題目,共 7 題 | 資料來源:考選部

0 題選擇題 + 7 題申論題

請針對C++, Java 及Python 三種程式語言,以列表方式比較四種特 性:執行方式(編譯或直譯)、物件導向繼承機制、性能(執行速 度)、應用場景領域。(15 分) 請用C, C#, C++, Java 或Python 程式語言撰寫一個程式,定義一個 100 元素的陣列,每一個元素可以儲存的資料包含10 個字元長度 的字串,用以儲存姓名,一個整數用以儲存薪資,及一個浮點數用 以儲存年資,提供使用者一筆一筆輸入這些資料。(15 分)
請使用C、C++、C#、Java 或Python 程式語言,撰寫一個進位制轉換程 式的方法,方法接受一個合法的整數,並以參數形式回傳十進位制分別 轉成以string 資料型別表示的二、八、及十六進位制結果;主程式負責 可以持續接受輸入,檢查輸入為合法的整數值後,呼叫轉換程式的方法, 並顯示結果,如果輸入不是合法的整數,結束程式的執行。執行範例如 下:(25 分) 測試一:輸入31 →呼叫tenBaseTo2_8_16base(31),回傳11111, 37, 1F 測試二:輸入168 →呼叫tenBaseTo2_8_16base(127),回傳10101000, 250, A8 限制一:所撰寫的方法內,不可以使用任何程式語言內建或第三方提供的套件,即Python/Java不 可以使用import,C++、C#不可以使用using再加入套件…… 限制二:不可使用recursive的方式,亦不可以使用goto
(31)
(127)
請將下列C++語言的迴圈程式以for 迴圈方式改寫,並寫出此程式 片段輸出的結果。(5 分) int i=1; while (i <= 10) { if (i < 5 && i !=2) std::cout << 'X'; i ++; } 下列C++程式有一行錯誤,使得編譯無法通過。請列出那一行錯 誤,並寫出正確程式碼。修正後執行此程式,使用者輸入153 後輸 出為何?(5 分) 61230 1 2
如下的Python 程式,請說明執行後,如果輸入"guava"顯示的結果為何? 又如果輸入"kiwi"顯示的結果又為何?如無法正確執行,請說明原因,及 應如何修正?(25 分) 假設createLL方法會正確地建立單向連結的linked list。
請就如下的Java 程式,說明程式中各方法(包括建構子)執行的順序, 及最後顯示的結果。註:執行程序說明,如class LinkedList 建構子 (head, tail)→ ……(30 分)
請撰寫HTML 程式,執行後可以呈現如下的頁面,其中"Year"是最多四 位數的整數值,Submit 按鈕後,以POST 形式傳送表單的資料到後端 "addMovie.php"處理。(20 分)
9 10 11 12 13 14 15 16 17 #include <iostream> using namespace std; int main() { int number, originalNumber, remainder, result = 0; cout <<"請輸入三位數: "; cin >> number; originalNumber = number; while (originalNumber != 0) { remainder = originalNumber%10; result += remainder*remainder*remainder originalNumber /= 10; } cout << "輸出為:"<< result; return 0; } 執行下列C++程式,當使用者輸入32,其輸出結果為何?(5 分) #include <iostream> using namespace std; int main() { int x; cout << "請輸入一個正整數:"; cin >> x; for (int i = 1; x > 0; i++) { if (x % i == 0) cout << i << " "; if (x == i) { i = 0; cout << "\n"; cout << "請輸入一個正整數:" ; cin >> x; } } return 0; } 請利用C, C#, C++, Java 或Python 程式語言寫一個副程式,求二個 正整數的最大公因數(GCD)及最小公倍數(LCM)。(10 分) 61230 三、下列C++程式,當程式執行後輸入二個正整數,「7 10」,其輸 出為何?(5 分) #include <iostream> using namespace std; void getNumbers(int& input1, int& input2); void function1(int& var1, int& var2); void function2(int var1, int var2); void showResult(int result1, int result2); int main() { int first, second; getNumbers(first, second); function1(first, second); showResult(first, second); return 0; } void getNumbers(int& input1, int& input2) { cout <<"輸入二個正整數:"; cin >> input1 >> input2; } void function1(int& var1, int& var2) { int temp; temp = var1; var1 = var2; var2 = temp; } void showResult(int result1, int result2) { cout << "二個數輸出結果為:" << result1 << " " << result2 << endl; } 61230 若C++程式包含下列宣告: class Automobile { public: void setPrice(double newPrice); void setProfit(double newProfit); double getPrice(); private: double price; double profit; double getProfit(); } 且主程式(main function)包含下列宣告,並設定完成其member 變 數中的值。 Automobile Toyota, Nissan; 下列那些指令敘述(statements)在主程式中是合法的(legal),那些 是不合法的(illegal)?(10 分) Toyota.price = 5233.99; Nissan.setPrice(4000.24); double aPrice, aProfit; aPrice = Nissan.getPrice(); aProfit= Nissan.getProfit(); aProfit= Toyota.getProfit(); Toyota = Nissan; 請說明物件導向程式中多型(Polymorphism)的概念。多型通常可 以透過多載(Overloading)和覆寫(Overriding)來實現。請說明多 載與覆寫的定義與特性。(15 分) 61230 四、請說明下列二個PHP 程式的輸出結果。(8 分)  <!DOCTYPE html> <html> <body> <?php $i = 1; while ($i < 6) { if($i == 3) break; echo $i; $i++; } ?> </body> </html>  <!DOCTYPE html> <html> <body> <?php $x = 5; function myTest() { echo "<p>Variable x inside function is: $x</p>"; } myTest(); echo "<p>Variable x outside function is: $x</p>"; ?> </body> </html> 請寫一個PHP 程式,隨機產生一個0-100 的數。若該數小於等於 50,則輸出該數及「小」,若大於50 小於100,則輸出該數及「大」。 例如當產生65 時,輸出為「65 大」。(7 分)