バイブコーディングの土台

Day 3制御フロー — 順次・分岐・反復

反復 — ループはベルトコンベア。同じ作業の自動化と止め方

同じ処理を繰り返すのが反復(ループ)。終わり方を決めるのが肝心。

同じ作業を任せるのが「反復」

「100人分の宛名を印刷する」「リストの全員にメールを送る」。こういう同じ作業の繰り返しを、人間が手でやるのは大変です。そこで登場するのが反復、いわゆるループです。の三つめの部品です。

たとえるなら

ループは工場のベルトコンベアです。箱が一つ流れてくるたびに「ラベルを貼る」という同じ作業をします。箱が10個なら10回、100個なら100回、同じ作業を自動でこなしてくれます。

ループには大きく二つの形があります。一つは「回数が決まっている」もの(例: 10回繰り返す)。もう一つは「ある条件が続くあいだ繰り返す」もの(例: 箱が流れてくるあいだ繰り返す)。どちらも考え方は言語共通です。

TEXT
リストの一人ずつについて 繰り返す:
    その人に メールを送る
リストの全員に同じ処理をする反復(擬似コード)

止め方を決めないと無限ループ

ベルトコンベアに終わりがないと、機械はいつまでも動き続けます。プログラムでも「終わる条件」を決め忘れると、永遠に繰り返して固まる無限ループになります。ループを見たら必ず「これはどうやって終わるのか?」を確認しましょう。

終わりがない(危険)

条件がいつまでも本当のまま。永遠に繰り返す

TEXT
1 が 1 のあいだ 繰り返す:
    「まだ続く」と表示

終わりがある(安全)

回数を数えて、上限に達したら止まる

TEXT
カウント を 1 から 10 まで:
    「" + カウント + "回目」と表示

なぜ止め方が大事?

ループは強力な自動化ですが、終わる条件がなければただの暴走です。人に仕事を頼むとき「いつまで?」を伝えるのと同じで、ループにも必ずゴールが要ります。基礎があると、AI生成コードの中に隠れた無限ループの危険にも気づけます。

反復は[[data-structurclienrequest(データ構造)のリストや配列とセットでよく使われます。「たくさんの箱(データ)を一つずつ処理する」ときの相棒だと覚えておくと、生成コードの意図が読みやすくなります。

AIにはこう頼む

「このループは何回くらい回りますか?どういう条件で終わりますか?無限ループになる危険はありませんか?」と確認すると、繰り返しの範囲と止め方をチェックできます。

  • 反復(ループ)=同じ処理を繰り返す仕組み。ベルトコンベアのイメージ
  • 回数が決まった繰り返しと、条件が続くあいだの繰り返しがある
  • 終わる条件を決め忘れると無限ループになる
  • リストなどのデータを一つずつ処理するのに相性がよい

読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。

理解度チェック

答えられれば、面接で説明できる状態に一歩近づきます。

Q1

反復(ループ)の説明として正しいものはどれ?

Q2

「無限ループ」が起きるのはどんなとき?

Q3

反復(ループ)とは何か、そしてなぜ「止め方」が大事なのか説明してください。

記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。