No.72 次の流れ図は,1から100までの整数の総和を求め,結果を変数xに代入するアルゴリズムを示したものであるが,一部誤りがある。
どのように訂正すればよいか。
どのように訂正すればよいか。
⭕️
❌
💾
🖊 | ☑️ |
⭕️ | [[ AnswerCalc[0] ]] % | A | [[ AnswerCalc[1] ]] |
この流れ図では iを1~100まで変化させながら、xにiを加算することを繰り返すことで1~100までの総和を計算します。
正しくは 1+2+3+…+100 と計算が行われればいいのですが、この流れ図では、xの初期値に1が指定されているのでループ1回目の③で 1+1→x、2回目では (1+1)+2→x というようにxの初期値の1が余分に加算されてしまうことになります。
正しくは 1+2+3+…+100 と計算が行われればいいのですが、この流れ図では、xの初期値に1が指定されているのでループ1回目の③で 1+1→x、2回目では (1+1)+2→x というようにxの初期値の1が余分に加算されてしまうことになります。
- ①の処理を "0→x"にする。
正しい。①は変数xを初期化する処理です。iが1から始まるためxの初期値は0としなくてはなりません。 - ②の条件判定を "i:99"にする。
i:99とすると分岐判定で100>99となり、iが100のときにはループ内の処理が行われず、100が加算されないことになるため誤りです。 - ③の処理を "x+i→i"にする。
xが増えていかず結果が初期値のままになってしまうため誤りです。 - ④の処理を "x+1→x"にする。
iが増えていかず永久ループになってしまうため誤りです。
💾
✔️
[[ d.CommentTxt ]] |
< | > |
🥇 |