Day 3・制御フロー — 順次・分岐・反復
反復 — ループはベルトコンベア。同じ作業の自動化と止め方
同じ処理を繰り返すのが反復(ループ)。終わり方を決めるのが肝心。
同じ作業を任せるのが「反復」
「100人分の宛名を印刷する」「リストの全員にメールを送る」。こういう同じ作業の繰り返しを、人間が手でやるのは大変です。そこで登場するのが反復、いわゆるループです。の三つめの部品です。
たとえるなら
ループは工場のベルトコンベアです。箱が一つ流れてくるたびに「ラベルを貼る」という同じ作業をします。箱が10個なら10回、100個なら100回、同じ作業を自動でこなしてくれます。
ループには大きく二つの形があります。一つは「回数が決まっている」もの(例: 10回繰り返す)。もう一つは「ある条件が続くあいだ繰り返す」もの(例: 箱が流れてくるあいだ繰り返す)。どちらも考え方は言語共通です。
リストの一人ずつについて 繰り返す:
その人に メールを送る止め方を決めないと無限ループ
ベルトコンベアに終わりがないと、機械はいつまでも動き続けます。プログラムでも「終わる条件」を決め忘れると、永遠に繰り返して固まる無限ループになります。ループを見たら必ず「これはどうやって終わるのか?」を確認しましょう。
終わりがない(危険)
条件がいつまでも本当のまま。永遠に繰り返す
1 が 1 のあいだ 繰り返す:
「まだ続く」と表示終わりがある(安全)
回数を数えて、上限に達したら止まる
カウント を 1 から 10 まで:
「" + カウント + "回目」と表示なぜ止め方が大事?
ループは強力な自動化ですが、終わる条件がなければただの暴走です。人に仕事を頼むとき「いつまで?」を伝えるのと同じで、ループにも必ずゴールが要ります。基礎があると、AI生成コードの中に隠れた無限ループの危険にも気づけます。
反復は[[data-structurclienrequest(データ構造)のリストや配列とセットでよく使われます。「たくさんの箱(データ)を一つずつ処理する」ときの相棒だと覚えておくと、生成コードの意図が読みやすくなります。
AIにはこう頼む
「このループは何回くらい回りますか?どういう条件で終わりますか?無限ループになる危険はありませんか?」と確認すると、繰り返しの範囲と止め方をチェックできます。
- 反復(ループ)=同じ処理を繰り返す仕組み。ベルトコンベアのイメージ
- 回数が決まった繰り返しと、条件が続くあいだの繰り返しがある
- 終わる条件を決め忘れると無限ループになる
- リストなどのデータを一つずつ処理するのに相性がよい
読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。
理解度チェック
答えられれば、面接で説明できる状態に一歩近づきます。
反復(ループ)の説明として正しいものはどれ?
「無限ループ」が起きるのはどんなとき?
反復(ループ)とは何か、そしてなぜ「止め方」が大事なのか説明してください。
記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。