2023年4月から基本情報技術者の試験制度が変更されました。
試験制度は変更されたものの科目B(旧:午後問題)の重要さは変わりません。
出題方式は「多肢選択式」で以前と同じですが、データ構造及びアルゴリズムが8割、情報セキュリティが2割の割合で出題される点が大きく変わっています。
合格基準点は600点以上/1000点満点中、つまり6割以上取れれば合格になります。
サンプル問題では前半16問が「データ構造及びアルゴリズム」の問題。残り4問が「情報セキュリティ」の問題。となっています。
サンプル問題は公式にIPAから出されている貴重な情報です!
早速、問題を見ていきましょう!
問2 (データ構造及びアルゴリズム)
設問
解答
答え:「ウ」
解説
難易度は低い問題かと思います。
if文の処理について問われている問題です。下記4パターンに場合分けされています。
①3と5の両方で割り切れる場合
②3でのみ割り切れる場合(3で割り切れて5で割り切れない場合)
③5でのみ割り切れる場合(5で割り切れて3で割り切れない場合)
④3でも5でも割り切れない場合(上記以外)
処理は上から順に行っていきます。また、if文も処理は上から順に行っており、条件に一致した場合は指定されている処理を行い、if分の処理が終了します。
今回ポイントとなるのは、「①の条件は、②と③の条件の一部となっている点」です。
つまり、①の条件を満たすとき、②の条件も③の条件も満たします。
逆に②の条件のみの場合、①の条件を満たさず、③の条件のみの場合も、①の条件を満たしません。
aに入れる条件を考えてみましょう。
aに②の条件を入れると、"3と5で割り切れる"値についても"3で割り切れる"と表示されてしまい、適切ではありません。
また、aに③の条件を入れると、"3と5で割り切れる"値についても"5で割り切れる"と表示されてしまい、適切ではありません。
したがって、aには①の条件を入れる必要があります。その後、"3と5"で割り切れなかった値について、"3"で割り切れるか、"5"で割り切れるかの判定を行う必要があります。
※このとき、②の条件と③の条件の順番はどちらでも正しく動きます。
よって、aが①の条件になっているのは「ウ」のみであるため、選択肢「ウ」が正解となります。
最後に
いかがだったでしょうか。
問1と比べると難しくなっていますが、アルゴリズム問題にそこまで苦手意識は出ていないのではないでしょうか。後半に行くほど、問題分も長くなり考える時間が増えてきます。このような問題はケアレスミスのないようにして確実にとっていきましょう!
反対にこの問題でよくわからない点・疑問点が出てくる方は、if文やfor文、while文などの該当部分の参考書を見直してみましょう!