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

制御変数を5ずつ増やす次の for 文を実行した後の c の値はどれか。

整数型: c ← 0
for (i を 10 から 50 まで 5 ずつ増やす)
  c ← c + 1
endfor
  1. A8
  2. B9
  3. C10
答えと解説を見る

正解:B. 9

i は 10、15、20、25、30、35、40、45、50 と変わり、次の55は終値50を超えるので繰返しは終わります。(50 − 10) ÷ 5 = 8 は間の区間の数で、両端の10と50を含む値の個数は 8 + 1 = 9 なので、実行回数は9回です。植木算と同じで、区間の数と点の数を取り違えると、1つずれた誤り(オフバイワンエラー)になります。

  • A. (50 − 10) ÷ 5 = 8 の区間の数で、最初の i = 10 の分が抜けています。
  • B. 正しい。10から50まで5おきの9個の値で実行されます。
  • C. 50 ÷ 5 = 10 で、i が5から始まると考えた場合の回数です。
この分野を解く 分野ページへ

関連する計算ツール

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

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

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

  1. 次のプログラムの and は、左側の式が false のときは右側の式を評価しない(短絡評価)。cnt は大域変数である。実行した後の cnt の値はどれか。
  2. 要素数 n の配列 a から値 x を探し、見つかった要素番号を i に求める次のプログラムがある。配列の要素番号は1から始まる。and と or は、左側の式だけで結果が決まるときは右側の式を評価しない。【a】に入れる条件式のうち、x が a の中にないときに範囲外の a[n + 1] を参照してしまうものはどれか。
  3. 実数型の値は IEEE 754 の倍精度(binary64)で表し、加算の結果は最も近い表せる値に丸める。次のプログラムを実行した後の c の値はどれか。
  4. クラス Counter は、インスタンスごとに整数型のメンバ変数 count(生成時は0)を持ち、メソッド inc() は自分の count に1を加える。次のプログラムを実行した後の x の値はどれか。
  5. クラス Counter は、インスタンスごとに整数型のメンバ変数 count(生成時は0)を持ち、メソッド inc() は自分の count に1を加える。Counter 型の変数には、インスタンスそのものではなく、インスタンスへの参照が入る。次のプログラムを実行した後の x の値はどれか。