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

配列の要素番号は1から始まる。隣り合う要素を比べる次のプログラムを実行した後の c の値はどれか。

整数型の配列: a ← {2, 2, 3, 3, 3, 1, 1}
整数型: c ← 0
for (i を 1 から aの要素数 − 1 まで 1 ずつ増やす)
  if (a[i] = a[i + 1])
    c ← c + 1
  endif
endfor
  1. A4
  2. B6
  3. C7
答えと解説を見る

正解:A. 4

隣り合う2つの要素が等しい組の数を数えます。i は1から6まで動き、a[1] と a[2]、a[3] と a[4]、a[4] と a[5]、a[6] と a[7] の4組が等しいので c = 4 です。比較は 7 − 1 = 6 回行われます。終値を要素数 − 1 にしているのは、a[i + 1] が配列の範囲を超えないようにするためです。

  • A. 正しい。等しい組は (2, 2)、(3, 3)、(3, 3)、(1, 1) の4組です。
  • B. 比較の回数です。c が増えるのは等しい組のときだけです。
  • C. 隣と等しい値を持つ要素の個数です。このプログラムは要素ではなく、隣り合う組を数えます。
この分野を解く 分野ページへ

関連する計算ツール

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

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

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

  1. m[i, j] は二次元配列 m の i 行目 j 列目の要素を表し、要素番号は1から始まる。次のプログラムを実行した後の s の値はどれか。
  2. 4行5列の二次元配列 m の要素を、次のプログラムで要素数20の配列 b に移す。m[i, j] は i 行目 j 列目の要素を表し、要素番号は1から始まる。m[3, 2] が代入される b の要素番号はどれか。
  3. 配列の要素番号は1から始まり、+ は文字列を連結する。次のプログラムを実行した後の r の値はどれか。
  4. 次の関数 isPal は、文字列型の配列 s の文字の並びが前から読んでも後ろから読んでも同じ(回文)なら true を返す。配列の要素番号は1から始まる。プログラム中の【a】に入れる字句はどれか。
  5. ÷ は除算で、整数型の変数(引数を含む)に代入するときは小数点以下を切り捨てる。次の関数 f を f(9087) として呼び出したときの戻り値はどれか。