【解説】基本情報技術者試験 サンプル問題 問7

2023年4月から基本情報技術者の試験制度が変更されました。

試験制度は変更されたものの科目B(旧:午後問題)の重要さは変わりません。

出題方式は「多肢選択式」で以前と同じですが、データ構造及びアルゴリズムが8割、情報セキュリティが2割の割合で出題される点が大きく変わっています。

合格基準点は600点以上/1000点満点中、つまり6割以上取れれば合格になります。

サンプル問題では前半16問が「データ構造及びアルゴリズム」の問題。残り4問が「情報セキュリティ」の問題。となっています。

サンプル問題は公式にIPAから出されている貴重な情報です!

早速、問題を見ていきましょう!

 

 

問7 (データ構造及びアルゴリズム) 

設問

出典:基本情報技術者試験 科目B試験サンプル問題



 

解答 

答え:「カ」

 

 

解説

再帰関数の問題です。難易度は高くなく、簡単な部類です。

階乗について取り扱っているプログラムです。

 

階乗は「3!」の場合、「3! = 3×2×1 (= 6)」となります。

「4!」の場合、「4! = 4×3×2×1 (= 24)」となります。

 

プログラムを見てみましょう。

if (n = 0)のとき、「1」を返します。

「3!」の場合、「3! = 3×2×1×1 」の処理の部分を指しています。

 

そのため、今回問われている部分はそれ以外の部分、

「3!」の場合、「3! = 3×2×1×1  」の処理の部分について問われています。

 

「カ」の選択肢を見てみましょう。

 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)

正しい階乗の結果求められており、ただしい式になっています。

 

よって、正解の選択肢は「カ」になります。

 

 

最後に

いかがだったでしょうか。

再帰関数、特に階乗の問題は有名です。科目Aで出てきてもおかしくない問題です。

式を理解したあとは、暗記してしまいましょう!

後半に行くほど、問題分も長くなり考える時間が増えてきます。このような問題はケアレスミスのないようにして確実にとっていきましょう!

反対にこの問題でよくわからない点・疑問点が出てくる方はもう一度該当部分の参考書を見直してみましょう!