第三種電気主任技術者・2022年度 下期・機械

2022年度 下期 機械 問18(b)

30件分の使用電力量のデータ処理について、次の(a)及び(b)に答えよ。

図2は、30件の使用電力量を大きい順(降順)に並べ替える一つのプログラムの流れ図を示す。図2中の(オ)~(キ)に当てはまる処理として、正しいものを組み合わせたのは次のうちどれか。ただし、wは一時的な退避用の変数と考えよ。

2022年度 下期 機械 問18(b)の問題図1

出典:第三種電気主任技術者 2022年度 下期 機械 問18(b)

回答を選ぶ

選択すると結果を表示

見直しを保存するには、設定で端末内の記録をONにしてください。

次の問題へ →
正答・解説を確認する

正答:(2)

要点

正解は(2)。降順ソートでは、前の要素 d[i]d[i] が後ろの d[j]d[j] より小さいときに交換します。一時変数 ww を使うスワップの順番を読む問題です。

詳細解説を読む

降順(大きい順)に並べ替えるソート(選択ソート的な動き)です。
(オ):降順にするため、前の要素 d[i]d[i] が後ろの要素 d[j]d[j] より小さければ (d[i]<d[j]d[i] < d[j]) 交換する必要があります。
交換処理(スワップ)は、一時変数 ww を使って行います。

  1. w←d[i]w \leftarrow d[i] (退避)
  2. d[i]←d[j]d[i] \leftarrow d[j] (上書き)
  3. d[j]←wd[j] \leftarrow w (復元)
    選択肢2がこの手順((カ)で d[i]d[i] に d[j]d[j] を代入、(キ)で d[j]d[j] に ww を代入)と一致します。

関連問題