ITパスポート令和5年 問60

問60

手続 printArray は,配列 integerArray の要素を並べ替えて出力する。手続 printArray を呼び出したときの出力はどれか。ここで,配列の要素番号は1から始まる。

〔プログラム〕
60.png/image-size:536×334
  • 1,2,3,4
  • 1,3,2,4
  • 3,1,4,2
  • 4,3,2,1

分類

テクノロジ系 » アルゴリズムとプログラミング » アルゴリズムとプログラミング

正解

解説

プログラムをトレースしていくと以下の流れになります。
  1. integerArray = {2, 4, 1, 3}
    integerArrayの要素数 = 4
    nを1から 4 - 1 = 3 まで繰り返す
  2. n = 1 のループ処理
    1. mを1から 4 - 1 = 3 まで繰り返す
    2. integerArray[1] = 2、integerArray[2] = 4
      2>4 は false なので、何も処理しない。
    3. integerArray[2] = 4、integerArray[3] = 1
      4>1 は true なので、2つの位置を入れ替える。
      ⇒integerArray = {2, 1, 4, 3}
    4. integerArray[3] = 4、integerArray[4] = 3
      4>3 は true なので、2つの位置を入れ替える。
      ⇒integerArray = {2, 1, 3, 4}
  3. n = 2 のループ処理
    1. mを1から 4 - 2 = 2 まで繰り返す
    2. integerArray[1] = 2、integerArray[2] = 1
      2>1 は true なので、2つの位置を入れ替える。
      ⇒integerArray = {1, 2, 3, 4}
    3. integerArray[2] = 2、integerArray[3] = 3
      2>3 は false なので、何も処理しない。
  4. n = 3 のループ処理
    1. mを1から 4 - 3 = 1 まで繰り返す
    2. integerArray[1] = 1、integerArray[2] = 2
      1>2 はfalseなので、何も処理しない。
ループ処理が終了した時点で、配列 integerArray の要素は {1, 2, 3, 4} となっているので、先頭から順に出力すると「1, 2, 3, 4」を出力されます。したがって「ア」が正解です。
© 2009-2024 ITパスポート試験ドットコム All Rights Reserved.

Pagetop