解決済み
基本情報技術者試験の過去問についてです。 問.売上ファイルのレコードの項目の一つに処理区分があり,この処理区分に応じた処理をしたい。全売上データに対する各処理区分の出現比率はあらかじめ分かっている。処理区分を判定するための比較回数に関する記述のうち,適切なものはどれか。 ア. 出現比率が中間の処理区分のものを先に判定すると,全体の比較回数が少なくなる。 イ. 出現比率が最も大きい処理区分から先に判定すると,全体の比較回数が少なくなる。 ウ. 出現比率が最も小さい処理区分から先に判定すると,全体の比較回数が少なくなる。 エ. どのような順番でも全体の比較回数は同じである。 答えは イ なのですが、平均比較回数の計算の意味が分かりません。 例えば ア では 出現比率が中間の処理区分のものを先に判定すると,全体の比較回数が少なくなる。 中は1回で判定され、大と小の処理区分は2回で判定されます。よって、平均比較回数は「1回×0.3+2回×0.7=1.7回」となります。 (引用元:基本情報技術者試験ドットコム) この様になるそうです。 特に、「大と小の処理区分は2回で判定されます」が分かりません。 大か小は一回判定して、片方が分かればもう片方は自明であると思うのですが。 解説していただきたいです。よろしくお願いいたします。
309閲覧
if 処理区分Aか? 処理A else if 処理区分Bか? 処理B else 処理C endif のように3つ以上の区分判定がある前提になっています。 ifの実行回数を減らすというのが今回の問題です。 最も出現頻度が高い処理区分をAとすると、Bの判定はしなくて良いので、比較回数が減るというだけです。 アの解説は、 Aが中間頻度、B,Cが大、小(B,Cどちらでも良い)という場合です。大か小かを比較している時点でifが2回目ということなのです。
< 質問に関する求人 >
求人の検索結果を見る
< 平日勤務で週末はリフレッシュしたい人におすすめ >
求人の検索結果を見る
< いつもと違うしごとも見てみませんか? >
求人の検索結果を見る