本文へスキップ
Certia
B問題
下期

電験三種 機械 2022年度 下期 問18(b)

22 / 22

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

問題の図

正解と解説

表示する
正解 2

d[i]<d[j] d[i] d[j] d[j] w

図2は外側ループでi=1~k-1、内側ループでj=i+1~kを走査する選択(交換)ソートである。降順に並べ替えるには、後ろの要素d[j]のほうが大きい場合、すなわち(オ)の判定がd[i]<d[j]のときに2つを入れ替えればよい。入れ替えは退避用変数wを使い、w←d[i]の後に(カ)でd[i]←d[j]、(キ)でd[j]←wと3段階で行う。(カ)と(キ)の順序を逆にしたり、d[j]←d[i]から始めたりすると元の値が上書きされて正しく交換できない。

AI に聞く

AI のボタンを押すと、問題文と解答を入れたプロンプトをコピーしてから各サービスを開きます。入力欄に自動で入らない場合は貼り付けてください。