Microsoft Word - C2012-DSE-ICT-2D-Practice.doc

Similar documents
試卷一

Microsoft Word - C2012-DSE-ICT-2A-Practice.doc

2016中國語文卷一考生表現示例

Microsoft Word - SRR_Handbook-Math CP.doc

文憑試通識教育科練習卷 (2012)

文憑試科技與生活(服裝、成衣與紡織)練習卷

2015中國語文卷一考生表現示例

2015中國語文卷三考生表現示例

(Microsoft Word \256\325\260\310\267|\304\263\254\366\277\375.doc)

2001-CE 電腦科 卷㆒ 部 香港考試局 年香港 學會考 考生編號 試場編號 座位編號 電腦科試卷㆒ ( 部 ) 試題答題簿 本試卷必須用 文作答兩小時完卷 ( 午八時㆔十分至 午十時㆔十分 ) 由閱卷員填写 閱卷員編號 由試卷主席填写 試卷主席編號 考生須知 : 1. 在指定位

Microsoft Word - C2012-DSE-ICT-1B-Practice.doc

Microsoft Word - DSE_2012_cp1_pra_cover_c.doc

文憑試物理科校本評核樣本課業

優質居所 攜手共建

文憑試數學樣本試卷 (必修部分 - 試卷一)

untitled

南華大學數位論文

Microsoft Word 一年級散文教案.doc

米食天地教案

bnbqw.PDF

Microsoft Word - 08 单元一儿童文学理论

Microsoft Word - 發布版---規範_全文_.doc

概 述 随 着 中 国 高 等 教 育 数 量 扩 张 目 标 的 逐 步 实 现, 提 高 教 育 质 量 的 重 要 性 日 益 凸 显 发 布 高 校 毕 业 生 就 业 质 量 年 度 报 告, 是 高 等 学 校 建 立 健 全 就 业 状 况 反 馈 机 制 引 导 高 校 优 化 招

鱼类丰产养殖技术(二).doc

疾病诊治实务(一)

名人养生.doc

<4D F736F F D2040B9C5B871A661B0CFABC8AE61C2A7AB55ACE3A8735FA7F5ABD8BFB3B9C5B871A661B0CFABC8AE61C2A7AB55ACE3A8732E646F63>


中老年保健必读(十).doc

27 i

% % ,542 12,336 14,53 16,165 18,934 22,698 25, ,557 7,48 8,877 11, 13,732 17,283 22,

穨ecr1_c.PDF

穨2005_-c.PDF

北京理工大学.doc

尲㐵.⸮⸮⸮⸮⸮

果树高产栽培技术(一).doc

物质结构_二_.doc

第一節 研究動機與目的

水力发电(九)

中国古代文学家(八).doc

景观植物(一)

Microsoft Word - 目录.doc

园林植物卷(三).doc

19q indd

厨房小知识_一_

中南财经大学(七).doc

赵飞燕外传、四美艳史演义

厨房小知识(五)

园林植物卷(十二).doc

國立中山大學學位論文典藏

乳业竞争_一_

untitled

中国政法大学(六).doc

胎儿健康成长.doc

第三章

nb.PDF

1. 本文首段的主要作用是 A. 指出 異蛇 的藥用功效 說明 永之人爭奔走焉 的原因 B. 突出 異蛇 的毒性 為下文 幾死者數矣 作鋪墊 C. 交代以蛇賦稅的背景 引起下文蔣氏有關捕蛇的敘述 2. 本文首段從三方面突出蛇的 異 下列哪一項不屬其中之一 A. 顏色之異 B. 動作之異 C. 毒性之

項 訴 求 在 考 慮 到 整 體 的 財 政 承 擔 以 及 資 源 分 配 的 公 平 性 下, 政 府 採 取 了 較 簡 單 直 接 的 一 次 性 減 稅 和 增 加 免 稅 額 方 式, 以 回 應 中 產 家 庭 的 不 同 訴 求 ( 三 ) 取 消 外 傭 徵 費 6. 行 政 長

(f) (g) (h) (ii) (iii) (a) (b) (c) (d) 208

