【資料】goto から for 文への発展
目次
📌 1. この資料の目的
- プログラミングの繰り返し処理がgoto から for にどう進化したかを理解する
- goto と for の動きを 条件まで一致 させて比較しそれぞれのメリット・デメリットを整理する
📌 2. 例題
🎯 目的
「こんにちは」を3回表示し、最後に「繰り返し終わり」を表示する。
✅ 【for 文版】
for (int i = 0; i < 3; i++)
{
Console.WriteLine("こんにちは");
}
Console.WriteLine("繰り返し終わり");
ポイント
- i = 0 からスタート
- i < 3 の間繰り返す
- i++ で1ずつ増やす
- 条件が成立する間だけ繰り返される
✅ 【goto 文版】
int i = 0;
LoopStart:
if (i < 3)
{
Console.WriteLine("こんにちは");
i++;
goto LoopStart;
}
Console.WriteLine("繰り返し終わり");
ポイント
- i = 0 で初期化
- if (i < 3) で繰り返し条件を確認
- 条件が成立すれば出力 → i++ → goto LoopStart; で戻る
- 条件が成立しなくなったら goto せず、終了
📌 3. 両者の違いと共通点
項目 | for 文 | goto 文 |
---|---|---|
初期化 | i = 0 | i = 0 |
条件判定 | i < 3 | if (i < 3) |
更新処理 | i++ | i++ |
繰り返し構造 | 組込構文 | 手動で goto |
保守性 | 高い | 低い(条件や更新を忘れると無限ループ) |
📌 4. 制御構造の進化
✅ goto はジャンプするだけの単純な仕組み
- 条件判定や増分処理を自分で書かないといけない
- 見落とすと無限ループや分岐ミスが起きやすい
✅ for は「初期化 → 条件判定 → 更新処理」を一行にまとめる
- 条件と増分の書き忘れを防ぐ
- ループの回数が一目でわかるので読みやすい
📌 5. 条件を一致させる意味
- goto で if (i < 3) と書くと、for の i < 3 と完全に同じ条件式になる。
- 条件が逆向きだと初心者は混乱するので、なるべく同じ形にすることで動きの比較がしやすくなる。
📌 6. まとめ
- goto は自由度が高いが、保守性が低い。
- for は goto と条件分岐・増分を整理した進化形。
- 制御構造を整理するとプログラムがわかりやすくなり、バグを防ぎやすくなる。
✅ 【結論】
- goto は必要最小限にとどめ、基本は for や while など構造化されたループを使おう!
- 条件式をそろえて比較すると、for がどれだけ便利で安全かがよくわかる。
📌 7. 付録:while 文との比較
同じ処理は while でも書けます。
int i = 0;
while (i < 3)
{
Console.WriteLine("こんにちは");
i++;
}
Console.WriteLine("繰り返し終わり");
- while も for と同様に条件式は i < 3。
- for は「初期化・条件・更新」がまとまっているのに対し、while は初期化と更新を分けて書く。
訪問数 16 回, 今日の訪問数 1回
ディスカッション
コメント一覧
まだ、コメントがありません