見出し画像

【第5回】めんどくさいは正義!「ループ(繰り返し)」でコンピュータをこき使おう

こんにちは!そらいつです。

前回は、プログラムに判断をさせる「条件分岐(if文)」を学びました。状況に合わせて動くコードが書けるようになると、一気にプロっぽさが増しますよね。

さて、第5回となる今回のテーマは「ループ(繰り返し処理)」です。 一言で言うと、「同じ作業を、コンピュータに何度も何度も、文句を言わせずにやらせる魔法」です。

人間は、同じ作業を100回も1000回も繰り返すと、疲れるし、飽きるし、絶対に間違えます。宿題の漢字練習や計算ドリルが嫌いな人は多いですよね(僕も嫌いです)。 でも、コンピュータは違います。1万回でも1億回でも、1秒未満のスピードで、1ミリのミスもなく正確に繰り返してくれます。

この「繰り返し」をマスターしたとき、あなたはプログラミングの本当の恐ろしさと便利さに気づくはずです。



1. 繰り返しの王様:for(フォー)文

JavaScriptで繰り返しを書く方法はいくつかありますが、一番よく使われるのが for文 です。 まずは、実際のコードを見てみましょう。

JavaScript

for (let i = 1; i <= 5; i++) {
  console.log(i + "回目のスクワット!");
}

これを実行すると、画面に「1回目のスクワット!」「2回目のスクワット!」……と5回表示されます。 この for の後ろのカッコの中には、繰り返しをコントロールするための「3つの秘密の呪文」が書かれています。

  1. let i = 1;(スタートの合図) 「カウンターとして i という名前の変数を用意して、1からスタートします!」という意味です。

  2. i <= 5;(ゴールの条件) 「i が5以下の間は、ずっと繰り返してね!」というif文のような条件です。

  3. i++(カウントアップ) 「1回終わるたびに、i に1を足してね!」という意味です(++ は1増やすという演算子です)。

この3つがガッチリ噛み合うことで、コンピュータは正確に回数を数えながら、中身の処理を実行してくれます。


2. もう一つの刺客:while(ワイル)文

回数が決まっているときは for文 が便利ですが、「回数はわからないけれど、特定の状態になるまで続けたい」というときは while文 を使います。

JavaScript

let hp = 100;

while (hp > 0) {
  console.log("まだ戦える!残りHP: " + hp);
  hp = hp - 20; // ダメージを受ける
}

これは「HPが0より大きい(hp > 0)間は、ずっと(while)ループを回して!」という意味です。 ゲームの戦闘シーンの裏側などは、まさにこの while文 のような仕組みで、「敵か味方のどちらかの体力が0になるまで、交互に攻撃を繰り返す」という処理が行われています。


3. 初心者が絶対に一度はやる大失敗「無限ループ」

ここで、ループを学ぶ上で避けて通れないスリリングな話をします。それが「無限ループ」です。

先ほどの while文 で、もし hp = hp - 20; を書き忘れたらどうなるでしょうか? HPは100のまま、ずっと減りません。ということは、条件である hp > 0 は永遠に「True(はい)」のままです。

結果として、コンピュータは終わりを失い、永遠に、超猛スピードで繰り返しを続けます。 パソコンの頭脳(CPU)はフル回転し、ファンがブォーーンと唸りを上げ、ブラウザがフリーズ(固まる)します。

中学生の失敗談:僕も最初に無限ループをやらかしたときは、「パソコンが壊れた!」と思ってめちゃくちゃ焦りました。今となっては良い思い出ですが、もしフリーズしたら、落ち着いてブラウザのタブを閉じるか、開発者ツールを強制終了すれば大丈夫です。エラーを出すことよりも、終わりを決め忘れることのほうが、プログラミングではちょっとした大事件になります。


4. AIと「自動化」の付き合い方:人間は何を繰り返すべきか?

さて、現代のプログラミングにおいて、この「ループ」と「AI」の関係はどうなっているでしょうか。

AI(ChatGPTなど)は、このループ処理を組み立てるのが天才的に上手です。「1万件のデータから、大人のデータだけを抜き出して新しいリストを作るループを書いて」と頼めば、一瞬で超効率的なループコードを吐き出してくれます。

AI時代に人間がやるべき「ループ」

AIが代わりにコードを書いてくれる時代、僕たち人間に求められるのは、「何を繰り返させれば、目の前の問題が解決するのか?」というアイデアを思いつく力です。

例えば、あなたが学校の先生で、「生徒100人分のテスト結果を、一人ずつ成績表にコピペする」という超めんどくさい作業をしていたとします。

  • 普通の大人:「あー、めんどくさいな」と思いながら、3時間かけて手作業でコピペする。

  • プログラミング脳の大人:「これ、生徒の数(100回)だけ for文 でループさせれば、AIにコードを書かせて3秒で終わるな」と気づく。

AIに指示を出すためには、「ここからここまでを繰り返して」と言語化できなければいけません。ループの基礎(スタート、ゴール、変化)を知っているからこそ、「この作業はループにできる!」と気づくことができるのです。

これからの時代、「単純作業を頑張る人」ではなく、「単純作業を見つけて、AIとループに丸投げする人」が圧倒的に成果を出せるようになります。


5. まとめ:これでプログラミングの「4大基礎」が揃った!

第5回のまとめです!

  1. for文 は回数指定のループ:スタート、ゴール、次のステップの3つをセットする。

  2. while文 は状態指定のループ:条件が合っている間、ずっと繰り返す。

  3. 無限ループに気をつけろ:必ず「いつかは終わる条件」を作っておくこと。

  4. 「めんどくさい」は才能:繰り返し作業を見つけたら、コンピュータに丸投げするチャンス。

実は、今回でプログラミングの最も重要な4つの基本パーツが出揃いました。

  • 第2回:情報を覚える「変数」

  • 第3回:情報を加工する「演算子」

  • 第4回:道の分かれ道を作る「条件分岐(if文)」

  • 第5回:同じことを何度もやる「ループ(繰り返し)」

世界中のどんなに複雑なアプリも、ゲームも、AIシステムも、突き詰めればこの4つの組み合わせだけでできています。あなたはその基礎を、中学生の僕と一緒にここまでマスターしたんです。本当に素晴らしいことです!

次回は、この4つのパーツを綺麗にラッピングして、いつでもどこでも使い回せるようにする秘密兵器、「関数(かんすう)」について解説します。これがわかると、コードが劇的にスッキリして、さらにプロっぽくなります。

今回も最後まで読んでくれてありがとうございました。中学生の挑戦、ぜひ「スキ」やフォローで応援してください!第6回でお会いしましょう!


【著者メッセージ】 ループを動かしたとき、画面がシュバババッ!と一瞬で埋め尽くされる快感は、プログラミングならではの楽しさです。学校の宿題も、これくらい一瞬で終わらせるプログラムが作れたら最高なんですけどね(笑)。次回もお楽しみに!

自分事ですが、先日やっと「超かぐや姫」を見ました。
かぐやすごくかわいいです。かぐいろ最高!!

失礼。また次回お会いしましょう

いいなと思ったら応援しよう!