基本情報技術者平成23年特別 午前問7

問7

次の流れ図は,1から100までの整数の総和を求め,結果を変数xに代入するアルゴリズムを示したものであるが,一部誤りがある。どのように訂正すればよいか。
07.gif/image-size:198×359
  • ①の処理を "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が増えていかず永久ループになってしまうため誤りです。
© 2010-2024 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop