コンテンツへスキップ

B.1・計算的思考

国際バカロレア · IB Diploma · Computer Science · SL · トピック 5

查看幻灯片 練習する
5.1

対象範囲と前提条件

対応するSLの焦点。最初の評価 2027 の目標;公式PDFでは 403 が返されます;古い取得済みブリーフィングは最終評価 2026 です。残りのガイド、評価、および実践的要項は、記録された保留事項を維持します。

前提条件:指定された数量と単位を読み取り、算術を使用し、以下のモデル条件に従う。各授業は独立した転移前に独自の方法を発展させる。

これらは元々または明示的に架空の教学例であり、実際の測定値や完了した評価対象学習者調査ではない。

5.2

アルゴリズム、トレース、および妥当性の証拠

この観察を説明するのは何か?

  • アルゴリズムは特定の例では機能しても境界で失敗することがあります。テストはハッピーパスだけでなく、仕様に基づいて設計すべきです。
  • まず予測を立てる。比較したい量や特徴を明記し、2つの説明を区別できる証拠は何かを決定せよ。

モデルを構築する

  • アルゴリズムとは、タスクに対する有限かつ明確な手順のことです。トレースは状態の変化を記録します。ループ不変性は各反復によって維持される性質を示し、妥当性の正当化に役立ちます。
  • アルゴリズム: 指定されたタスクを解決する有限の手順;境界テスト: 許容入力範囲の限界で行うテスト。
アルゴリズム、トレース、妥当性の証拠: 元の実演例図

モデルを検証できる証拠を選ぶ

  • 入力条件と期待される出力を記述します。境界ケース、空のコレクション(許可される場合)、重複項目、無効な値を使用します。誤ったアルゴリズムと、誤った実装または不完全な要件を区別してください。
  • 小さな架空のソート済みリストに対する探索をトレースします。インデックスの慣例を明記してください。二分探索の場合、残りの区間が縮小するように境界を更新し、ソートがタスクの一部でない限り未ソート入力を却下してください。

既知の値から始める

  • 既知の値と単位を明記する。このケースに適応する仮定を持つ関係式を選び、代入前に変形する。
  • 既知: 8要素のリストに対する線形探索は、探しているアイテムが最後にあるか存在しない場合に8回の比較を必要とする可能性があります。このモデルでは、リストの長さを倍にすると最悪ケースの比較回数も倍になります。二分探索は各ステップで区間をおおよそ半分ずつ減らしますが、適切な順序構造が必要です。

例:

線形探索は一致しない14アイテムをスキャンします。いくつのアイテム比較が行われますか?同じ手順を用いる: 既知の数値 → モデル → 関係式 → 代入 → 単位と解釈。


結論とその限界を確認する

  • 成功したサンプルテストが、すべての有効入力に対する妥当性を証明するわけではありません。IBコースに、コースソースなしでCambridge固有の擬似コード構文を取り入れるべきではありません。
  • 元の観察に戻り、結果が何を裏付けているか、どのような条件を前提としているかを説明し、対立する説明を検証する方法を一つ示す。

警告:

成功したサンプルテストは、すべての有効入力に対してアルゴリズムが正しいことを証明します。この主張は誤りです: 成功したサンプルテストが、すべての有効入力に対する妥当性を証明するわけではありません。IBコースに、コースソースなしでCambridge固有の擬似コード構文を取り入れるべきではありません。

重要:

アルゴリズム、トレース、妥当性の証拠: 入力条件と期待される出力を記述します。境界ケース、空のコレクション(許可される場合)、重複項目、無効な値を使用します。誤ったアルゴリズムと、誤った実装または不完全な要件を区別してください。

実行可能なトレースと境界

def first_index(values, target):
    for index, value in enumerate(values):
        if value == target:
            return index
    return -1
print(first_index([4, 7, 4], 4))
print(first_index([4, 7, 4], 9))
print(first_index([], 4))

期待される出力:

0
-1
-1

ループはまずインデックス0をテストし、一致したら停止し、リストをすべて探索した後にのみ−1を返します。重複がある場合は最初のインデックスが返されます。空のリストではループ本体は実行されません。

English 日本語
algorithm/ˈælɡərɪθəm/ アルゴリズム
boundary test/ˈbaʊndəri test/ 境界テスト

国際バカロレア · IB Diploma · Computer Science · SL の他のトピック

ログインまたはアカウント作成

IGCSE, A-Level & AP