サンプルの問題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」のままだと、無限に繰り返す。
