条件分岐と範囲の判定【基本情報技術者試験 科目B サンプル問題】

(令和4年度4月公開) 基本情報技術者試験 サンプル問題 科目B 問1のブログのアイキャッチ画像 基本情報技術者試験 科目B 公開問題

← 科目Bの公開問題一覧へ戻る

 基本情報技術者試験の科目Bのサンプル問題を題材に,条件分岐について学習します。この問題では,年齢に応じて処理を分岐し,条件の範囲を判定する方法を確認します。

広告

(令和4年度4月公開) 基本情報技術者試験 サンプル問題 科目B 問1

問 次のプログラム中の       に入れる正しい答えを,解答群の中から選べ。

 ある施設の入場料は,0歳から3歳までは100円,4歳から9歳までは300円,10歳以上は500円である。関数 fee は,年齢を表す0以上の整数を引数として受け取り,入場料を返す。

〔プログラム〕

○整数型: fee(整数型: age)

 整数型: ret

 if (age が 3 以下)

  ret ← 100

 elseif (       )

  ret ← 300

 else

  ret ← 500

 endif

 return ret

解答群

ア (age が 4 以上) and (age が 9 より小さい)

イ (age が 4 と等しい) or (age が 9 と等しい)

ウ (age が 4 より大きい) and (age が 9 以下)

エ age が 4 以上

オ age が 4 より大きい

カ age が 9 以下

キ age が 9 より小さい

【解答】カ

【解説】

最初のif文で「3歳以下」を処理しているため,elseifでは4歳~9歳を判定すればよい。ただし,elseifは最初の条件に該当しなかった場合だけ実行されるので,「ageが9以下」とすることで,3歳より大きく9歳以下(4歳~9歳)を表すことができる。

【参考】

「(令和4年度4月) 基本情報技術者試験 サンプル問題 科目B 問1」の解答画像

この問題のポイント

 この問題から学べることは,

  • if文・elseif・elseによる条件分岐
  • 条件の組合せによる範囲の表現
  • elseifが最初の条件に該当しなかった場合に実行されること
  • 条件分岐を追跡して,処理結果を確認する方法

です。特に,elseifでは最初の条件に該当しなかったことを踏まえて条件を考えることがポイントです。今回の「age が 9 以下」は,3歳以下ではないことと組み合わせることで,4歳~9歳を表しています。

基本情報技術者試験の学習におすすめの参考書

基本情報技術者試験の合格を目指す方におすすめの参考書です。

科目Bのアルゴリズム・擬似言語を基礎から学びたい方に。私も実際に読んでみましたが,変数・配列・リストなどの基礎から,擬似言語,例題・演習問題まで段階的に扱っており,取り組みやすい構成になっています。
¥2,200 (2026/09/17 08:58時点 | Amazon調べ)

学習のお役に立ちましたら

この記事が少しでも学習のお役に立ちましたら,今後も分かりやすい解説や学習コンテンツを継続してお届けする励みになります。

よろしければ,このサイトを応援いただけますと嬉しいです。

※OFUSEは,クリエイターやコンテンツ制作を直接支援できるサービスです。

広告