基本情報技術者試験の科目Bの公開問題を題材に,条件分岐について学習します。この問題では,3と5の倍数を条件分岐で判定する方法を確認します。
(令和4年度12月公開) 基本情報技術者試験 サンプル問題 科目B 問2
問 次のプログラム中の a 〜 c に入れる正しい答えの組合せを,解答群の中から選べ。
関数 fizzBuzz は,引数で与えられた値が,3で割り切れて5で割り切れない場合は “3で割り切れる” を,5で割り切れて3で割り切れない場合は “5で割り切れる” を,3と5で割り切れる場合は “3と5で割り切れる” を返す。それ以外の場合は “3でも5でも割り切れない” を返す。
〔プログラム〕
○文字列型: fizzBuzz(整数型: num)
文字列型: result
if (numが a で割り切れる)
result ← “ a で割り切れる”
elseif (numが b で割り切れる)
result ← “ b で割り切れる”
elseif (numが c で割り切れる)
result ← “ c で割り切れる”
else
result ← “3でも5でも割り切れない”
endif
return result
解答群
a | b | c | |
| ア | 3 | 3と5 | 5 |
| イ | 3 | 5 | 3と5 |
| ウ | 3と5 | 3 | 5 |
| エ | 5 | 3 | 3と5 |
| オ | 5 | 3と5 | 3 |
【解答】ウ
【解説】
最初に3と5で割り切れるを判定し,その後に3で割り切れる,5で割り切れるを判定する(3で割り切れると5で割り切れるの判定順はどちらが先でもよい。3で割り切れるや5で割り切れるを先に判定すると,その時点でif文の処理が終了するため,3と5で割り切れるを正しく判定できない)。
【参考】
この問題のポイント
この問題から学べることは,
- if文・elseif・elseによる条件分岐
- 3と5の倍数を条件分岐で判定する方法
- 複数の条件を判定するときの条件の順番
- 条件分岐に沿ってプログラムの処理を追跡する方法
です。特に,3と5の両方で割り切れる場合を正しく判定するために,3と5で割り切れるという条件を先に判定することを理解しておきましょう。
基本情報技術者試験の学習におすすめの参考書
基本情報技術者試験の合格を目指す方におすすめの参考書です。
学習のお役に立ちましたら
この記事が少しでも学習のお役に立ちましたら,今後も分かりやすい解説や学習コンテンツを継続してお届けする励みになります。
よろしければ、このサイトを応援いただけますと嬉しいです。
※OFUSEは,クリエイターやコンテンツ制作を直接支援できるサービスです。

