読み込み中
科目B のプログラム問題は、IPA が定めた擬似言語で書かれています。 プログラミング言語の経験があっても記号が違うので、まずここだけ揃えておくと 問題文を読む速さが変わります。
他の言語の書き方と違う点です。ここを取り違えたまま読むと、 トレースの結果が合わなくなります。
| 擬似言語 | 間違えやすい書き方 | 補足 |
|---|---|---|
| ← | = | 代入。= は使いません |
| = | == | 等値の比較 |
| ≠ | != | 等しくない |
| ≧ ≦ | >= <= | 以上・以下 |
| × | * | 乗算 |
| ÷ | / | 除算。実数の割り算です |
| mod | % | 剰余(割った余り) |
| not / and / or | ! / && / || | 論理演算 |
| array[1] | array[0] | 先頭は [1]。開始番号は問題文に必ず書かれます |
| true / false | True / TRUE | 論理型の値は小文字 |
とくに配列の添字は取り違えが多いところです。 開始番号は記述形式では定められておらず、問題文に必ず書かれます(実際の試験では「ここで、配列の要素番号は 1 から始まる。」と設問に添えられます)。 まず設問のその一文を確かめてください。
| 記述形式 | 説明 |
|---|---|
| ○手続名または関数名 | 手続または関数を宣言する |
| 型名: 変数名 | 変数を宣言する |
| 大域: 型名: 変数名 | 大域変数を宣言する |
| /* 注釈 */ | 注釈を書く |
| // 注釈 | 行末まで注釈を書く |
手続は値を返しません。値を返すものは関数として宣言し、returnで返します。
| 記述形式 | 説明 |
|---|---|
| 変数名 ← 式 | 変数に式の値を代入する |
| 手続名または関数名(引数, …) | 手続または関数を呼び出す |
字下げで階層を表します。ブロックの終わりはendifのように明示されるので、対応する行を目で追えます。
if (条件式1)処理1elseif (条件式2)処理2else処理3endif
while (条件式)処理endwhile
do処理while (条件式)
for (i を 1 から 10 まで 1 ずつ増やす)処理endfor
後判定繰返しだけはendwhileで閉じません。条件が末尾にあるためです。
上にあるものほど先に計算されます。
| 種類 | 演算子 |
|---|---|
| 式 | ( ) . |
| 単項 | not, +, - |
| 乗除 | mod, ×, ÷ |
| 加減 | +, - |
| 関係 | ≠, ≦, ≧, <, =, > |
| 論理積 | and |
| 論理和 | or |
.はメンバ変数やメソッドへのアクセスです。優先順位はいちばん上で、node.valueのように書きます。modは剰余(割った余り)です。%ではありません。andとorは短絡評価をします。左側だけで結果が決まるとき、右側は評価されません。÷は実数の除算です。整数の商が必要なときは、問題文でそう明示されます。trueとfalseです。"文字列"、文字は'a'のように囲みます。{1, 2, 3}のように波括弧で書きます。array[1]のように、[と]の間に要素番号を書いてアクセスします。{{1, 2}, {3, 4}}と書き、array[1, 2]で参照します。array の要素数と書きます。クラスを扱う問題も出ます。ただしクラスの書き方そのものは記述形式に定められていません。そのクラスが何を表し、どんなメンバ変数・メソッドを持つかは、 プログラムの外(本文・図・表)で説明されます。まずそちらを読んでください。
.でアクセスします(queue.size())。○クラス 子 は 親 を継承する」と書き、親のコンストラクタはsuper(引数)で呼びます。○クラス Counter整数型: count○コンストラクタ Counter()count ← 0○整数型: increment()count ← count + 1return count
宣言・繰返し・戻り値がひととおり入った例です。
○整数型: makeNewArray(整数型: n)整数型の配列: newArray ← {}整数型: ifor (i を 1 から n まで 1 ずつ増やす)newArray の末尾 に i を追加するendforreturn newArray
記法が分かっても、変数の値を追う(トレースする)練習は別に要ります。 手を動かすのが一番早いので、実際の問題で確かめてください。登録は要りません。
練習問題を解くIPA「情報処理技術者試験・情報処理安全確保支援士試験 における 擬似言語の記述形式」に基づいてまとめています。 試験制度の改訂で記述形式が変わることがあるため、 最新の内容は IPA の公表資料をご確認ください。