Microsoft Word - edu-re~1.doc

Microsoft Word - C2013-DSE-ICT-1B.doc

<4D F736F F D DA5BFA6A1C476C1C92DBEC7ACECB8D5A8F728B57BB35D292E646F63>

投影片 1

新・解きながら学ぶJava

Microsoft Word - Entry-Level Occupational Competencies for TCM in Canada200910_ch _2_.doc

CHAPTER VC#

<4D F736F F D B0D3B77EC3FEA7DEC3C0C476C1C9A5BFA6A1B8D5C3442DB57BA6A1B35DAD702DBEC7ACEC2E646F6378>

马太亨利完整圣经注释—雅歌

二零零六年一月二十三日會議

(1) (2) (3) 1. (1) 2

Microsoft PowerPoint - VB14.ppt

厨房小知识(四)

妇女更年期保健.doc

小儿传染病防治(上)

<4D F736F F D B875B9B5A448ADFBBADEB27AA740B77EA4E2A5555FA95EAED6A641ADD75F2E646F63>

女性青春期保健(下).doc

避孕知识(下).doc

孕妇饮食调养(下).doc

禽畜饲料配制技术(一).doc

中老年保健必读(十一).doc

怎样使孩子更加聪明健康(七).doc

i

女性美容保健(四).doc

學 習 內 容 元 素 一 直 透 過 中 小 學 校 課 程 相 關 課 題 培 養, 如 : 小 學 常 識 科 人 文 學 科 和 科 學 科 等 這 些 從 沒 有 因 為 德 育 及 國 民 教 育 科 課 程 指 引 在 2012 年 擱 置 而 有 任 何 改 變 4. 教 育 局 持

投影片 1

新婚夫妇必读(九).doc

Transcription:

PP-DSE 資訊及通訊科技 請在此貼上電腦條碼 卷二 (D) 香港考試及評核局 香港中學文憑考試 考生編號 Pascal 練習卷資訊及通訊科技 採用的程式編寫語言 ( 請選一項 ) C Visual Basic Java 試卷二 (D) 軟件開發 試題答題簿 本試卷必須用中文作答 一小時三十分完卷 考生須知 ( 一 ) 宣布開考後 考生須首先在第 1 頁之適當位置填寫考生編號 並在第 1 3 5 及 7 頁之適當位置貼上電腦條碼 ( 二 ) 在合適的方格選取所採用的程式編寫語言 若選取超過一個方格或不選取任何方格 將不獲給分 ( 三 ) 本試卷全部試題均須回答答案須寫在本試題答題簿中預留的空位內不可在各頁邊界以外位置書寫 ( 四 ) 如有需要 可要求派發補充答題紙每一紙張均須填寫考生編號 填畫試題編號方格 貼上電腦條碼 並用繩縛於簿內 ( 五 ) 試場主任宣布停筆後 考生不會獲得額外時間貼上電腦條碼及填畫試題編號方格 香港考試及評核局保留版權 Hong Kong Examinations and Assessment Authority All Rights Reserved 2012 PP-DSE-ICT 2D 1 1 *A200C02D*

本試卷全部試題均須回答 1. 下列算法處理整數陣列 M 其索引由 1 至 n 步 1: 初始化 M 每個元素的值為其索引 步 2: p 2 步 3: 當 p 2 n 執行步 4 至 7 步 4: q (n/p) 的整數部分 步 5: 設 i 由 2 至 q 執行步 6 步 6: M[i * p] 0 步 7: p p + 1 假設 n = 16M 的內容經步 1 初始化後如下所示 M[1] M[2] M[3] M[4] M[5] M[6] M[7] M[8] 1 2 3 4 5 6 7 8 M[9] M[10] M[11] M[12] M[13] M[14] M[15] M[16] 9 10 11 12 13 14 15 16 (a) (i) 利用循環寫出步 1 的偽代碼 (ii) 填上步 3 的循環首兩遍迭代後 M 的內容 第一遍 M[1] M[2] M[3] M[4] M[5] M[6] M[7] M[8] M[9] M[10] M[11] M[12] M[13] M[14] M[15] M[16] 第二遍 M[1] M[2] M[3] M[4] M[5] M[6] M[7] M[8] M[9] M[10] M[11] M[12] M[13] M[14] M[15] M[16] (iii) 步 3 的循環執行了多少次? (iv) 按序列出當步 3 的循環執行時所有 q 的值 (v) 細看在 (a)(ii) M 值的樣式 這個算法有什麼用途? (10 分 ) PP-DSE-ICT 2D 2 2

