13.繰り返し 回数を指定する
DNCL 速習
サンプルの問題3

まず、「回数を指定する」繰り返しを学びましょう。

サンプルの問題3の「3行目から5行目」の赤い枠で囲まれている部分が、「回数を指定する」繰り返しです。

👩‍🏫 回数を指定する繰り返しの基本形 👨‍🏫

「繰り返し」構造も、条件分岐構造と同じようにブロックを構成します。

👨‍🏫 「カウント変数」というのは、繰り返し処理の回数を覚えておく変数のことです。
開始」のところには、「カウント変数」の数え始めの値を設定します。
終了」のところには、「カウント変数」がいくつになったら数え終わるかの値を設定します。
増分」のところには、回数を数えるときに、いくつずつ数を増やしていくかを設定します。通常は、「1」ずつ増やします。

カウント変数」は、特に意味を持たせる必要がない場合には、変数名として通常「 i 」がよく使われます。

カウントを1から数え始めるなら、「開始」のところに「」を設定します。

そして、何回繰り返すかを考えて、「終了」のところに数値を設定します。

「増分」は、通常は「1」ずつ増やすので、「増分」のところに「」を設定します。

それで、「開始」と「終了」を「1から10まで」とすれば、繰り返しを10回指定していることになります。

カウント変数」の値が、「終了」で設定された値を超えると次の繰り返しに入らず、繰り返しブロックを抜けます。

🧭 使用例

💻1

繰り返すたびに、「カウント変数」の値がどのように変化するかを確認するプログラムです。

📖 解説

👨‍🏫 カウント変数「 i 」の値が、1から10まで1ずつ増えていくことが確認できます。

理解を深めるために、「開始」の値、「終了」の値、「増分」の値を変えたときに、結果がどうなるか試してみてください。


💻2

サンプルの問題3の、1から10までの数の和を計算し、合計を表示するプログラムです。

📖 解説

👨‍🏫 「表示する( "繰返した回数:" , kazu )」が実行されて、「カウント変数」の値が「1から10まで」繰り返すたびに1ずつ数を増やしながら変化していることがわかります。

👩‍🏫 自己代入と合計の加算 👨‍🏫

💻1

サンプルの問題3の4行目の「goukei = goukei + kazu」の部分では、少し変わった計算をしています。
ここでは、「自己代入による加算」を行っています。
「=」の左右に同じ変数があって、自分を自分自身に代入しているので「自己代入」といいます。

「=」があるときには、まず右側が先に処理されるということでした。

それで、まず「goukei + kazu」が計算されます。

そして、その計算結果が左側の「goukei」に代入されます。

イメージするのが難しいので、「shoukei」という変数を加えて、2段階に分けて考えるとわかりやすいと思います。

サンプルの問題3のプログラムの、「自己代入」の部分を2行に分けたプログラムです。
2段階に分けた計算の結果をわかりやすくするために、変数「shoukei」の値も表示しています。

最終的な計算結果は、全く同じです。

📖 解説

👩‍🏫 変数「shoukei」の値は、「繰り返し前のgoukei + kazu」の計算結果です。
この「shoukei」が「goukei」に代入された結果、変数「goukei」は新しい値で上書きされ、次の繰り返しに入ることになります。

改めて、「goukei = goukei + kazu」の計算を図にしてみるとこうなります。

さらに、繰り返すたびに、変数の値がどのように変化するかを表にしてみました。

最初の「goukei」の値は「0」です。
繰返した回数変数「goukei」の値カウント変数
「kazu」の値
10
15
21
28
36
45
105510

一つ前の「goukei」の値と「kazu」の値を足した値が「goukei」に代入された結果、変数「goukei」は新しい値で上書きされることになります。

こうした繰り返しの中で加算するプログラムはよくあるので、繰り返すたびに値がどのように変化しているかを表にすると、プログラムの動きを理解しやすくなります。


💻2

繰り返すたびに「3の倍数」を表示するプログラムです。

📖 解説

👨‍🏫 「増分」を「3ずつ増やす」にしているので、繰り返すたびに3つ飛びになります。
また、最初の数値が正しく「3の倍数」になるようにするために、「開始」を「3」にしています。
「終了」を「40」にしていますが、「カウント変数」の最後の値が、次の繰り返しのときには「42」となり「40」を超えるために次の繰り返しに入らず繰り返しブロックを抜けています。

🤖 練習問題 🤖

📝1

以下のプログラムの計算式を修正して、正しく「5の倍数」を表示するプログラムにしてください。

📖 解説

👨‍🏫 正解は、「 kekka = kazu * 5 」

5の倍数を求めるには、1ずつ増えるカウント変数に「5」をかければよいので、計算式は「 kazu * 5 」となります。
計算結果の値が、「終了」の「20」を超えても繰り返しを抜けていないのは、カウント変数の値そのものは「1」から「20」の範囲で変化しているからです。

💡 ポイント

  1. 「回数を指定する」繰り返しでは、「カウント変数」の「開始値」「終了値」「増分値」を設定することで繰り返す回数を指定する。
  2. 繰り返しを使って数値を加算していくときには、「自己代入」による計算をする。
  3. カウント変数」の値が変化していって、「終了値」を超えると繰り返しを抜ける。