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

if / else

テクノロジ系 / conditional (if / else / switch / 三項)

if / else

Lesson 2 / Chapter 2

else は「そうでなければ」

<?php
$score = 40;

if ($score >= 60) {
    echo "合格\n";
} else {
    echo "不合格\n";
}
  • if の条件が のときに else { ... } の中身が実行される
  • ifelseどちらか一方だけ が必ず実行される

書き方のルール

if ($score >= 60) {
    echo "合格\n";
} else {
    echo "不合格\n";
}
  • if (...) { ... } else { ... } の形
  • }else同じ行 に並べてよい (慣習)
  • else には条件を書かない (書くのは elseif)

elseif で 3 分岐以上

<?php
$score = 75;

if ($score >= 90) {
    echo "A\n";
} elseif ($score >= 70) {
    echo "B\n";
} else {
    echo "C\n";
}

実行結果:

B
  • elseif (条件) で条件を増やせる
  • いくつでも並べられる

上から順に判定する

if ($score >= 90) {
    // 1番目: 90 以上か?
} elseif ($score >= 70) {
    // 2番目: 70 以上か? (90 以上は既にはじかれた)
} else {
    // どれにも当てはまらない
}
  • 条件は 上から順 にチェックされる
  • 当てはまった瞬間にそのブロックだけ実行して 抜ける
  • だから上から 厳しい順 に並べる

余りで偶奇判定

<?php
$n = 7;

if ($n % 2 == 0) {
    echo "偶数\n";
} else {
    echo "奇数\n";
}
  • $n % 2 は 2 で割った余り
  • 余りが 0 なら偶数、そうでなければ奇数
  • == は「等しい」(ch03 で詳しく)

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

if / else で 2 分岐できる

elseif で 3 分岐以上に分けられる

✅ 条件は上から順に判定されると分かる

% と組み合わせて偶奇判定ができる

→ ドリルへ

考えてみよう

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

ドリル 01 — 偶数か奇数か

問題

標準入力で整数を 1 つ受け取り、偶数 なら 偶数奇数 なら 奇数 と出力してください。

入力例:

7

期待される出力:

奇数

採点

php scripts/grade.php topics/conditional/ch02-if-else/drill/01-even-or-odd/

ヒント

  • $n = (int) trim(fgets(STDIN)); で読む
  • $n % 2 == 0 なら偶数
  • if / else を使う

ドリル 02 — 合格か不合格か

問題

標準入力で点数 (0〜100 の整数) を 1 つ受け取り、60 以上 なら 合格60 未満 なら 不合格 と出力してください。

入力例:

55

期待される出力:

不合格

採点

php scripts/grade.php topics/conditional/ch02-if-else/drill/02-pass-fail/

ヒント

  • $score = (int) trim(fgets(STDIN));
  • if / else で 2 分岐
  • 「以上」は >=

ドリル 03 — 点数で評価を判定

問題

標準入力で点数 (0〜100 の整数) を 1 つ受け取り、以下のルールで評価を出力してください。

点数評価
90 以上A
80 以上 90 未満B
70 以上 80 未満C
それ以外 (70 未満)D

入力例:

85

期待される出力:

B

採点

php scripts/grade.php topics/conditional/ch02-if-else/drill/03-grade-judge/

ヒント

  • $score = (int) trim(fgets(STDIN));
  • if / elseif / elseif / else で 4 分岐
  • 条件は 上から厳しい順 に並べる (まず >= 90 を判定)