繰り返し(前判定・後判定・順次)
学習目標
- 前判定と後判定の違い(1回も実行されない場合があるか)を説明できる。
- 順次繰り返しで、合計や積を求められる。
| 学習の作業 | 時間の目安 |
|---|---|
| 読む(前判定・後判定) | 20分 |
| 例を追う(順次繰り返し) | 15分 |
| 実際に動かす(DNCL) | 15分 |
| 自力演習(段階別の練習) | 25分 |
1. 前判定(〜の間)
条件が成り立つ間、処理を繰り返します。処理を実行する前に条件を調べるため、1回も実行されないことがあります。
Python
x = 1
while x < 10:
x = x * 2
print(x)
JavaScript
let x = 1;
while (x < 10) {
x = x * 2;
}
console.log(x);
DNCL(擬似言語)
x ← 1
x < 10 の間
x ← x × 2
を繰り返す
x を表示する
2. 後判定(〜になるまで)
処理を1回実行してから、条件を調べます。処理は必ず1回は実行されます。
Python
x = 0
while True:
x = x + 1
if x >= 10:
break
print(x)
JavaScript
let x = 0;
do {
x = x + 1;
} while (!(x >= 10));
console.log(x);
DNCL(擬似言語)
x ← 0
繰り返し
x ← x + 1
を、x ≧ 10 になるまで実行する
x を表示する
3. 順次繰り返し(決まった回数)
変数の値を、初期値から終了値まで、決まった幅で増やしながら(減らしながら)処理を繰り返します。
Python
total = 0
for i in range(1, 11):
total = total + i
print(total)
JavaScript
let total = 0;
for (let i = 1; i <= 10; i++) {
total = total + i;
}
console.log(total);
DNCL(擬似言語)
合計 ← 0
i を 1 から 10 まで 1 ずつ増やしながら
合計 ← 合計 + i
を繰り返す
合計 を表示する
4. 実際に動かす
(ここに結果が表示されます)
注意
繰り返しの条件が一度も変わらないと、処理が終わりません。条件を変える命令が、繰り返しの中にあるか確認してください。
繰り返しの条件が一度も変わらないと、処理が終わりません。条件を変える命令が、繰り返しの中にあるか確認してください。
段階別の練習
易(基本の確認)
- (易)1 から 5 まで 1 ずつ増やしながら、i を表示すると、何回表示されるか。
答えと解き方
5 回(1, 2, 3, 4, 5)。 - (易)前判定で、最初から条件が成り立たないとき、処理は何回実行されるか。
答えと解き方
0 回。
標準(手順を組み合わせる)
- (標準)x ← 1 から「x × 2」を前判定で「x < 10 の間」繰り返すと、最後の x は?
答えと解き方
16(1→2→4→8→16。8 のとき 8 < 10 なので、もう1回)。 - (標準)後判定で「x ← 5」から「x ← x + 1」を「x ≧ 3 になるまで」行うと、x は?
答えと解き方
6(処理は必ず1回実行され、5→6 となる。条件は最初から成り立つ)。
共通テスト形式(読み取りと判断)
- (共通テスト形式)合計 ← 0、i を 1 から 4 まで 1 ずつ増やしながら、「合計 ← 合計 × i」を繰り返すと、合計は?
答えと解き方
24(1×2×3×4)。
振り返り
- 前判定と後判定で、最初の1回の扱いが違う理由を説明できましたか。
- 繰り返しの中で、条件に関わる変数が変わっているか確認できましたか。