• 沒有找到結果。

99決賽開放組試題

N/A
N/A
Protected

Academic year: 2021

Share "99決賽開放組試題"

Copied!
8
0
0

加載中.... (立即查看全文)

全文

(1)

臺北市九十

北市九十

北市九十九

北市九十

九學年度高級中等學校

學年度高級中等學校

學年度高級中等學校

學年度高級中等學校

學生電腦軟體設計競賽

學生電腦軟體設計競賽

學生電腦軟體設計競賽

學生電腦軟體設計競賽

開放組決賽試題

開放組決賽試題

開放組決賽試題

開放組決賽試題

題目一:常用中英句子翻譯系統

請設計一個簡單的伺服器常用中英句子翻譯系統。當您輸入某些特定的中(英)句 子時,伺服器可以幫忙翻譯並回應你對應的英(中)句子。 特定的句子對應如下: Client 輸入: I am John. Server 回答:我是 John。 Client 輸入: Hi, how are you? Server 回答:您好嗎?

Client 輸入:您今年幾歲? Server 回答: How old are you? Client 輸入: 我住在台北市。 Server 回答: I live in Taipei.

Client 輸入: How long will you work a day? Server 回答: 您一天工作幾小時?

Client 輸入: 其它不符合以上句子的輸入,皆以錯誤輸入處理。 Server 回答: I cannot understand. 我看不懂輸入。

請您利用以上的 client 句子,試者在 server 上建立一個簡易的資料庫,當 client 端輸入句子至 server 端,經 server 辨識後回應相對應翻譯後的句子。您可以使用 任何你所熟悉的程式開發工具,如 C/C++, Java, .NET 等等。使用者介面可以使 用任何一種格式,例如使用 MS-DOS (command line)、Window 視窗介面 Swing 或 Web Browser 皆可。(給分:程式設計 60%,功能及正確性 30%,畫面 10%)

(2)

題目二:網路 21 點遊戲

請設計一個網路 21 點遊戲程式。玩家可連到 Server 並與 Server 進行 21 點遊戲。 程式必須符合下列規則: 一、遊戲規則: 1. 如圖所示,玩家按按鈕來取一張牌,同一時間電腦也自動取一張牌。 2. 當玩家的總點數為 15 點(含)以上時,就必須與電腦比大小;如果雙方都超過 21 點,則為平手。 3. 當玩家的總點數不滿 15 點時,一定要補到 15 點以上。 4. 當玩家的總點數為 21 點時,玩家一定贏。 二、程式設計規則: 1. 可使用您所熟悉的任何程式語言。 2. 可自行設計遊戲介面。 三、評分標準: 網路 21 點遊戲程式(60%)。

(3)

題目三:簡易網路聊天室

請設計一個網路聊天室,能透過伺服器端(Server),提供給用戶端(Client)連接上 並彼此對話。此外,為了容納多個不同主題聊天室於同一台伺服器上,伺服器以 一組數字(Session ID)來識別不同的聊天室。用戶端可以新增或選擇加入現存的聊 天室內,僅有在同一個聊天室的用戶端可以收到彼此的對話。請分別寫出用戶端 及伺服端的程式。 (a) 用戶端的程式能提供使用者: 功能 1: (1)新增聊天室 (2)輸入新增聊天室主題 (3)將新增請求傳送給伺服 器 (4)接收並紀錄新增聊天室的 Session ID。 功能 2: (1)顯示現存的聊天室 (2)選擇要加入的聊天室 (3)向伺服器請求加 入特定聊天室 (4)接收並紀錄新增聊天室的 Session ID。 功能 3: (1)輸入使用者 ID (2)輸入對話內容 (3)將對話內容,使用者 ID 與 Session ID 傳送給網路遠端伺服器 (4)接收同一聊天室內其他使用者的對話 (5) 顯示收到的對話內容。 (b) 伺服端的程式能提供: 功能 1: (1)接收自用戶端傳來的新增聊天室需求 (2)產生一組 Session ID 給此 聊天室(不得與目前有的重複) (3)將此 Session ID 送回給用戶端。 功能 2: (1)接收自用戶端的顯示現存聊天室的要求 (2)將所有聊天室主題與 Session ID 送回給用戶端 (3)依照回應將用戶端加入特定聊天室 (4)將此聊 天室的 Session ID 傳送給用戶端。 功能 3: (1)接收用戶端傳來的對話訊息 (2)將此對話訊息廣播給同一聊天室 的所有用戶端 【程式執行範例說明】

聊天室 1 用戶端 A 輸入對話 Hello! Long time no see! How are you?

聊天室 1 用戶端 B 顯示內容 User A: Hello! Long time no see! How are you? 聊天室 1 用戶端 B 輸入對話 I am great! How about you?

(4)

