平成23年特別試験問題 午前問7

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
次の流れ図は,1から100までの整数の総和を求め,結果を変数xに代入するアルゴリズムを示したものであるが,一部誤りがある。どのように訂正すればよいか。
07.png

  • ①の処理を "0→x"にする。
  • ②の条件判定を "i:99"にする。
  • ③の処理を "x+i→i"にする。
  • ④の処理を "x+1→x"にする。
正解 問題へ
分野:テクノロジ系
中分類:アルゴリズムとプログラミング
小分類:アルゴリズム
解説
この流れ図では iを1~100まで変化させながら、xにiを加算することを繰り返して1~100までの総和を計算します。

正しくは 1+2+3+…+100 と計算が行われればいいのですが、この流れ図では、xの初期値に1が指定されているのでループ1回目の③で 1+1→x、2回目では (1+1)+2→x というようにxの初期値の1が余分に加算されてしまうことになります。
  • 正しい。①は変数xを初期化する処理です。iが1から始まるためxの初期値は0としなくてはなりません。
  • i:99とすると分岐判定で100>99となり、iが100のときにはループ内の処理が行われず、100が加算されないことになるため誤りです。
  • xが増えていかず結果が初期値のままになってしまうため誤りです。
  • iが増えていかず永久ループになってしまうため誤りです。

Pagetop