サンプルの問題4の「3行目から6行目」の赤い枠で囲まれている部分が、「条件式の判定がtrueの間」の繰り返しです。
👩🏫 条件式の判定がtrueの間の繰り返しの基本形 👨🏫
条件式の判定が「true」の間は繰り返しますが、判定が「false」になると繰り返しを終了し、繰り返しブロックを抜けます。

👨🏫
「条件式」のところに、条件が設定され「条件式の判定がtrueの間」は、いつまでも繰り返し続けます。

繰り返す回数は、決まっていません
繰り返しを終了させるためには、繰り返しの中のどこかに「条件式の判定がfalseとなるようにさせる処理」を設ける必要があります。
条件式の判定が「false」になると、繰り返しブロックの中には入らずブロックを抜けます。
🧭 使用例
💻1
サンプルの問題4を実行して、「条件式の判定がtrueの間」繰り返すことを確認しましょう。
📖 解説
👨🏫
変数「kazu」の値nの変化を、「繰返した回数: n」で確認できます。
n が「9」までは「10」より小さいので、条件判定は「true」となっています。
しかし、次の繰り返しに入る前に、変数「kazu」の値が「10」となり判定結果は「false」となるので、繰り返しブロックを抜けることになります。
それで、最後の行の処理が実行されて、「条件判定: false」と表示されます。
サンプルの問題4の「kazu = kazu + 1」の部分が、「条件式の判定がfalseとなるようにさせる処理」です。
ここでは、繰り返すごとに変数「kazu」の値を、自己代入を使って「1」ずつ増やす処理を行っています。
こうすることで、変数「kazu」の値は「1」から増えていって、やがて「10」になります。
値が「10」になると、条件判定の結果が「false」になるので、繰り返しを終了しブロックを抜けることになります。
もしこの処理がないと、変数「kazu」の値は「1」のままで変わることはありません。
そうなると、条件判定もずっと「true」のままですから、無限に繰り返されてしまうことになります。
💻2
1円から始めて、次の日から毎日お金を倍にしていくとすると、何日目で1億円を超えるかを計算するプログラムです。
プログラムをよく見て、どんな条件の間繰り返すことになるか考えましょう。
📖 解説
👨🏫
正解は、「28日目」でした。2倍の効果は、すごいものがありますね。
繰り返す条件は、「okane < mokuhyo」です。変数「okane」の値が変数「mokuhyo」の値より小さい間、繰り返しを続けます。
繰り返しの中の、「nissuu = nissuu + 1」ところで「nissuu」の値を1増やすという処理で「日数」が一日ずつ増えていきます。
また、「okane = okane * 2」のところで「okane」の値を2倍にしています。
この部分が、「条件式の判定がfalseとなるようにさせる処理」です。
ここでも自己代入を使って、変数「okane」の値を2倍にしてから、自分を更新しています。
💡 ポイント
- 「条件式の判定がtrueの間」の繰り返しでは、「条件式」のところで繰り返す条件を設定する。
- 繰り返しの中に、「条件式の判定がfalseとなるようにさせる処理」がある。
- 「条件式の判定がfalseとなるようにさせる処理」によって、条件判定が「false」になると繰り返しブロックを抜ける。
- 「条件式」がいつまでも「true」のままだと、無限に繰り返す。