請在此貼上電腦條碼 (b) 假設步 5 改動為 設 i 由 p 至 q 執行步 6 這個改動對此算法有何影響? 試簡略說明 (2 分 ) (c) 此算法透過一個程式編譯成為子程式庫內的一個子程式 某主程式以這個子程式來編寫 (i) 代碼生成器 偵錯程式 連接程式和載入程式這四類程式中 哪一類程式把這個主程式的可執行檔案放進主記憶體內執行? (ii) 當執行這個主程式時 這個子程式會與主程式的可執行檔案連接 試寫出此類連接方法的名稱 並舉出其中一個優點 (3 分 ) PP-DSE-ICT 2D 3 3 續後頁

2. 志明編寫了一個程式 協助機場航空交通管制員記錄將要降落的航班 降落的次序是先到先處理 每一航班以其航班編號來識別 例如 A1 志明使用一個陣列 F 來儲存最多六個航班編號 (a) F[i] 儲存第 i 班要降落航班的航班編號 即 F[1] 儲存下一班要降落航班的航班編號 假設最初有三班航班 C3 A1 和 B2 要降落 如下所示 : F[1] F[2] F[3] F[4] F[5] F[6] 航班編號 C3 A1 B2 (i) (1) 航班 C3 已降落 而航班 Z6 加入 等候降落 試完成下列 F 航班編號 F[1] F[2] F[3] F[4] F[5] F[6] A1 (2) 然後 航班 A1 已降落 而兩班航班 S19 和 T20 隨後依次加入 等候降落 試完成下列 F 航班編號 F[1] F[2] F[3] F[4] F[5] F[6] (ii) 雖然以上對 F 的操控簡單直接 但它不是一個好算法 為什麼? 試簡略說明 (3 分 ) PP-DSE-ICT 2D 4 4

請在此貼上電腦條碼 (b) 志明有另一選擇 他可利用以下的數據結構操控降落的次序 整數變量 X 和 Y 是用來儲存 F 的陣列索引 F[1] F[2] F[3] F[4] F[5] F[6] 航班編號 C3 A1 B2 X = 1 Y = 3 當一航班降落後 F[X] 不會再被採用之後 X 的值便增加 1 當一航班加入等待降落 Y 的值便增加 1 而其航班編號會賦值至 F[Y] (i) X 和 Y 在實現這個數據結構時有什麼功能? (ii) 假設初始時航班 C3 A1 和 B2 依次等待降落 而 X = 1 和 Y = 3 (1) 航班 C3 已降落 而航班 Z6 加入 等候降落 試完成下列 F X 和 Y 航班編號 F[1] F[2] F[3] F[4] F[5] F[6] C3 X = 2 Y = 2 (2) 然後 航班 A1 已降落 而兩班航班 S19 和 T20 隨後依次加入 等候降落 試完成下列 F X 和 Y 航班編號 F[1] F[2] F[3] F[4] F[5] F[6] C3 X = 2 Y = 2 (iii) 要確定是否所有等候降落的航班都已降落 須要檢查哪一項條件? (iv) 若在 (b)(ii)(2) 的航班 T20 降落後 另一航班 E5 加入 等候降落 這樣會出現哪類錯誤? (8 分 ) PP-DSE-ICT 2D 5 5 續後頁

