lawpalyer logo

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

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

0 題選擇題 + 13 題申論題

某公司欲對薪資低於5 萬元的員工調增薪資3%,但調薪後薪資上限5 萬元,原薪 資已達5 萬元的員工不調薪。請用C/C++、C#或Java: 寫一程式片段,可供不斷輸入一位員工的薪資,計算其調薪後薪資。所有員工處 理完後輸入A~Z 之任一字元結束。(10 分) 寫一程式片段,可供不斷輸入一位員工的薪資,所有員工處理完後輸入A~Z 之任 一字元結束。計算調薪後公司總薪資之增幅。(10 分)
使用C 語言,寫一個叫做count()的函式,此函式有2 個參數,一個是整數陣列 score,另一個是代表陣列大小的整數size。假設score 陣列的所有元素都有整數值, 此函式將計算陣列內有多少個不同的數值,並將其傳回。(25 分)
請將以下C++程式cout 的結果(程式中標示(a)-(f)者),依序寫出來。(24 分) int a = 3, b = 4, c = 10; cout << (a * b) / c << endl; // (a) cout << (a * b) / (double) c << endl; // (b) int i = 1, d = 1; for (i = 1; i < 6; i += 2) d *= i; cout << d << endl; // (c) cout << i << endl; // (d) char e = 'A'; cout << (e = = 'a') << endl; // (e) cout << e + 1 << endl; // (f) (N-1, 0) (N-1, N-1) (0, N-1) LINES N
若串列節點(list node)以C 語言定義如下: typedef struct ListNode *ListNodePtr; typedef struct ListNode { int Data; ListNodePtr Link; }; 請對以下問題作答。採用C++、C#、Java 等物件導向程式語言作答者須先說明所採 語言,並將以上定義改寫成適當的class 定義。 函式(function)void InsertNode(ListNodePtr Node, ListNodePtr *List)可以將 Node 所指的節點插入到*List 串列的最前面,並且使List 指著該節點,請寫出此 函式。(10 分) 請寫一程式片段,使用InsertNode 函式根據一個既存的串列ListA 建立出一新的 串列ListB,使得ListB 的順序正好與ListA 相反。(10 分)
假設以C 語言做如下宣告: int test[ ] = {10,20,30,40,50,60,70,80,90,100}; int *ptr = test; 請回答下列式子的值是什麼?(每小題5 分,共20 分) test[5] *(test + 8) ptr[1+2] *(ptr + 7)
下圖完全是由直線所構成的,包含一條水平線(軸)、一條垂直線(軸),以及其 他LINES 條線。以下C/C++語言程式能繪出此圖,其中副程式DrawLine(int x1, int y1, int x2, int y2)的功能是畫出座標自(x1, y1)至(x2, y2)之直線,請將程式碼中的 空格編號及答案寫出來。(24 分) const int N = 400; // 畫面的大小有400×400 點 const int LINES = 8; // 除水平線及垂直線外,共有LINES 條線 DrawLine(0, N-1, N-1, N-1); // 畫出水平線(軸) DrawLine(N-1, 0, N-1, N-1); // 畫出垂直線(軸) for (int i = 0; i < LINES; i++) // 畫出LINES 條線 { DrawLine( (a) , (b) , (c) , (d) ); } 101年公務人員特種考試警察人員考試、 101年公務人員特種考試一般警察人員考試及 101年特種考試交通事業鐵路人員考試試題 類 科: 資訊處理 全一張 (背面)
若陣列(array)float Revenue[10][12]記錄了公司近十年每個月的營收,請用C/C++、 C#或Java: 寫一程式片段,印出近九年每月營收相對於前一年度的成長率,單位為%,同一 年的12 個月印在同一列。(10 分) 寫一程式片段,印出近十年每季營收及該年總營收,同一年的每季營收及年總營 收印於同一列。(10 分) 101年特種考試地方政府公務人員考試試題 代號: 類 科: 資訊處理 全一張 (背面) 43760
一個簡化的龜兔賽跑系統有以下3 個類別,請以Java 語言撰寫這3 個類別的完整定 義:(30 分) Animal 類別代表動物,是一個抽象類別(abstract class),它有1 個private 屬性 name 與1 個protected 屬性speed,分別代表動物名稱與速度;有1 個public static 常數DISTANCE,其值為1000,代表賽跑的總距離;它有一個無引數建構子(no- argument constructor),會將name 設定為“No Name”,將speed 設定為1;也有一 個二引數建構子(two-argument constructor),會將name 與speed 分別設定為傳入 之參數theName 與theSpeed;它也有1 個toString()方法會傳回動物名稱與速度合併 後的字串;它有1 個time()的抽象方法(abstract method),用以計算動物跑完全程 所需時間。 Turtle 類別代表烏龜,是Animal 的衍生類別。它的無引數建構子會呼叫Animal 的 無引數建構子;它的二引數建構子會呼叫Animal 的二引數建構子;它的time()方法 會傳回烏龜跑完全程所需時間。它的toString()方法會先呼叫父類別的toString()以取 得名稱與速度,並與time()所計算的時間,合併成一個字串後傳回。 Rabbit 類別代表兔子,是Animal 的衍生類別。它有一個private 的屬性sleep,代表 兔子在比賽開始後睡覺的時間。它有一個無引數建構子,會先呼叫Animal 的無引 數建構子,然後將sleep 設定為0;它有一個三引數建構子,會先呼叫Animal 的二 引數建構子,然後將sleep 設定為傳入之第3 個參數theSleep;它的time()方法會傳 回兔子跑完全程所需時間,此時間需包含兔子睡覺的時間。toString()方法會先呼叫 父類別的toString()以取得名稱與速度,並與sleep 時間,以及time()所計算的時間, 合併成一個字串後傳回。 101年公務人員普通考試試題 類 科: 資訊處理 全一張 (背面)
撰寫一程式:(26 分) 輸入:自主控台(console)讀入一個正整數n(已知n>0)。 輸出:顯示e(實數)至主控台 說明:已知 K + + + + + = !4 1 !3 1 !2 1 !1 1 1 e ,所以我們可以利用這個公式求e,其中…的項 數愈多,則e 的精確度愈高。本題的程式在輸入n 之後,應依本公式計算出 e 值,程式在計算時,只需計算到公式最前面n 項為止的結果(例如當 3 = n 時,計算到 !2 1 !1 1 1 + + = e )。 備註: n n × × × = ... 2 1 !
某公司的系統必須紀錄員工的姓名(Name)、基本薪水(BaseSalary)及加班費 (OvertimePay),請用C++、C#、Java 等物件導向程式語言: 定義員工(Employee)類別(class),使其private 資料成員包含上述員工資料, 且其建構子函式(constructor)的參數即為這三項資料。類別中另含一public 成 員函式(member function),稱為TotalPay( ),可計算員工總薪水並return 之。 (10 分) 公司裡每位經理另有職務加給(DutyAllowance),請繼承(inherit)員工類別來 定義經理(Manager)類別,使其具有DutyAllowance 之private 資料成員,其建 構子函式之參數包括Name、BaseSalary、OvertimePay、及DutyAllowance, TotalPay( )成員函式可計算經理的總薪水。(10 分)
使用PHP 設計一個伺服器端的網頁,當使用者以瀏覽器開啟 http://localhost/radiobutton.html,網頁將顯示“請選擇遞送方式:”,並以兩個選項按 鈕(radio button),顯示“宅配”與“超商取貨”這兩種選項,最後並提供一個“提交” (submit)的按鈕,讓使用者提交其選取之結果給伺服器。當伺服器接收到網頁送回 之選項資料後,會執行同一個資料夾內的radiobutton.php,並將使用者選取的遞送方 式,加上前置詞“您選取的遞送方式是”後,在使用者的瀏覽器顯示出來。下列是 radiobutton.html與radiobutton.php的不完整程式碼,請填入完整的程式碼。(25 分) //radiobutton.html <html> <head> <title> PHP with radio buttons </title> </head> <body> // 使用<form>元素以提供2 種遞送方式的選項按鈕給使用者 </body> </html> //radiobutton.php <html> <head> <title> PHP with radio buttons </title> </head> <body> /* 填入必要的指令,將使用者選取的遞送方式,加上前置詞“您選取的遞送方 式是”後,在使用者的瀏覽器顯示出來。 */ </body> </html>
請使用C++或Java 撰寫三個類別(class):shape(形狀)、circle(圓形)與 rectangle(矩形),其中shape 為抽象類別(abstract class),而circle 與rectangle 為 衍生類別(derived class),均繼承shape。請在shape 中定義兩個介面(interface), 分別作為運算週長(circumference)與面積(area)的介面,並在circle 與rectangle 中分別實作其功能。(26 分)
菁英市有20 個區,若陣列(array)DistrictName[20]紀錄各區的區名,陣列Population[20] 紀錄各區的人口數,請使用ASP.net、JSP 或PHP: 寫一網頁程式片段,以公告該市各區人口資料,該公告網頁須以包含兩欄之表格 呈現,第一欄是區名、第二欄是該區人口數。作答時必須運用迴圈。(10 分) 修改前述網頁程式片段,使其亦可於該網頁顯示全市總人口數於前述表格下方。 (10 分)