arrow_backフィールドノートに戻る
COMPUTER SCIENCE 公開日 29 Jul 2026

GCSE 疑似コード:試験形式の実践ガイド

試験委員会が期待する正確な疑似コード規約を学び、変数、ループ、配列、関数をカバーした実例で習得します。

疑似コードの得点が毎年くだらない理由で失われています。代入記号の誤り、コロンの欠落、インデントの不正確さです。このガイドでは GCSE Computer Science 試験で使用される規約(スタイルは OCR および AQA の参考資料に最も近い)をカバーし、フォーマットの細部で減点されるのではなく、実際に得点を稼ぐ疑似コードの書き方を示します。

代入、比較、出力

最も一般的な誤りは、代入と等式の混同です。疑似コードでは委員会によって <- または = を代入に使用します。仕様を確認してください。しかし論理はどちらの場合でも同じです。

score = 0
score = score + 10
OUTPUT score

入出力には、大文字で INPUTOUTPUT を使用します。試験官はこれらの正確なキーワードを探しており、print()console.log() ではありません。疑似コード問題に Python 形式の構文を書いた場合、論理が正しければ一部の採点基準が受け入れることもありますが、リスクを冒さないでください。教えられた規約に従ってください。

比較はほとんどの委員会の疑似コードで等式に == を使用し、!=<><=>= は予想通りです。比較に単一の = を使用しないでください。これは IF ステートメントで得点を失う典型的な C 形式の誤りです。

選択:IF、ELSE IF、ELSE

IF age < 13 THEN
    OUTPUT "Child"
ELSE IF age < 18 THEN
    OUTPUT "Teenager"
ELSE
    OUTPUT "Adult"
ENDIF

すべての IF は対応する ENDIF が必要です(仕様によっては ENDIF または END IF です。AQA は一部のバージョンでインデントのみで閉じ、明示的な終了トークンがないため、試験前に委員会の参考資料を確認してください)。一貫してインデントします。2 スペースでも 4 スペースでも構いませんが、1 つ選んで回答全体で守ってください。試験官はキーワードと同じくらいインデントで構造を読み取ります。

反復:3 つのループ型、3 つの役割

GCSE 疑似コードでは、各ループを書く方法だけでなく、いつ使用するかを知ることが期待されています。

カウント制御 — 正確に何回繰り返すかわかっているときは FOR を使用します:

FOR i = 1 TO 10
    OUTPUT i * i
NEXT i

条件制御、先チェック — ループが実行されないかもしれないときは WHILE を使用します:

WHILE total < 100
    total = total + 10
ENDWHILE

条件制御、後チェック — 入力の検証など、ループが最低 1 回は実行する必要があるときは REPEAT...UNTIL を使用します:

REPEAT
    INPUT password
UNTIL LEN(password) >= 8

よくある試験の罠は、試験官が WHILE ループが実行されない理由を見つけるよう求めたり、REPEAT ループが余分に 1 回実行される理由を見つけるよう求めたりします。回答する前に、実際の値を使用して紙の上でトレースしてください。コードを読みはしないでください。

配列と 2 次元配列

配列は試験疑似コードでほぼ常にゼロインデックスです。これは一緒に教えられた Python 規約と一致します。

names = ["Alex", "Sam", "Jo"]
OUTPUT names[0]

FOR i = 0 TO LEN(names) - 1
    OUTPUT names[i]
NEXT i

2 次元配列の場合、grid[row][col] 表記とネストされた FOR ループが表示されます:

FOR row = 0 TO 2
    FOR col = 0 TO 2
        OUTPUT grid[row][col]
    NEXT col
NEXT row

ループの順序を正しくします。行が外側、列が内側は標準ですが、一部の採点基準が論理を実際にトレースしているかをテストするために意図的にそれを入れ替えるため、質問を慎重に読んでください。

プロシージャと関数

違いを知ってください。プロシージャは何かをして値を返しませんが、関数は返します。

PROCEDURE greet(name)
    OUTPUT "Hello " + name
ENDPROCEDURE

FUNCTION square(n)
    RETURN n * n
ENDFUNCTION

result = square(5)
greet("Priya")

パラメータは質問で特に指定がない限り、値によって渡されます。関数を書くよう求められた場合、常に RETURN を含めます。RETURN のない関数は得点が失われます。内側の計算が正しい場合でも。

トレーステーブル:最高の試験武器

疑似コードを示す質問が出力を求めた場合、推測しないでください。トレーステーブルを作成します。各変数の列、ループ反復ごとに 1 行、値が変わると入力されます。コードを頭で読むより遅いですが、特にネストされたループまたは配列境界のオフバイワンエラーではるかに信頼できます。

これを適切に練習する

疑似コードを入力する前に手書きします。試験には自動補完がありません。次に、自分の回答をいくつか実際の Python に変換して実行します。出力が予測したものと一致したら、理解は確実です。そうでなければ、論理が損なわれるまさにそこが見つかりました。

より構造化されたループ、配列、関数の実装コードでの実践については、Korra Studio の Python および Computer Science セクションをご確認ください。

この記事は AI の支援を受けて執筆し、Korra Studio の Michal Pilch(CISSP)が確認のうえ公開しました。

さらに先へ進む準備はできていますか?

これは Korra Studio ナレッジベースの 1 つのノートです。プラットフォームはすべてのトピックと 1 対 1 メンタリングをペアで提供します。

無料で始めるarrow_forward