過去問解きまくり研究所 ホーム

ITパスポート 平成23年度 特別 問93

基礎理論

流れ図に関する問題

〔中問B・プログラミングとテスト〕〔テクノロジ〕関数の処理の流れを図1に示す。図1の a に入れる適切な条件式はどれか。

〔中問B の記述(抜粋・再掲)〕Q 社の R さんは,チケット販売システムの開発で使用する関数のプログラミングとテストを実施しようとしている。この関数は,大人と子供のチケットの購入希望枚数を基に,合計金額の計算を行う。大人のチケットは 3,000 円,子供のチケットは 1,000 円である。一度に購入できる大人と子供のチケットの最高枚数は,それぞれ 20 枚までであり,関数はこの購入条件を満たしているかどうかをチェックする。また,合計で 20 枚以上購入する場合,割引処理を行う。

〔関数の仕様〕

〔処理内容〕
1. 購入希望枚数を基に,購入条件を満たしているかどうかを判定する。購入条件を満たしていない場合,合計金額に −1 を代入する。
2. 購入条件を満たしている場合,引数を基に次のとおりに合計金額の計算を行う。合計金額 = 大人のチケットの購入希望枚数×3,000 + 子供のチケットの購入希望枚数×1,000
3. チケットを合計で 20 枚以上購入した場合は,合計金額から 1 割を割り引く。

〔図1 関数の処理の流れ図〕流れを字で書き起こしたもの

開始
  ↓
 〈判断〉  a  ?
   ├─ No  ─→  L = −1  ────────┐
   └─ Yes                              │
        ↓                               │
      〈判断〉 J + K ≧ 20 ?            │
        ├─ No  ─→ L = 3,000×J + 1,000×K ─┤
        └─ Yes                          │
             ↓                          │
           L = 0.9×(3,000×J + 1,000×K)─┤
                                        ↓
                                       終了
答えと解説

✓ これが正解ア 0 ≦ J ≦ 20 and 0 ≦ K ≦ 20

解説

J と K がどちらも範囲内に収まる条件を、and で書きます。

この関数は、まず購入条件を満たすかを判定します。満たさなければ、合計金額 L に −1 を入れて返します。購入条件は、大人の J と子供の K のそれぞれに置かれています。どちらも20枚までで、0 を下回ることもありません。つまり二つの枚数が、それぞれ範囲の内にあることが必要です。だから二つの条件を、and で結んだ式が入ります。この式を挙げた肢が正解で、両方を満たす形になります。or で結ぶと、片方だけでも通ってしまいます。大人が30枚でも、子供が範囲内なら通ってしまいます。J+K という合計で判定する式も、条件が違います。それぞれ20枚以内でも、足すと20を超えることがあります。どちらも20を超えると書いた式は、向きが逆です。そちらは、買えない場合を表す式になります。シラバスも、流れ図による表現を学ぶよう求めています。

ほかの選択肢の解説

この分野を演習で解く この問題を記録に残す

関連用語

出典:平成23年度 特別 ITパスポート試験 問93(改変:原典の図表をテキストに書き起こした)

解説は当サイト独自のもので、IPA(独立行政法人情報処理推進機構)とは関係ありません。

関連問題

同じ分野の問題

誤りを見つけたら報告する(メールが開きます)