採点されません。匿名です。 間違えることは学習の一部です。読むだけでもかまいません。

for 文

テクノロジ系 / loop (for / while / break / continue)

for 文

Lesson 3 / Chapter 1

同じ処理を何回も書くのは大変

<?php
echo "1\n";
echo "2\n";
echo "3\n";
echo "4\n";
echo "5\n";
  • 5 回ならまだ書ける
  • 100 回なら? 1000 回なら?
  • ループ を使えば 1 回書くだけで済む

for 文の形

<?php
for ($i = 1; $i <= 5; $i++) {
    echo $i . "\n";
}

実行結果:

1
2
3
4
5
  • for (初期化; 条件; 更新) { 処理 }
  • 条件が真の間、{ } の中を繰り返す

3 つの部分を分解する

for ($i = 1; $i <= 5; $i++) {
    echo $i . "\n";
}
部分役割実行タイミング
$i = 1初期化ループ開始時に 1 回だけ
$i <= 5条件毎回チェック (真なら続行)
$i++更新1 回処理した後に実行

$i++ は「1 増やす」

<?php
$i = 0;
$i++;       // $i = 1
$i++;       // $i = 2
echo $i;    // 2
  • $i++$i = $i + 1 と同じ
  • ループのカウンタを進めるためによく使う
  • $i-- なら 1 減らす

0 から始める書き方もある

<?php
for ($i = 0; $i < 5; $i++) {
    echo $i . "\n";   // 0 1 2 3 4
}
  • $i = 0 開始 + $i < 5 条件 → 0 から 4 まで 5 回
  • $i = 1 開始 + $i <= 5 条件 → 1 から 5 まで 5 回
  • どちらも 5 回繰り返すが、出る値が違うので問題に合わせる

このチャプターでできるようになること

for 文で決まった回数だけ処理を繰り返せる

✅ カウンタ変数 $i を使って値を変えながら処理できる

$i++ で 1 ずつ増やせる

✅ 初期値・条件を変えて回数を調整できる

→ ドリルへ

考えてみよう

既定では正解・不正解の判定はしません。自分のペースで「答えを見る」を。採点してほしい場合だけ「採点してほしい」を押してください。

ドリル 01 — 1 から 5 までを出力

問題

for 文を使って 1 から 5 までを 1 行ずつ出力してください。

期待される出力:

1
2
3
4
5

採点

php scripts/grade.php topics/loop/ch01-for/drill/01-count-to-5/

ヒント

  • for ($i = 1; $i <= 5; $i++) でループする
  • echo $i . "\n"; で 1 行ずつ出力

ドリル 02 — 1 から N までの合計

問題

標準入力で整数 N を 1 行受け取り、1 + 2 + ... + N の合計を出力してください。

入力例:

10

期待される出力:

55

採点

php scripts/grade.php topics/loop/ch01-for/drill/02-sum-to-n/

ヒント

  • $n = (int) trim(fgets(STDIN)); で N を読む
  • $sum = 0; で合計用の変数を用意
  • for ($i = 1; $i <= $n; $i++) { $sum += $i; } で足していく
  • $sum += $i$sum = $sum + $i と同じ

ドリル 03 — N の段の九九

問題

標準入力で整数 N (1〜9) を 1 行受け取り、N の段の九九を 1 行ずつ出力してください。

出力形式は N x i = 結果 の形 (空白区切り)。

入力例:

3

期待される出力:

3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
3 x 4 = 12
3 x 5 = 15
3 x 6 = 18
3 x 7 = 21
3 x 8 = 24
3 x 9 = 27

採点

php scripts/grade.php topics/loop/ch01-for/drill/03-multiply-table/

ヒント

  • $n = (int) trim(fgets(STDIN)); で N を読む
  • for ($i = 1; $i <= 9; $i++) で 1 から 9 まで回す
  • echo "$n x $i = " . ($n * $i) . "\n"; のように出力