• 沒有找到結果。

(高商組)臺北市102年高中電腦程式設計競賽決賽試題

N/A
N/A
Protected

Academic year: 2021

Share "(高商組)臺北市102年高中電腦程式設計競賽決賽試題"

Copied!
8
0
0

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

全文

(1)

台北市 102 學年度高級中等學校

學生電腦軟體設計高商組決賽試題

第壹題(100 分)

題目說明:

躍馬中原 1. 中國象棋的馬與西洋棋的騎士的走法相同,也都需要有相當棋力才懂得靈活 運用。這個題目就是寫一個程式來模擬象棋馬的移動。 2. 馬的移動可以沿任何垂直或者水平方向的直線走一步然後沿斜線一步,即沿 著漢字「日」的對角線從一段走向另一端,稱作「馬走日」。如圖一的馬就 有八個可能移動的位置(用 O 表示之)。但如果馬的隔鄰有任何一方的棋子, 就不能走往那方向,稱爲「蹩馬腿」。 3. 程式裡的主角就是一個馬的棋子。其他的棋子都視為障礙物(用△表示之), 障礙物會蹩馬腿,而且馬不能移動到障礙物上面。圖二的馬,就剩下三個可 能的移動位置。因為右方會超出棋盤,而下方則是因為有障礙物蹩馬腿所以 不能到達。左上有一個位置已經有障礙物,所以也不能到達。 4. (完成度 15%)請畫出一個 8*8 的棋盤。棋子可以如中國象棋般,放在線的交 叉點,也可以比照西洋棋放在格子中。 5. (完成度 30%)允許使用者設定馬的起始位置,以及障礙物的位置。馬與障礙 物必須要顯示在棋盤上。 6. (完成度 45%)在螢幕上顯示 8 個按鈕,對應 8 個可能的移動方式。 7. (完成度 60%)如果是合理的移動,對應的按鈕就亮著,讓使用者可以按下, 否則按鈕就應該是滅著的,使用者無法按下。 8. (完成度 75%)使用者按下按鈕之後,馬也會遵照按鈕的指示移動到新的位置。 這時因為位置變換,8 個移動的燈號需要跟著變更。 9. (完成度 80%)讓使用者能夠清除以及移動障礙物。 10. (完成度 100%)允許使用者設定馬的終點位置(用 F 表示之)。由程式來尋找是 否可以在 4 步(包括 4 步)之內由目前位置走到終點。如果需要超過 4 步,就 顯示訊息告知使用者,否則就展示走法。圖三展示了三步可以走到終點。 11. 圖例說明:(a)馬--主角, (b) O—合理的移動位置, (c)X—不合理的移動位置, (d) △--障礙物, (e)F—終點位置。

(2)

O O O O 馬 O O O O 圖一 馬的移動方式 O O △ △ △ △ 馬 O △ X X 圖二 障礙物影響馬的移動 F O O △ △ △ △ 馬 O △ X X 圖三 到終點的移動路徑

(3)

第貳題(100 分)

題目說明:

藏書交流系統 某基金會開發藏書交流系統供會員間彼此查詢所收藏之圖書,以促進會員之間的 交流,本藏書交流系統之功能描述如下: 一、登入:本系統的使用者有兩種角色,分別為一般會員及管理者,使用者填寫 有效帳號及密碼始可登入系統,系統會根據使用者之帳號自動分辨使用者之 權限(一般會員或管理者)。 使用者輸入密碼時,螢幕以“*”顯示。 二、一般會員之功能有新增自己的圖書資料或查詢系統登載之圖書資料。 1. 新增圖書資料:會員於新增圖書資料時,需填圖書相關資料如下表。 資料項目 資料需求及型態 圖書名稱 必須填寫,最多 100 bytes 之中文或英文。 出版年 必須填寫,4 位數之整數西元年。 作者 需要時可填寫一位至多位作者,每一位作者為 最多 40 bytes 之中文或英文姓名,多位作者 時,作者姓名間以“、”分隔。 備註 需要時可填寫,最多 500 bytes 之中文或英文。 系統資料庫於會員新增圖書資料完成後,需根據會員之登入帳號額外儲存擁有者 資訊,即系統資料庫至少有圖書名稱、出版年、作者、備註、擁有者等欄位。 2. 查詢圖書資料:會員可依據【圖書名稱】和/或【出版年】和/或【作 者】查詢系統中符合查詢條件之所有圖書資料,查詢方式如下表。 資料項目 查詢方式 圖書名稱 可部分相符查詢 出版年 4 位數之整數 作者 可以用一位或以上作者進行查詢,作者姓名間 以“、”分隔。每一位作者之姓名必須完全相 符,同時,多位作者之姓名順序不必和原資料 輸入時相同。 查詢結果須顯示符合查詢條件之所有圖書資料包括圖書名稱、出版年、 作者、備註、擁有者等欄位。同時,使用者可根據查詢結果對自己所提 供的圖書有權利刪除。

