阿摩線上測驗
登入
首頁
>
程式設計
> 100年 - 100年專門職業及技術人員高等建築師、技師、第2次食品技師暨普通不動產經紀人、記帳士考高等_資訊技師#40649
100年 - 100年專門職業及技術人員高等建築師、技師、第2次食品技師暨普通不動產經紀人、記帳士考高等_資訊技師#40649
科目:
程式設計 |
年份:
100年 |
選擇題數:
0 |
申論題數:
7
試卷資訊
所屬科目:
程式設計
選擇題 (0)
申論題 (7)
⑴一個網頁伺服器(web server)程式可以在其 port(port number 8000)接受多個 client 建立 socket 連線,並且以一個執行緒(thread)處理一個 client 的連線。
⑵假設 face 是 Graphics 類別的物件,使用 Graphics 類別內之函數,畫一個具有眼睛 與嘴巴的人臉 face,其中頭部是由左上角座標(50, 50)且邊長 200 的正方形之內切 圓所構成,兩個眼睛分別由起點座標(100, 100)、(180, 100)且長度 20 的水平線所 構成,嘴巴則由起點座標(120, 200)且長度 80 的水平線所構成。
⑴試以 UML 的類別圖(class diagram)表示上述 3 個類別及其關係。
⑵試以 Java 語言撰寫上述 3 個類別的完整定義。
三、試寫一個完整的 Java 程式,計算一個 n 人房間中,任何兩個人都必須握手一次之總 握手次數。(20 分) 此程式有下列 2 個類別: HandShakes 類別:內有一個靜態方法 countHandShakes(),此方法會接受傳入之參數 numPeople(人數),然後以遞迴(recursive)方式計算總握手次數。 Demo 類別:內有一個靜態方法 main(),此方法會要求使用者輸入房間內的人數, 然後呼叫 countHandShakes(),以取得總握手次數,最後將結果輸出。注意:輸出或 輸入時需有適當的提示文字。
四、假設一個以 C++定義的複數 Complex 類別如下,請以 C++指令完整定義下列三個方法:
⑴建構子函式(Constructor):Complex()
⑵多載運算子(overloaded operator):+
⑶多載運算子:–
Complex()會作初始化動作,多載運算子 + 與 – 會將傳入之另一個 Complex 物件,
分別與現有的物件作加法或減法運算。(15 分)
class Complex {
public:
Complex( double = 0.0, double = 0.0 ); // 建構子
Complex operator+( const Complex & ) const; // 加法
Complex operator–( const Complex & ) const; // 減法
private:
double real; // 實數
double imaginary; // 虛數
};
五、試以 Java 語言撰寫一個 equalArrays()方法,此方法接受兩個傳入之整數陣列,然後 使用 try-throw-catch 方式,比較這兩個陣列的內容是否相同。如果兩個陣列的個數 不相同,則 throw 一個 Exception(“Two arrays do not have equal length.”),此 Exception 必須由 catch 處理,並將訊息列印出來。如果兩個陣列的個數相同,則比 較這兩個陣列的內容是否相同,並將比較結果列印出來。(15 分) 假設 equalArrays()方法之標頭如下: public void equalArrays(int [ ] a, int [ ] b)