初期値を置き、条件を先に読む
この例はtotal=0、i=1から始まり、i≦nの間、totalへiを加えてからiを1増やします。n=3なら最初の1≦3は真なので本体へ進みます。
n=0なら最初の1≦0が偽なので加算もiの更新も行いません。前判定のwhileと、本体を実行した後に判定するdo-whileを同じ回数になると覚えないこと。
本単元の操作例はwhileに範囲を絞ります。
| n | 本体の回数 | 最後のtotal / i |
|---|---|---|
| 0 | 0回 | 0 / 1 |
| 1 | 1回 | 1 / 2 |
| 3 | 3回 | 6 / 4 |
| 4 | 4回 | 10 / 5 |
本体の中も、上から順に実行する
totalへ加えるのは更新前のiです。n=3なら1を加え、iを2にし、次に2を加え、iを3にし、最後に3を加えてiを4にします。
iの更新を先に行う別のコードなら加える値が変わります。表には判定・加算・更新を別の行に置き、最後の答えだけでなく途中の値が説明できるようにします。
停止を、最後の判定まで確かめる
i=4になった次の4≦3が偽となり終了します。4を加える処理はありません。
n=3で本体3回、合計6、停止時のi=4。これらを混同しないこと。
もしiを増やす更新がなければ、真の条件が変わらず終了しない可能性があります。この操作ではn=3の固定例を一歩ずつ確認します。
別のnで結果を考えるときは、初期値から自分で表を作り、停止条件まで追いましょう。