阿摩線上測驗
登入
首頁
>
程式設計
> 104年 - 104年第二次程式設計#41545
104年 - 104年第二次程式設計#41545
科目:
程式設計 |
年份:
104年 |
選擇題數:
0 |
申論題數:
7
試卷資訊
所屬科目:
程式設計
選擇題 (0)
申論題 (7)
一、請利用 Java 或 C++實做一完整程式,可以將命令行(command line)傳入之一系列
表示整數的字串轉換成整數,再求其和與平均。若其中有資料格式不符,則印出
"Incorrect input!"之後停止程式執行,否則,請計算出這些數字的和與平均之後,再
將結果印出。平均值為浮點數,請利用無條件捨去法,取到小數第一位。以下是利
用 Java 實作時的執行範例:假設程式檔為 P1Solution,
>java P1Solution 88 90 100
The sum is 278.
The average is 92.6.
>java P1Solution 88 9A 100
Incorrect Input!
(20 分)
二、請實做一 Java 方法 m(String[ ] s)或 C++函式 m(int size, string s[ ]),可以對傳入的陣
列中的字串進行分析。主要任務是識別相異字串、計算共有多少相異字串、以及統
計每一相異字串的出現次數、最後並將統計結果印出。為使程式精簡,實做時請儘
量叫用標準 Java/C++程式庫的既有套件程式而避免自行重做。以下是使用範例:假
設傳入的陣列 s 內容為 {"80","90","10","70","90","90","10"},則輸出的結果應如下
文所示:
There are 4 distinct words:80,90,10,70.
80 occurs 1 time .
90 occurs 3 times .
10 ouucrs 2 times .
70 occurs 1 time .
(20 分)
三、請以 Java 或 C++撰寫實做一簡單幾何圖形類別系統(class hierarchy),可以表示圓 形、方形與矩形。圓形、方形與矩形之類別名稱分別為 Circle、Square 與 Rectangle。 三者的共同祖先類別 Shape 是一個抽象類別,代表所有可能的幾何圖形。Shape 下的 兩個具體子類別分別為 Circle 及 Square,Square 下則有 Rectangle 類別。 我們希望每一幾何物件均能提供以下方法:1.透過 getX(),getY()可得到幾何中心點的 X 與 Y 座標。2.透過 getArea()可得到圖形面積。 3.透過 getPerimeter()可得到圖形周長。 4.透過 translate(double x, double y):void 可對圖形進行位移。5.透過 scale(double f):void 可對圖形進行放大或縮小。 6.透過 toString():String 可得到該圖形的形狀種類、中心與長寬或半徑的文字 資訊。 其他類別須額外提供以下方法: 7. Circle 物件須提供 getRadius():double,可以取得物件半徑。 8.Square 物件須提供 getSide():double,可以取得邊長。9. Rectangle 物件須提供 getHeight(),getWidth():double,可以取得矩形的高 與寬。 每一類別僅需提供一建構式(constructor),其參數格式要求如下: 10. a. Shape(x,y),b. Rectangle(x,y,w,h),c. Square(x,y,s),d.Circle(x,y,r)。 所有參數的型態(type)均為 double,其中 x 與 y 為幾何圖形中心的 X 與 Y 座 標,r 為圓形半徑,w 與 h 為矩形的寬與高而 s 則是方形的邊長。請根據以上要 求,以 Java 實做此四類別(class)。除須符合上述要求之外,實做時尚須遵循一般 物件導向與軟體設計原則,尚須避免程式碼重複、產生無用欄位,以及資訊隱藏不 全等缺點。(20 分)
四、請以 Java 實做一多執行緒(multi-threaded)程式,由入口函式(或方法)main 產生 並啟動兩個子執行緒(thread):asker 以及 answerer。asker 會不斷的隨機產生兩個 個位數字 x 與 y,並將問題置於一佈告欄物件上,除此外並將"x+y="信息顯示在標 準輸出畫面上,而 answerer 則負責至佈告欄讀取問題,並將結果(x+y)顯示在標 準輸出畫面上,同時也執行換行,以便 asker 繼續在下一行提出問題。有關同步的 要求是,asker 每提出一個問題,answerer 就必須回答一次(不可多答也不可缺 答),並將結果輸出於原問題行後面。在 answerer 未回答並輸出結果之前,asker 不可以提出新問題。asker 與 answerer 將持續如此互動,直至主程式,利用插斷, 提醒 asker 不要再問問題為止,而 asker 接到要求之後,在結束自己前則須至佈告欄 公告結束問題詢問,answerer 則在得知結束問題並回答所有問題之後方可結束。最 後主程式待二子執行緒均結束後,印出"end of execution"系統方可停止。(20 分)
1.被呼叫後首先會利用 AJAX 功能,向同網站的/instantTemperature 網址送出 HTTP
GET 要求,並接收回傳的即時六都氣溫資訊。(10 分)
2.收到 JSON 格式資料之後,將其內容抽取並填入一新生表格(HTML TABLE)。 此表格應有六列二欄,其中第一欄存放六都名稱,而第二欄則存放對應氣溫。 (7 分)
3.最後再將步驟2.產生的表格,內插至名為 temperature_div 的 div 元素內,而完成 即時氣溫的顯示。(3 分)