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

x を3倍することを繰り返す次のプログラムを実行した後の n の値はどれか。

整数型: x ← 1, n ← 0
while (x < 100)
  x ← x × 3
  n ← n + 1
endwhile
  1. A4
  2. B5
  3. C6
答えと解説を見る

正解:B. 5

x と n の値をトレース表に書き出すと、繰返しのたびに x は 3、9、27、81、243 と変わり、n は1ずつ増えます。x = 81 のときはまだ x < 100 が成り立つので、もう1回実行して x = 243、n = 5 になります。次の判定で x < 100 が偽になり、繰返しを抜けます。条件の判定は6回行われますが、中の処理が実行されるのは5回です。

  • A. x が100を超えない最後の値81で止めた場合の回数です。81のときも条件は真なので、もう1回実行されます。
  • B. 正しい。x が 3、9、27、81、243 になる5回です。
  • C. 条件の判定の回数です。最後の判定(x = 243)では中の処理は実行されません。
この分野を解く 分野ページへ

関連する計算ツール

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

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

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

  1. i を2ずつ増やす次の for 文を実行した後の s の値はどれか。
  2. 内側の繰返しの初期値が外側の変数 i で決まる次の二重ループを実行した後の c の値はどれか。
  3. 二重ループの中に条件分岐がある次のプログラムを実行した後の c の値はどれか。
  4. 配列 a のすべての要素の合計を求めるつもりで、次のプログラムを書いた。配列の要素番号は1から始まる。実行した後の s の値はどれか。
  5. 配列の要素番号は1から始まる。最大の要素を探す次のプログラムを実行した後の m の値はどれか。