過去問.com - 資格試験の過去問 | 予想問題の解説つき無料問題集

第三種電気主任技術者の過去問 令和2年度(2020年) 機械 問64

問題

このページは問題閲覧ページです。正解率や解答履歴を残すには、 「条件を設定して出題する」をご利用ください。
[ 設定等 ]
図は、n個の配列の数値を大きい順(降順)に並べ替えるプログラムのフローチャートである。次の問に答えよ。

このプログラム実行時の読込み処理において、n=5とし、a[1]=3、a[2]=1、a[3]=2、a[4]=5、a[5]=4とする。フローチャート中のXで示される部分の処理は何回行われるか、正しいものを次の選択肢の中から一つ選べ。
問題文の画像
   1 .
3
   2 .
5
   3 .
7
   4 .
8
   5 .
10
( 第三種 電気主任技術者試験 令和2年度(2020年) 機械 問64 )
このページは問題閲覧ページの為、解答履歴が残りません。
解答履歴を残すには、
条件を設定して出題する」をご利用ください。

この過去問の解説 (2件)

0

第53813問の答えより、

[ア] a[i] < a[j]

 j番のa[j]の方が、i番のa[i]よりも大きければ、

 mにa[i]を仮保存し、a[i]とa[j]を入れ替える。

[イ] a[i] ← a[j]

 a[i]にa[j]を入れて、

[ウ] a[j] ← m

 a[j]には仮保存しておいたm(=当時のa[i])を入れる。

これが処理Xです。

その後、jを+1し、a[i]との比較を続けます。

今回の問題では、aの初期の配列は [ 3,1,2,5,4 ] です。

この配列において、今回のループ処理を順を追っていきます。

まずi=1から始まり、その時j=2です。

i = 1, j = 2 [ 3,1,2,5,4 ] ⇒ NO(1<3) ⇒ [ 3,1,2,5,4 ] (そのまま)

i = 1, j = 3 [ 3,1,2,5,4 ] ⇒ NO     ⇒ [ 3,1,2,5,4 ]

i = 1, j = 4 [ 3,1,2,5,4 ] ⇒ YES(5>3)⇒ [ 5,1,2,3,4 ] (入れ替わる)

i = 1, j = 5 [ 5,1,2,3,4 ] ⇒ NO     ⇒ [ 5,1,2,3,4 ]

i = 2, j = 3 [ 5,1,2,3,4 ] ⇒ YES(2>1) ⇒ [ 5,2,1,3,4 ]

i = 2, j = 4 [ 5,2,1,3,4 ] ⇒ YES(3>2) ⇒ [ 5,3,1,2,4 ]

i = 2, j = 5 [ 5,3,1,2,4 ] ⇒ YES(4>3) ⇒ [ 5,4,1,2,3 ]

i = 3, j = 4 [ 5,4,1,2,3 ] ⇒ YES(2>1) ⇒ [ 5,4,2,1,3 ]

i = 3, j = 5 [ 5,4,2,1,3 ] ⇒ YES(3>2) ⇒ [ 5,4,3,1,2 ]

i = 4, j = 5 [ 5,4,3,1,2 ] ⇒ YES(2>1) ⇒ [ 5,4,3,2,1 ]

処理Xの回数、つまり入れ替えが起きた回数は、

YESの数なので、計7回の入れ替えを行っています。

よって、[3]が正解です。

付箋メモを残すことが出来ます。
0

正解:【3】

※この問題は第53813問と関連しています。

プログラムのに記載されていないコマンドは

 (ア)は a[i] < a[j]

 (イ)は a[i] ← a[j]

 (ウ)は a[j] ← m

となっています(第53813問参照)。

開始時の配列は a = [3 1 2 5 4] です。

順番にループを回しますと、次のようになります。なお赤字はa[i]とa[j]になる数値を示します。

i=1 / j=2 → a = [3 1 2 5 4] →(ア)= NO → a = [3 1 2 5 4]

i=1 / j=3 → a = [3 1 2 5 4] →(ア)= NO → a = [3 1 2 5 4]

i=1 / j=4 → a = [3 1 2 5 4] →(ア)= YES → a = [5 1 2 3 4]

i=1 / j=5 → a = [5 1 2 3 4] →(ア)= NO → a = [5 1 2 3 4]

i=2 / j=3 → a = [5 1 2 3 4] →(ア)= YES → a = [5 2 1 3 4]

i=2 / j=4 → a = [5 2 1 3 4] →(ア)= YES → a = [5 3 1 2 4]

i=2 / j=5 → a = [5 3 1 2 4] →(ア)= YES → a = [5 4 1 2 3]

i=3 / j=4 → a = [5 4 1 2 3] →(ア)= YES → a = [5 4 2 1 3]

i=3 / j=5 → a = [5 4 2 1 3] →(ア)= YES → a = [5 4 3 1 2]

i=4 / j=5 → a = [5 4 3 1 2] →(ア)= YES → a = [5 4 3 2 1]

数値を大きい順に並べるには、Xを7回実施しています。

以上により、選択肢の【3】が正解となります。

問題に解答すると、解説が表示されます。
解説が空白の場合は、広告ブロック機能を無効にしてください。
他のページから戻ってきた時、過去問ドットコムはいつでも続きから始めることが出来ます。
また、広告右上の×ボタンを押すと広告の設定が変更できます。
この第三種電気主任技術者 過去問のURLは  です。
付箋は自分だけが見れます(非公開です)。