パスポイ

手続printArrayは,配列integerArrayの要素を並べ替えて出力す… ITパスポート 令和5年度 問60

テクノロジ系

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

○printArray()
  整数型: n, m
  整数型の配列: integerArray ← {2, 4, 1, 3}
  for (nを1から (integerArrayの要素数 - 1) まで1ずつ増やす)
    for (mを1から (integerArrayの要素数 - n) まで1ずつ増やす)
      if (integerArray[m] > integerArray[m + 1])
        integerArray[m] とintegerArray[m + 1] の値を入れ替える
      endif
    endfor
  endfor
  integerArrayの全ての要素 を先頭から順にコンマ区切りで出力する
  • ア1,2,3,4
  • イ1,3,2,4
  • ウ3,1,4,2
  • エ4,3,2,1
正解と解説を見る

正解

ア 1,2,3,4

このプログラムは二重ループで隣接要素を比較・交換するバブルソートであり、配列{2,4,1,3}を昇順に並び替える処理になっている。したがって出力は昇順に整列された"1,2,3,4"となる。

出典:令和5年度 ITパスポート試験 問60

問題文および選択肢は独立行政法人情報処理推進機構(IPA)が公開する試験問題に基づいています。著作権はIPAに帰属します。解説は当サイトが独自に作成したものです。

解くほどポイントが貯まり、称号が上がる

無料登録すると過去問演習のスコアが月間ランキングに記録されます。1回10問・スマホでサクッと。