評分標準: 功能項目 佔分 得分 用戶端的聊天室介面 25% 用戶端與伺服器端功能 3 的實現 25% 用戶端與伺服器端功能 1 的實現 25% 用戶端與伺服器端功能 2 的實現 25% 總分 100%

(5)

題目四:雲端運算設計高精確浮點數加法運算

一、說明: 雲端運算是網際網路的運算方式,包括基礎設施即服務(IaaS)、平台即服務 (PaaS)和軟體即服務(SaaS);透過瀏覽器存取,共享的軟硬體資源如線上商 業應用和資訊可供遠端客戶電腦和其他手持裝置,軟體和資料則儲存在資料中 心。本題目運用雲端運算 SaaS 的簡單概念,設計三個軟體服務模組,組合出一 個計算高精確浮點數運算的網路應用服務。 二、功能需求: 1. (70%)在伺服器(Server)端設計三個軟體服務模組程式,組合出一個計算高 精確浮點數運算的網路應用服務。整數部位不超過 10 位,浮點小數部分 最少 30 位、最多 50 位。此題必須分成以下三個程式,並遵照三個程式功 能規範,否則不予計分。 (1)程式一:分兩次接收程式三輸入的兩個浮點數值;將浮點數值分解成 整數部位、與小數部位之二維整數陣列,每一列長度為 10,共 6 列, 第一列用來代表整數部分,第二列以後用來代表小數部分。亦即:輸 入為一個浮點數值,輸出為一個二維整數陣列。 (2)程式二:接收三個,前兩個參數是加數、被加數,第三個是進位。計 算三個長度為 10 的整數陣列相加,輸出一個長度為 11 的一維整數陣 列。亦即:輸入為三個一維整數陣列,輸出為一個一維整數陣列。 (3)程式三:接收客戶端的輸入,傳送資料給程式一、程式二,組合程式 一、程式二的運算結果資料,回傳給客戶端。 例如:使用者輸入兩個數值: 1111.000001111122222333334444455555 1111.000001111122222333336444411111 程式三,讀取第一個數值,傳送給程式一。程式一處理得到以下二維陣列 回傳給程式三: 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

(6)

程式三,讀取第二個數值,傳送給程式一,程式一處理得到以下二維陣列 回傳給程式三: 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 6 4 4 4 4 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 程式三,將第一、二個二維陣列,拆成六個(列)一維陣列,從後面倒回 (即第六列)依序傳送給程式二做加法運算。每次的進位做成一個一維陣 列,傳送給程式二。 例如: 第六列代表浮點數 41~50 位。第一次沒有進位,所以第三個陣列均為 0。 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 程式二,運算結果為 0 0 0 0 0 0 0 0 0 0 0 第五列代表浮點數 31~40 位。上一次沒有進位, 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 程式二,運算結果為 0 0 0 0 0 0 0 0 0 0 0

(7)

第四列代表浮點數 21~30 位。上一次沒有進位, 4 4 4 4 4 5 5 5 5 5 6 4 4 4 4 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 程式二,運算結果為 1 0 8 8 8 8 6 6 6 6 6 第三列代表浮點數 11~20 位。上一次有進位, 2 2 2 2 2 3 3 3 3 3 2 2 2 2 2 3 3 3 3 3 0 0 0 0 0 0 0 0 0 1 程式二,運算結果為 0 4 4 4 4 4 6 6 6 6 7 第二列代表浮點數 1~10 位。上一次沒有進位, 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 程式二,運算結果為 0 0 0 0 0 0 2 2 2 2 2 第一列代表整數。上一次沒有進位, 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 程式二,運算結果為 0 0 0 0 0 0 0 2 2 2 2

(8)

程式三組合運算結果為:

2222.000002222244444666670888866666

2.(30%)客戶端程式能夠處理非法的使用者輸入,若有非法輸入則顯示錯誤 訊息。例如:使用者輸入"2a3w", "2.01.1", "#123", "002.1", 均為非法輸入。

參考文獻

相關文件

例如 : http ( 網頁伺服器所用的協定 ) 定義了 client 如何向 server request 網頁及 server 如何 將網頁及其中的各種內容回傳給 client 。. 提供服務給 application layer

每個 zone 交由一部 name server負責的作 法會有一個問題,萬一這個 name server 當 掉,可能造成 Internet上其它機器無法取得屬 於這個 zone 的資料(就是 domain name

Note that if the server-side system allows conflicting transaction instances to commit in an order different from their serializability order, then each client-side system must apply

This option is designed to provide students an understanding of the basic concepts network services and client-server communications, and the knowledge and skills

[r]

Unlike the client-server model, BitTorrent divides a file into a number of equal-sized pieces, where each peer simultaneously downloads and uploads via its neighbors that

So, we develop a tool of collaborative learning in this research, utilize the structure of server / client, and combine the functions of text and voice communication via

Registry Server 是建構於第三方具有公信力的一個組織,而 Registry Server 在 Web Service 的架構中,主要的功能類似於提供服務查詢(Yellow