Day5 条件分岐の練習問題
Day5 のテーマは if / else / else if。
ここでは、条件分岐の理解を深めるための練習問題と、
それぞれの解答・解説をまとめていきます。
初心者がつまずきやすいポイントを丁寧に拾いながら、
「なぜそうなるのか」まで理解できる構成にしています。
四則演算の練習問題
問題1:if を使って条件を判定する
変数 age が 18 以上なら「大人です」と表示してください。
const age = 20;
JavaScript解答例
if (age >= 18) {
console.log("大人です");
}
JavaScript解説
if の条件には true / false になる式 を書きます。
age >= 18 が true のため、メッセージが表示されます。
else を使った練習問題
問題2:大人か子どもかを判定する
age が 18 以上なら「大人です」、
それ以外なら「子どもです」と表示してください。
const age = 15;
JavaScript解答例
if (age >= 18) {
console.log("大人です");
} else {
console.log("子どもです");
}
JavaScript解説
if が false のときに実行されるのが else。
「どちらか一方は必ず実行される」形になります。
else if を使った練習問題
問題3:スコアで評価を変える
score に応じて次のように表示してください。
90 以上 → 「優」
70 以上 → 「良」
それ以外 → 「可」
const score = 72;
JavaScript解答例
if (score >= 90) {
console.log("優");
} else if (score >= 70) {
console.log("良");
} else {
console.log("可");
}
JavaScript解説
上から順番に評価され、
最初に true になった部分だけが実行されます。
複数条件を組み合わせる練習問題
問題4:学生割引が使えるか判定する
次の条件を満たすコードを書いてください。
- age が 18 以上
- isStudent が true
- 両方満たしている場合「学生割引が使えます」と表示
const age = 19;
const isStudent = true;
JavaScript解答例
if (age >= 18 && isStudent) {
console.log("学生割引が使えます");
} else {
console.log("条件を満たしていません");
}
JavaScript解説
AND(&&)は「両方 true のときだけ true」。
条件を組み合わせるときの基本です。
NOT(!)を使う練習問題
問題5:ログインしていない場合のメッセージ
isLoggedIn が false のときだけ
「ログインしてください」と表示してください。
const isLoggedIn = false;
JavaScript解答例
if (!isLoggedIn) {
console.log("ログインしてください");
}
JavaScript解説
!(NOT)は true / false を反転させます。
false → true になるため、if が実行されます。
条件の順番を意識する練習問題
問題6:年齢で料金を分ける
次の条件で料金を表示してください。
20 以上 → 「大人料金」
13 以上 → 「中人料金」
それ以外 → 「子ども料金」
const age = 14;
JavaScript解答例
if (age >= 20) {
console.log("大人料金");
} else if (age >= 13) {
console.log("中人料金");
} else {
console.log("子ども料金");
}
JavaScript解説
「より厳しい条件(範囲が狭い条件)」を上に書くのが鉄則。
これを守らないと、意図しない結果になります。
ネスト(if の中に if)の練習問題
問題7:年齢と会員ステータスで判定する
次の条件でメッセージを表示してください。
- 18 以上
- かつ 会員 → 「利用できます」
- かつ 非会員 → 「会員登録が必要です」
- 18 未満 → 「利用できません」
const age = 20;
const isMember = false;
JavaScript解答例
if (age >= 18) {
if (isMember) {
console.log("利用できます");
} else {
console.log("会員登録が必要です");
}
} else {
console.log("利用できません");
}
JavaScript解説
ネストは「まず大きな条件で分けて、
その中でさらに細かく分ける」時に使います。
セキュリティ視点の応用問題
問題8:管理画面へのアクセス判定
次の条件でメッセージを表示してください。
- isLoggedIn が true
- かつ isAdmin が true
- 両方満たす場合 → 「管理画面にアクセスできます」
- それ以外 → 「アクセス権限がありません」
const isLoggedIn = true;
const isAdmin = false;
JavaScript解答例
if (isLoggedIn && isAdmin) {
console.log("管理画面にアクセスできます");
} else {
console.log("アクセス権限がありません");
}
JavaScript解説
条件分岐は「誰に何を許可するか」を決める重要な場所。
条件の書き間違いはそのままセキュリティホールになります。
Day5 練習問題まとめ
Day5 の練習で身につくことは次の通りです。
- if / else / else if の基本構造を理解できる
- 条件は true / false になる式を書く
- 条件は上から順番に評価される
- AND / OR / NOT と組み合わせて複雑な条件を作れる
- ネストを使って段階的な判定ができる
- 条件の書き方ひとつで安全性が変わることを理解できる
条件分岐はプログラミングの「判断力」を作る最重要パートです。
ここをしっかり理解しておくと、Day6 以降の学習が一気に楽になります。
