跳轉至

建立 2026-11-12 更新 2026-11-12 SL HL

B1–B2 計算思維與程式設計

B1 計算思維(Computational thinking)與 B2 程式設計(Programming)是 Paper 2 的核心:先學會把問題拆解成電腦能解決的步驟,再用 Python 或 Java 寫出正確、清楚的程式。本單元涵蓋變數與型別、資料結構、選擇與迴圈、函式、搜尋與排序演算法,以及檔案處理。

本單元頁面

子題 頁面 程度
B1.1 計算思維 SL HL
B2.1 程式設計基礎 SL HL
B2.2 資料結構 SL HL
B2.3 程式結構:選擇、迴圈與函式 SL HL
B2.4 程式演算法 SL HL(含 HL 段落)
B2.5 檔案處理 SL HL

Python 還是 Java?

新課綱的 Paper 2 可選 Python 或 Java 作答,由學校決定。本站範例以 Python 為主,關鍵語法用分頁同時提供 Java。兩種語言的觀念完全相同,差別主要在語法:

比較 Python Java
型別 動態型別,不用宣告 靜態型別,必須宣告 int x = 5;
區塊 用縮排 用 { }
陣列 list 可變長度 固定長度陣列 int[],或 ArrayList
執行 直譯(位元組碼) 編譯成位元組碼,在 JVM 執行

推薦影音

Python 一小時入門(Programming with Mosh)

簡述:Mosh 用一小時帶過 Python 安裝、變數、輸入輸出、條件、迴圈與函式,適合學校使用 Python 的學生作為起點。

Java 初學者完整課程(Programming with Mosh)

簡述:從 JDK 安裝、型別、運算子、控制流程講到基本的物件概念,適合學校使用 Java 的學生作為起點。

單元總複習

總複習:寫一個完整小程式

寫一個程式:讓使用者輸入 5 個分數(1–7 分),若輸入超出範圍就要求重新輸入,最後印出平均分數與最高分。

參考答案
scores = []
while len(scores) < 5:
    try:
        s = int(input(f"第 {len(scores) + 1} 個分數:"))
    except ValueError:
        print("請輸入整數")
        continue
    if 1 <= s <= 7:
        scores.append(s)
    else:
        print("分數必須在 1 到 7 之間")

print("平均:", sum(scores) / len(scores))
print("最高:", max(scores))