「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

出典:平成27年度 ITパスポート試験(IP) 秋期分 問48

difficulty難易度設定
スポンサーリンク

予備知識


用語意味
フローチャート処理の流れを何種類かの箱と線で表現した図
流れ図フローチャートのこと

問題


問題文
表に示す構成のデータを,流れ図の手順で処理する場合について考える。流れ図中のx,y,zをそれぞれデータ区分A,B,Cと適切に対応させれば,比較("xか?","yか?","zか?")の回数の合計は,最低何回で済むか。

画像48-1
ピヨ意訳:以下の流れ図の通りに処理するよ。
データ区分A、B、Cは、流れ図にあるx、y、zのどれかだよ。

画像48-1

つまり、可能性としては

1.A→x、B→y、C→z
2.A→x、B→z、C→y
3.A→y、B→x、C→z
4.A→y、B→z、C→x
5.A→z、B→x、C→y
6.A→z、B→y、C→x

の6パターンが考えられるよ。
データ区分A、B、Cとx、y、zの対応によって「xか?」「yか?」「zか?」の比較回数が変わるんだけど、一番比較回数が少なくなる組み合わせのとき、比較回数は全部で何回?

解答選択肢
170
ピヨ意訳:170回
190
ピヨ意訳:190回
230
ピヨ意訳:230回
250
ピヨ意訳:250回


正解までのつなぎ

正解


正解
170
ピヨ意訳:170回

ピヨピヨ解説


問題文がクソですね。
何を聞きたいのかが分かりにくいです。

問題文で聞いているのは「xか?」「yか?」「zか?」の比較回数が最も少なくなるデータ区分A、B、Cとx、y、zの対応……のときの比較回数です。

データ区分A、B、Cは流れ図にあるx、y、zのどれかです。
組み合わせの可能性としては

1.A→x、B→y、C→z
2.A→x、B→z、C→y
3.A→y、B→x、C→z
4.A→y、B→z、C→x
5.A→z、B→x、C→y
6.A→z、B→y、C→x


の6パターンが考えられます。

仮に組み合わせが

1.A→x、B→y、C→z

だったとしましょう。

その場合

■データ区分「A」のデータを処理
 「xか?」の比較を10回やる

■データ区分「B」のデータを処理
 「xか?」の比較を30回やる
 「yか?」の比較を30回やる

■データ区分「C」のデータを処理
 「xか?」の比較を50回やる
 「yか?」の比較を50回やる
 「zか?」の比較を50回やる

■データ区分「その他」の処理
 「xか?」の比較を10回やる
 「yか?」の比較を10回やる
 「zか?」の比較を10回やる


になるので、比較回数は全部で

10+30×2+50×3+10×3=250回

です。

データ区分A、B、Cとx、y、zの対応によって比較回数は変わります。
それじゃあ、一番比較回数が少なくなる組み合わせのとき、比較回数は全部で何回ですか?という問題です。

それを踏まえて、本題に入ります。

地道に全部計算していっても良いのですが、手を抜きましょう。

データが「x」の場合、比較は「xか?」の1回で済みます。
データが「y」の場合、比較は「xか?」「yか?」の2回発生します。
データが「z」の場合、比較は「xか?」「yか?」「zか?」の3回必要です。

つまり、できるだけ多くのデータが「x」の方が比較回数は少なくて済むわけです。

ということは、1番件数の多いデータ区分「C」が「x」で2番目に件数の多いデータ区分「B」が「y」のときに比較回数が一番少なくなります。
組み合わせとしては

6.A→z、B→y、C→x

の場合です。

あとは比較回数を計算するだけです。

■データ区分「C」のデータを処理
 「xか?」の比較を50回やる

■データ区分「B」のデータを処理
 「xか?」の比較を30回やる
 「yか?」の比較を30回やる

■データ区分「A」のデータを処理
 「xか?」の比較を10回やる
 「yか?」の比較を10回やる
 「zか?」の比較を10回やる

■データ区分「その他」の処理
 「xか?」の比較を10回やる
 「yか?」の比較を10回やる
 「zか?」の比較を10回やる


になるので、比較回数は全部で

50+30×2+10×3+10×3=170回

です。

ということで「ア:170」が正解です。


スポンサーリンク
書籍画像060
書籍画像079


書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
つくって、壊して、直して学ぶ Kubernetes入門
ソフトウェア受託現場の「失敗」集めてみた。 42の失敗事例で学ぶ受託開発のうまい進めかた