台北市 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—終點位置。
O O O O 馬 O O O O 圖一 馬的移動方式 O O △ △ △ △ 馬 O △ X X 圖二 障礙物影響馬的移動 F O O △ △ △ △ 馬 O △ X X 圖三 到終點的移動路徑
第貳題(100 分)
題目說明:
藏書交流系統 某基金會開發藏書交流系統供會員間彼此查詢所收藏之圖書,以促進會員之間的 交流,本藏書交流系統之功能描述如下: 一、登入:本系統的使用者有兩種角色,分別為一般會員及管理者,使用者填寫 有效帳號及密碼始可登入系統,系統會根據使用者之帳號自動分辨使用者之 權限(一般會員或管理者)。 使用者輸入密碼時,螢幕以“*”顯示。 二、一般會員之功能有新增自己的圖書資料或查詢系統登載之圖書資料。 1. 新增圖書資料:會員於新增圖書資料時,需填圖書相關資料如下表。 資料項目 資料需求及型態 圖書名稱 必須填寫,最多 100 bytes 之中文或英文。 出版年 必須填寫,4 位數之整數西元年。 作者 需要時可填寫一位至多位作者,每一位作者為 最多 40 bytes 之中文或英文姓名,多位作者 時,作者姓名間以“、”分隔。 備註 需要時可填寫,最多 500 bytes 之中文或英文。 系統資料庫於會員新增圖書資料完成後,需根據會員之登入帳號額外儲存擁有者 資訊,即系統資料庫至少有圖書名稱、出版年、作者、備註、擁有者等欄位。 2. 查詢圖書資料:會員可依據【圖書名稱】和/或【出版年】和/或【作 者】查詢系統中符合查詢條件之所有圖書資料,查詢方式如下表。 資料項目 查詢方式 圖書名稱 可部分相符查詢 出版年 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”。 管理者登入系統後,可新增其他使用者帳號,需填
資料項目 資料需求及型態 帳號 必須填寫,4 至 8 bytes 之英文。 密碼 必須填寫,4 至 10 bytes 之英文。 姓名 必須填寫,最多 40 bytes 之中文或英文姓名。 權限 權限為“一般會員”或“管理者”,二擇一。 查詢時,降冪列出所有會員或管理者資料,包括帳號、姓名、權限。管 理者對查詢結果皆有權利進行刪除。 評分方式: 1. 系統功能之正確性(含錯誤檢查):70% 2. 資料儲存方式設計:10% 3. 系統操作之友善度及使用者介面:20%