(4)

範例如下:假設系統中登載有三本圖書資訊如下表。 圖書名稱 出版年 作者 備註 擁有者 系統分析和物件 設計 2012 王小明、李大 同、陳小鳳 Peter123 資料庫系統精華 2011 陳小鳳、王小 明 Jack654 使用者介面設計 2012 張明、李大同 第三版 C12345 會員 C12345 在【圖書名稱】輸入“系統”,【出版年】和【作者】不輸 入,查詢結果如下: 圖書名稱 出版年 作者 備註 擁有者 系統分析和物件 設計 2012 王小明、李大 同、陳小鳳 Peter123 資料庫系統精華 2011 陳小鳳、王小 明 Jack654 會員 C12345 在【圖書名稱】不輸入,【出版年】輸入“2012”和 【作 者】輸入“李大同”,查詢結果如下: 圖書名稱 出版年 作者 備註 擁有者 系統分析和物件 設計 2012 王小明、李大 同、陳小鳳 Peter123 使用者介面設計 2012 張明、李大同 第三版 C12345 此時,會員 C12345 對〈使用者介面設計〉這本書有權利進行資料刪除。 會員 C12345 在【圖書名稱】不輸入,【出版年】不輸入,【作者】輸入 “李大同、王小名”,查詢結果如下: 圖書名稱 出版年 作者 備註 擁有者 系統分析和物件 設計 2012 王小明、李大 同、陳小鳳 Peter123 三、管理者之功能: 1. 新增圖書資料:和會員《新增圖書資料》功能相同。 2. 查詢圖書資料:與會員《查詢圖書資料》功能相同,但管理者對查詢結 果皆有權利進行刪除。 3. 新增、刪除及查詢帳號資料:系統初始時,設定管理者帳號為“admin”, 密碼為“admin”。 管理者登入系統後,可新增其他使用者帳號,需填

(5)

資料項目 資料需求及型態 帳號 必須填寫,4 至 8 bytes 之英文。 密碼 必須填寫,4 至 10 bytes 之英文。 姓名 必須填寫,最多 40 bytes 之中文或英文姓名。 權限 權限為“一般會員”或“管理者”,二擇一。 查詢時,降冪列出所有會員或管理者資料,包括帳號、姓名、權限。管 理者對查詢結果皆有權利進行刪除。 評分方式: 1. 系統功能之正確性(含錯誤檢查):70% 2. 資料儲存方式設計:10% 3. 系統操作之友善度及使用者介面:20%

(6)

第參題(100 分)

題目說明:

群組夥伴是現今活動的主要方式,各種組織、旅遊、爬山、銷售等活

動皆以群組方式呈現及進行。今有 2 組群組人員,其資料分別如下所

讀書會群組

登山會群組

編號

姓 名

編號

姓 名

7712

7856

7888

8405

8546

9951

陳宜庭

李宜修

陳怡萱

洪敬倫

王佩翔

吳承恩

7810

7888

9054

9485

9486

8546

楊敬承

陳怡萱

李家宜

郭安娜

丁文堯

王佩翔

(1) 讀書會及登山會將共同舉辦活動,舉辦的活動需有明確的參與會

員清單以進行保險投保。請設計一程式,能依編號由小到大排序

列出所有參與活動會員的資料。注意!二組若有相同組員只需列

出一筆。

以本題為例,結果為

7712

陳宜庭

讀書會

7810

楊敬承

登山會

7856

李宜修

讀書會

7888

陳怡萱

登山會

8405

洪敬倫

讀書會

8546

王佩翔

讀書會

9054

李家宜

登山會

29485

郭安娜

登山會

9486

丁文堯

登山會

9951

吳承恩

讀書會

(2) 若想找出參與二組的共同會員負責二組的溝通與連絡。請設計一

程式,列出同時為二組之共同會員的編號及姓名。

以本題為例,結果為

7888

陳怡萱

8546

王佩翔

(7)

第肆題(100 分)

題目說明:

有一個紙牌遊戲,玩家可與電腦互相對戰。假設一付紙牌只有 1 種花

色,有 13 張牌,這 13 張牌的數字為 1、2、3、4、5、6、7、8、9、

10、11、12、13。遊戲開始,玩家與電腦會各獲得 5 張牌。在這 5 張

牌中,電腦隨機出第 1 張牌,玩家也可以選擇出任何 1 張牌。假設電

腦出的第 1 張牌為數字 a,假設玩家出的第 1 張牌為數字 b。兩家開

始比數字大小。如果兩家數字一樣,則不分勝負。如果電腦數字大,