(c) 志明要開發一些新系統取代機場現有的系統 完成收集用戶要求 ( 任務 0) 後便可開始任務 1 2 和 3 任務 完成任務所須的週數 描述 任務 0 5 收集用戶要求 任務 1 20 編寫 測試和偵錯供航空交通管制員使用的 ATC 系統 任務 2 15 當程式編寫員開始編寫 ATC 系統 便可在接機大堂安裝 FID 系統顯示屏幕 任務 3 10 完成 ATC 系統和安裝顯示屏幕後 便可編寫 測試和偵錯 FID 系統的程式 (i) 試為志明完成以下的甘特圖 週數任務 5 10 15 20 25 30 35 40 45 50 任務 0 任務 1 任務 2 任務 3 (ii) 志明應使用哪種系統轉換策略? 試簡略說明 (4 分 ) PP-DSE-ICT 2D 6 6

請在此貼上電腦條碼 作答第 3 題時 考生不得加入新的變量 否則不獲給分 3. 某程式模擬在唱片播放機內的選擇曲目此播放機載入唱片後會讀取曲目的總數 而預設的曲目編號是 1 播放機按鈕的作用如下展示 向後 向前 按下此按鈕會播放上一首曲目 按下此按鈕會播放下一首曲目 考生需使用下列變量來編寫一些子程式 模擬選擇曲目 變量 TrackNum 描述 儲存當前曲目編號整數變量 TrackTotal 儲存曲目總數整數變量 (a) 假設初始的曲目編號是 1 而曲目總數是 13 編寫子程式或類別 LoadInit 來初始化 TrackNum 和 TrackTotal 並以按址調用方式返回這兩個值 (3 分 ) PP-DSE-ICT 2D 7 7 續後頁

(b) 編寫函數 BackTrack 返回按下 向後 按鈕後的曲目編號 若當前曲目編號是 1 則其值保持不變 TrackNum 需以按值調用方式傳遞至此函數 (3 分 ) (c) 編寫函數 NextTrack 返回按下 向前 按鈕後的曲目編號 若下一首曲目編號超過曲目總數 則將曲目編號設定為 1 TrackNum 和 TrackTotal 需以按值調用方式傳遞至此函數 (2 分 ) (d) 模擬一棵新的 隨意選擇 按鈕 使按下此按鈕後便會從曲目編號 1 至 TrackTotal 當中隨機選擇一首曲目 已知函數 myrand 無需變元而可被調用 並返回一隨機數 r 而 0 r < 1 試編寫函數 shuffle 模擬 隨意選擇 按鈕 而 TrackTotal 需以按值調用方式傳遞至 shuffle PP-DSE-ICT 2D 8 8 (2 分 )

(e) 測試 (b) 內的函數是需要一個測試計劃 假設曲目總數是 13 提議兩種不同情境的測試值及其預期結果 (1) 測試值 : 預期結果 : (2) 測試值 : 預期結果 : (2 分 ) (f) 假設這個程式以物件導向程式語言編寫 下列的類別圖代表按鈕物件 Button ButtonName Private ButtonPressed() Public ButtonCheck() (i) 這個類別有多少個方法? (ii) 寫出這個類別的屬性 (iii) 這個類別的名稱是什麼? (3 分 ) PP-DSE-ICT 2D 9 9 續後頁

4. 某煤氣燃料公司使用文字檔 gas.txt 來儲存客戶的煤氣錶累計讀數 每位客戶的記錄有兩個文字欄 :accnum 和 accreading accnum 儲存客戶號碼 而 accreading 儲存對應的煤氣錶累計讀數 下圖展示的例子是一個有四筆記錄的 gas.txt accnum accreading 1 2 3 4 5 0 1 5 2 7 2 9 6 9 7 4 0 3 4 4 6 7 8 9 0 0 9 9 9 8 9 0 1 3 3 2 0 0 2 6 accreading 是一個由四個字符組成的字串 其數值範圍是從 0000 至 9999 當 accreading 的值達 9999 其隨後的值為 0000 子程式 usage 是用來計算煤氣用量本月份的煤氣錶讀數 curreading 會傳遞至此子程式來計算煤氣用量 並把它賦值至全程變量 unitsconsumed [Pascal 版本 ] 行號 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 內容 var unitsconsumed : integer; procedure usage(clientnum : string; curreading : integer); var infile : text; clientfound : Boolean; ClientST accnum accreading : string; accvalue : integer; begin assign(infile 'gas.txt'); reset(infile); clientfound := false; while not clientfound do begin readln(infile ClientST); accnum := copy(clientst 1 6); accreading := copy(clientst 7 4); if clientnum = accnum then begin (a)(v) 部 unitsconsumed := curreading accvalue; clientfound := true; end; end; end; (c) 部 PP-DSE-ICT 2D 10 10

