電験三種 平成29年度(2017) 機械 問18(a) 過去問解説

問18(a) 《情報(並べ替えのフローチャート)》
(選択問題:問17または問18のどちらか1問を解く) 図のフローチャートで表されるアルゴリズムについて,次の(a)及び(b)の問に答えよ。変数は全て整数型とする。 このアルゴリズム実行時の読込み処理において,n=5とし,a[1]=2,a[2]=3,a[3]=8,a[4]=6,a[5]=5とする。 (a) 図のフローチャートで表されるアルゴリズムの機能を考えて,出力されるa[5]の値を求めよ。その値として正しいものを次の(1)〜(5)のうちから一つ選べ。
問18(a)の図
  1. (1) 2
  2. (2) 3
  3. (3) 5
  4. (4) 6
  5. (5) 8
答えと解説を見る
正解は(5)
解説
【考え方】フローチャートが何をしているか(並べかえ)がわかれば、計算しなくても解けます。 並べかえ:前の数が後ろの数より大きければ入れかえる → 小さい順(昇順)に並ぶ。 ■1 フローチャートを読む i番目の数 a[i] と、それより後ろの数 a[j] をくらべます。 a[i] のほうが大きいと、2つを入れかえます(X の部分)。 これを i = 1 から n−1 までくり返すと、前のほうに小さい数が集まります。 つまり、小さい順(昇順)に並べかえるアルゴリズムです。 ■2 a[5] を求める 2, 3, 8, 6, 5 を小さい順に並べると、2, 3, 5, 6, 8 です。 いちばん後ろの a[5] は、いちばん大きい8です。 答えは(5)ピヨ。
出典:平成29年度(2017) 第三種電気主任技術者試験(電気技術者試験センター)機械 問18(a)