高中 (HKDSE) · 資訊及通訊科技

程式編寫:練習題

5 條多項選擇題即時批改,另有 5 條文字題附完整解題步驟,全部圍繞「程式編寫」。

10 條題目25 免費,無需登記
第 1 題
1

以下哪一項是關係運算符 (Relational Operator) 的例子?

第 2 題
1

考慮以下偽代碼,該算法使用一個隊列(Queue)來儲存數據。假設隊列初始為空,執行完所有步驟後,隊列中剩下的元素(按從頭部到尾部的順序)是什麼?

1. Enqueue(10)
2. Enqueue(25)
3. X = Dequeue()
4. Enqueue(X + 5)
5. Enqueue(40)
6. Dequeue()
7. Enqueue(50)

第 3 題
1

考慮以下偽代碼,其目的是使用選擇排序法 (Selection Sort) 將陣列 A 按遞增順序排列:

A = [25, 10, 33, 5, 12]
n = 5
FOR i FROM 0 TO n - 2 DO
  minIndex = i
  FOR j FROM i + 1 TO n - 1 DO
    IF A[j] < A[minIndex] THEN
      minIndex = j
    END IF
  END FOR
  交換 A[i] 與 A[minIndex]
END FOR

請問在外部循環執行完 2 次完整的迭代後(即 i=1 結束後),陣列 A 的內容會是什麼?

第 4 題
1

在程式編寫中,如果一個數值運算的結果超出了該數據類型所能儲存的最大正數值,導致計算結果出現錯誤,這種現象稱為:

第 5 題
1

假設有一個包含 1,000 個已按遞增順序排列的整數陣列。現在需要從中搜尋一個特定的數值。以下關於對分檢索 (Binary Search)線性檢索 (Linear Search) 的比較,哪項是正確的?

第 6 題
2

在程式編寫過程中,如果程式碼因為拼寫錯誤或違反了該語言的結構規則(例如漏掉括號或拼錯關鍵字),導致編譯器或解釋器無法辨認而不能執行,這種錯誤稱之為何?

先自己寫一次答案,再對照解題步驟。

第 7 題
3

在程式編寫中,傳遞參數時使用「傳值呼叫 (Pass by Value)」相較於「傳址呼叫 (Pass by Reference)」有何主要優點?

先自己寫一次答案,再對照解題步驟。

第 8 題
6

考慮以下遞歸函數 Compute(n)
函數 Compute(n)
    如果 n < 3 則 返回 n
    否則 返回 Compute(n - 1) + Compute(n - 2)
結束函數

當調用 Compute(5) 時,此函數的最終返回值是多少?

先自己寫一次答案,再對照解題步驟。

第 9 題
4

一個程式需要判斷一個人是否符合投票資格。假設法定投票年齡為 18 歲或以上

(a) 請編寫一段偽代碼 (pseudocode) 來實現以下功能:
    i. 從用戶輸入該人的年齡 (Age)。
    ii. 判斷該人是否符合投票資格。
    iii. 輸出 "符合投票資格" 或 "不符合投票資格"。

(b) 如果用戶輸入的年齡是 17 歲,程式會輸出什麼?請解釋你的推斷過程。

(c) 如果用戶輸入的年齡是 20 歲,程式會輸出什麼?請解釋你的推斷過程。

先自己寫一次答案,再對照解題步驟。

第 10 題
5

請設計一個程式來判斷一個年份是否閏年。閏年的判斷規則如下:
1. 能被 $$400$$ 整除的年份是閏年。
2. 能被 $$4$$ 整除但不能被 $$100$$ 整除的年份也是閏年。
3. 其他年份都不是閏年。

(a) 請為這個程式編寫偽代碼 (pseudocode),接收一個年份作為輸入,並判斷該年份是否閏年,然後顯示相應的結果。

(b) 請使用你的偽代碼,判斷以下年份是否閏年,並簡要解釋判斷過程:
    i. $$2000$$ 年
    ii. $$2023$$ 年
    iii. $$2100$$ 年

先自己寫一次答案,再對照解題步驟。

* thinka提供的內容由AI生成,可能並非總是準確或最新。請將其用作輔助資源,並與官方材料進行核實。

你已看過標準答案,接下來輪到批改你的答案。

這一頁可以告訴你好答案的樣子,卻無法指出你的答案欠缺什麼。thinka 按真實評分準則批改你的文字答案,約 15 秒完成。

想多做幾條同類題目?立即開始練習呢個課題,即做即批改。

立即練習