[C 版本 ] 行號 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 內容 int unitsconsumed; void usage(char clientnum[] int curreading) { FILE *infile; int clientfound; char accnum[7] accreading[5]; int accvalue; } [Visual Basic 版本 ] 行號 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 infile = fopen("gas.txt" "r"); clientfound = 0; while (!clientfound) { fscanf(infile "%6s%4s" accnum accreading); if (strcmp(clientnum accnum) == 0) { (a)(v) 部 unitsconsumed = curreading accvalue; clientfound = 1; } } (c) 部 內容 Dim unitsconsumed As Integer Sub usage(byval clientnum As String ByVal curreading As Integer) Dim infile As IO.StreamReader Dim clientfound As Boolean Dim ClientST accnum accreading As String Dim accvalue As Integer infile = IO.File.OpenText("gas.txt") ClientST = infile.readline() clientfound = False while Not clientfound accnum = ClientST.SubString(0 6) accreading = ClientST.SubString(6 4) If clientnum = accnum Then (a)(v) 部 unitsconsumed = curreading accvalue clientfound = True End If ClientST = infile.readline() End While (c) 部 End Sub PP-DSE-ICT 2D 11 11 續後頁

[Java 版本 ] 行號 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 內容 static int unitsconsumed; static void usage(string clientnum int curreading) throws IOException { boolean clientfound; String ClientST accnum accreading; int accvalue; } BufferedReader infile = new BufferedReader(new FileReader("gas.txt")); ClientST = infile.readline(); clientfound = false; while (!clientfound) { accnum = ClientST.substring(0 6); accreading = ClientST.substring(6 10); if (clientnum.compareto(accnum) == 0) { (a)(v) 部 unitsconsumed = curreading accvalue; clientfound = true; } ClientST = infile.readline(); } (c) 部 (a) (i) 已知 accnum 的最後一個數位是檢查數位 這個檢查數位的功能是什麼? (ii) 就作用域 (scope) 而言 在行號 3 至 6 所說明的變量是哪種變量? (iii) clientnum 在計算煤氣用量時有什麼作用? (iv) clientfound 在計算煤氣用量時有什麼作用? (v) 在行號 15 要對 accreading 進行什麼操作? (5 分 ) PP-DSE-ICT 2D 12 12

(b) 客戶號碼為 678900 的客戶在本月的煤氣錶讀數是 0012 (i) 提出一項可由行號 16 內的語句引致的問題 (ii) 寫出在行號 16 後插入的一句 IF 語句來解決此問題 (3 分 ) (c) 寫出行號 21 的程式語句作正確的檔案處理操作 (d) while 循環可能會變成一個無限循環 (i) 為什麼? (ii) 重寫 while 循環的第一行 以避免這個問題出現 (1 分 ) (3 分 ) (e) 煤氣燃料公司決定以一個新系統取代舊系統 由以下三名成員組成的團隊負責開發這個新系統 : 項目經理 (PM) 系統分析員 (SA) 程式編寫員 (P) 配對下列團隊成員的職責第一項是例子 主要職責 團隊成員 分配資源和角色予各開發團隊成員 PM 收集用戶要求和撰寫用戶要求規格 制訂開發計劃內重要的里程碑 編寫程式及進行測試 (3 分 ) 試卷完 PP-DSE-ICT 2D 13 13

請勿在此頁書寫寫於此頁的答案 PP-DSE-ICT 2D 14 14

請勿在此頁書寫寫於此頁的答案 PP-DSE-ICT 2D 15 15

請勿在此頁書寫寫於此頁的答案 PP-DSE-ICT 2D 16 16