プログラミングの基礎(擬似言語のトレース)

配列の要素番号は1から始まる。次のプログラムを実行した後の配列 a の内容はどれか。

整数型の配列: a ← {5, 1, 4, 2, 3}
整数型: t ← a[1]
for (i を 1 から 4 まで 1 ずつ増やす)
  a[i] ← a[i + 1]
endfor
a[5] ← t
  1. A{1, 4, 2, 3, 5}
  2. B{1, 4, 2, 3, 3}
  3. C{3, 5, 1, 4, 2}
答えと解説を見る

正解:A. {1, 4, 2, 3, 5}

先頭の値5を t に退避してから、a[i] ← a[i + 1] で各要素を1つずつ前へ詰めます。i を小さい方から進めるので、上書きされる前の値が順に前へ移り、{1, 4, 2, 3, 3} になります。最後に a[5] ← t で末尾に5を入れ、{1, 4, 2, 3, 5} になります。全体を左へ1つ回転させる処理です。

  • A. 正しい。先頭の5が末尾へ回り、残りが前へ詰まります。
  • B. 最後の a[5] ← t を実行しなかった場合の内容です。
  • C. 右へ1つ回転させた場合の内容です。この処理は要素を前へ詰めています。
この分野を解く 分野ページへ

関連する計算ツール

プログラミングの基礎(擬似言語のトレース)の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

プログラミングの基礎(擬似言語のトレース)のほかの問題

  1. 配列の要素番号は1から始まる。隣り合う要素を比べる次のプログラムを実行した後の c の値はどれか。
  2. m[i, j] は二次元配列 m の i 行目 j 列目の要素を表し、要素番号は1から始まる。次のプログラムを実行した後の s の値はどれか。
  3. 4行5列の二次元配列 m の要素を、次のプログラムで要素数20の配列 b に移す。m[i, j] は i 行目 j 列目の要素を表し、要素番号は1から始まる。m[3, 2] が代入される b の要素番号はどれか。
  4. 配列の要素番号は1から始まり、+ は文字列を連結する。次のプログラムを実行した後の r の値はどれか。
  5. 次の関数 isPal は、文字列型の配列 s の文字の並びが前から読んでも後ろから読んでも同じ(回文)なら true を返す。配列の要素番号は1から始まる。プログラム中の【a】に入れる字句はどれか。