GCSE 疑似コード:試験形式の実践ガイド
試験委員会が期待する正確な疑似コード規約を学び、変数、ループ、配列、関数をカバーした実例で習得します。
疑似コードの得点が毎年くだらない理由で失われています。代入記号の誤り、コロンの欠落、インデントの不正確さです。このガイドでは GCSE Computer Science 試験で使用される規約(スタイルは OCR および AQA の参考資料に最も近い)をカバーし、フォーマットの細部で減点されるのではなく、実際に得点を稼ぐ疑似コードの書き方を示します。
代入、比較、出力
最も一般的な誤りは、代入と等式の混同です。疑似コードでは委員会によって <- または = を代入に使用します。仕様を確認してください。しかし論理はどちらの場合でも同じです。
score = 0
score = score + 10
OUTPUT score
入出力には、大文字で INPUT と OUTPUT を使用します。試験官はこれらの正確なキーワードを探しており、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