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

m[i, j] は二次元配列 m の i 行目 j 列目の要素を表し、要素番号は1から始まる。次のプログラムを実行した後の s の値はどれか。

整数型の二次元配列: m ← {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}
整数型: s ← 0
for (i を 1 から 3 まで 1 ずつ増やす)
  for (j を 1 から i まで 1 ずつ増やす)
    s ← s + m[i, j]
  endfor
endfor
  1. A15
  2. B26
  3. C34
答えと解説を見る

正解:C. 34

内側の {…} がそれぞれ1行を表します。j は1から i まで動くので、1行目は m[1, 1] = 1、2行目は 4 + 5、3行目は 7 + 8 + 9 を足し、s = 1 + 9 + 24 = 34 になります。対角線とその左下(下三角)の要素の合計です。行と列を取り違えて m[j, i] とすると、右上(上三角)の 1 + 2 + 5 + 3 + 6 + 9 = 26 になります。

  • A. 対角線の要素 1 + 5 + 9 だけを足した値です。j は1から i まで動きます。
  • B. 行と列を取り違えて、上三角の要素を足した値です。
  • C. 正しい。下三角の 1 + 4 + 5 + 7 + 8 + 9 = 34 です。
この分野を解く 分野ページへ

関連する計算ツール

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

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

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

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