玩家數字小,則電腦獲得(a-b)分。反之,如果電腦數字小,玩家數字

大,則玩家獲得(b-a)分。出過的牌不能再出,當 5 張牌出完後,計算

是電腦得分比較多,還是玩家得分比較多,多幾分。

題目配分:

1.

遊戲開始:20 分

(1) 遊戲開始,以亂數產生電腦與玩家各獲得的 5 張牌,並顯示

於畫面上,以圖 1 做為範例。

2.

遊戲過程:50 分

(1) 遊戲過程中,每 1 輪,電腦會隨機自第 1 張牌到第 5 張牌中

挑選 1 張牌出。使用者也可以自由挑選 1 張牌出。

(2) 畫面上,等待使用者輸入某一張牌後,就出現此次出牌後,

雙方計分結果。

(3) 出過的牌不能再出。

(4) 整個過程,以圖 2-1 到 2-5 做為範例。

3.

遊戲結束:20 分

(1) 遊戲結束時,畫面上顯示電腦贏或玩家贏,贏了幾分,以圖

3 做為範例。

圖 1 範例:遊戲開始時,電腦與玩家各獲得 5 張牌。

對戰雙方

雙方獲得的牌

電腦的牌

2、5、3、10、13

玩家的牌

4、8、1、7、11

圖 2-1 範例:遊戲過程共有 5 輪,每一輪電腦與玩家各出 1 張牌。

第 1 輪出牌

電腦累計得分

玩家累計得分

請問您要選擇第幾號牌?

2

電腦出的牌

5

0

3

玩家出的牌

8

(8)

圖 2-2 範例:遊戲過程共有 5 輪,每一輪電腦與玩家各出 1 張牌。

第 2 輪出牌

電腦累計得分

玩家累計得分

請問您要選擇第幾號牌?

3

電腦出的牌

3

2

3

玩家出的牌

1

圖 2-3 範例:遊戲過程共有 5 輪,每一輪電腦與玩家各出 1 張牌。

第 3 輪出牌

電腦累計得分

玩家累計得分

請問您要選擇第幾號牌?

4

電腦出的牌

10

5

3

玩家出的牌

7

圖 2-4 範例:遊戲過程共有 5 輪,每一輪電腦與玩家各出 1 張牌。

第 4 輪出牌

電腦累計得分 玩家累計得分

請問您要選擇第幾號牌?

1

電腦出的牌

13

14

3

玩家出的牌

4

圖 2-5 範例:遊戲過程共有 5 輪,每一輪電腦與玩家各出 1 張牌。

第 5 輪出牌

電腦累計得分 玩家累計得分

請問您要選擇第幾號牌?

5

電腦出的牌

2

14

12

玩家出的牌

11

圖 3 範例:最後結果。

結果

電腦贏 2 分

數據

圖 2-2  範例:遊戲過程共有 5 輪,每一輪電腦與玩家各出 1 張牌。  第 2 輪出牌  電腦累計得分  玩家累計得分  請問您要選擇第幾號牌?  3  電腦出的牌  3  2  3  玩家出的牌  1  圖 2-3  範例:遊戲過程共有 5 輪,每一輪電腦與玩家各出 1 張牌。  第 3 輪出牌  電腦累計得分  玩家累計得分  請問您要選擇第幾號牌?  4  電腦出的牌  10  5  3  玩家出的牌  7  圖 2-4  範例:遊戲過程共有 5 輪,每一輪電腦與玩家各出 1 張牌。  第 4

參考文獻

相關文件

二、本校於報名表中對於學生資料之蒐集,係為學生成績計算、資料整理及報 到作業等招生作業之必要程序,並作為後續資料統計及學生報到註冊作業

二、本校於報名表中對於學生資料之蒐集,係為學生成績計算、資料整理及報 到作業等招生作業之必要程序,並作為後續資料統計及學生報到註冊作業

定義問題 統整資訊 概念圖【行動版】.

根據商務活動之舉辦目標及系統需求,應用 Microsoft Office 文書處理 Word、電子試算表 Excel、電腦簡報 PowerPoint、資料庫 Access

1、由各評選委員就評選項目及權重,填寫評選表一份(如附表三 之一、三之二、三之三及三之四)

二、 學生報名參加者須請家長簽署同意書(如附件),正本由各校留存備 查;另請填妥個人資料授權書(如附件) ,正本請連同報名表郵寄至本 會。.. 三、 報名截止日期為 109

(續下頁).. 報名資料若需修改(限於考生報名後更名、變更通訊方式及聯絡電話使用),期間若有

sort 函式可將一組資料排序成遞增 (ascending order) 或 遞減順序 (descending order)。. 如果這組資料是一個行或列向量,整組資料會進行排序。