IPAが実施してる国家試験である「基本情報技術者試験」は、2023年4月から試験内容が変更します。
変更内容・現行試験との違いについては以下の記事で説明しているため、ご存じない方は一度目を通してください。
今回の記事では、この新しくなる基本情報技術者試験で出題されることが決まっている「疑似言語」について解説していきます。
科目B試験は「アルゴリズムとプログラミング」が8 割,「情報セキュリティ」が2 割という割合で出題されることが公表されています。
「アルゴリズムとプログラミング」の中でも「疑似言語」を用いた出題も高い割合で出題されることが予想されます。
非常に重要な内容となっているため、ぜひ頭に入れておきましょう。
疑似言語の記述形式
前述したように、2023年4月からの基本情報技術者試験では「疑似言語」という独自に策定された言語が用いられます。
それに先立って、IPAからは「疑似言語」の記述形式が公開されています。
公開されている内容は以下の通りです。
〇手続名または関数名
手続または関数を宣言する。
〇整数型: fee
のようにして手続または関数を宣言します。
型名: 変数名
変数を宣言する。
整数型: ret
のようにして型名と変数名を宣言します。
/* 注釈 */ または // 注釈
注釈を記述する。
「/* */」の中または「//」の後ろにコメントを記述します。
変数名 ← 式
変数に式の値を代入する。
ret ← 100
のようにして変数に値を代入します。
手続名または関数名(引数, …)
手続または関数を呼び出し、引数を受け渡す。
fee(整数型: age)
のようにして関数に引数を渡します。
この場合、関数「fee」に整数型の変数「age」を引数として渡しています。
if (条件式)
選択処理を示す。
if (age が 3 以下)
ret ← 100
elseif (age が 9 以下)
ret ← 300
else
ret ← 500
endif
return ret
のようにして選択処理を記述します。
まず、条件式「age が 3 以下」に当てはまった場合、その後の処理「ret ← 100」を実行します。
当てはまらなかった場合、次に「elseif」の条件式が評価され、当てはまれば「ret ← 300」を実行します。
どの条件式にも当てはまらなかった場合、「ret ← 500」を実行します。
このように、if分は上から順に条件式が評価され、当てはまった時点の処理を実行し、以降の条件式は評価しません。
また、「elseif」は複数記述することが可能ですが、「else」は一つしか記述できません。
while (条件式)
前判定繰返し処理を示す。
while (prev.next が 未定義でない)
prev ← prev.next
endwhile
のようにして繰返し処理を記述します。
条件式「prev.next が 未定義でない」が真である間、処理「prev ← prev.next」を繰返し実行します。
処理の前に条件式を評価するため、「前判定繰返し処理」と呼ばれます。
※未定義=変数に値が格納されていない状態
do
後判定繰返し処理を示す。
do
prev ← prev.next
while (prev.next が 未定義でない)
のようにして繰返し処理を記述します。
処理「prev ← prev.next」を実行し、条件式「prev.next が 未定義でない」が真である間、繰返します。
while文とは異なり、先に処理を実行してから条件式を評価するため、「後判定繰返し処理」と呼びます。
for (制御記述)
繰返し処理を示す。
for (i を 1 から 10 まで 1 ずつ増やす)
ret = ret + i
endfor
のようにして繰返し処理を記述します。
制御記述「i を 1 から 10 まで 1 ずつ増やす」の内容に基づいて、処理「ret = ret + i」を繰返します。
演算子と優先順位
続いて、使用される演算子とその優先順位についてです。
以下のように公開されています。
一般的なプログラミング言語に共通している優先度になっているため、覚えておきましょう。
配列
最後に、配列について紹介します。
IPAが公開した資料では、配列は次のように定義されています。
配列の要素は,“[”と“]”の間にアクセス対象要素の要素番号を指定することでアクセスする。
なお,二次元配列の要素番号は,行番号,列番号の順に“,”で区切って指定する。
“{”は配列の内容の始まりを,“}”は配列の内容の終わりを表す。
ただし,二次元配列において,内側の“{”と“}”に囲まれた部分は,1 行分の内容を表す。
つまり、配列を定義するときは「array ← {1, 2, 3, 4, 5}」のように定義されます。
また、配列の要素を指定するときは「array[2]」のように指定します。
配列の要素番号の開始が0か1かは問題文に記載されているようです。
まとめ
今回は、2023年4月から実施される新しい基本情報技術者試験の疑似言語について解説いたしました。
今回の記事で説明した内容は以下に詳しく記載されています。
気になる方は目を通してみてください。
「試験で使用する情報技術に関する用語・プログラム言語など」Ver.5.0
今回は以上となります。
最後まで目を通して頂きありがとうございます。
基本情報技術者試験の対策にオススメな参考書はこちら!
すべてイラスト解説で非常に分かりやすさに特化した参考書です。