基本情報技術者試験の科目Bの「アルゴリズムとプログラミング」の問題は、擬似言語で記述されたプログラムを読み取るものである。
この擬似言語は、基本情報技術者試験独自のプログラミング言語なので、あらかじめ読み方を覚えておく必要がある。
「アルゴリズムとプログラミング」の問題は、科目Bの8割を占めているので、擬似言語の攻略は、この試験の合格の必須条件と言える。
以下にサンプル問題をご紹介しよう。
なお、この問題は、情報処理推進機構が2022年12月26日に公開した科目Bのサンプル問題の一部である。
正解:カ
再帰関数のプログラムの問題である。
再帰関数とは、自分自身を呼び出す関数のことを指す。 問題を繰り返し処理する場合に有効な関数である。
本問では、仮に非負の数「4」を引数として、「4×3×2×1=24」が返されるかを考える。
すると、肢カでは、
factorial(4)
=4×factorial(3)
=4×3×factorial(2)
=4×3×2×factorial(1)
=4×3×2×1×factorial(0)
=4×3×2×1×1
=24
となり、階乗の結果を得ることができる。
再帰関数には、再帰呼び出し(自分自身を呼び出すこと)を終了する条件が必ずある。
これを再帰の出口といい、本問では、「n=0」が該当する。
「n=0」になるまでは、自身を呼び出していくが、「n=0」となると、今度は呼び出し元に戻っていく。
(参考)
・情報処理推進機構(IPA)の基本情報技術者試験のサイト(PDF含む)
・出るとこだけ!基本情報技術者 テキスト&問題集 [科目A][科目B]2025年版 矢沢 久雄(著) 翔泳社
・基本情報技術者【科目B】アルゴリズム×擬似言語 トレーニングブック 大滝みや子(著)技術評論社
コメント