coderill

条件分岐の基礎

PHPの演習問題

以下のプログラムを書いて実行してください。

( 1 ) 真偽を判定する

  1. 変数$ageに任意の数値を代入します。
  2. $ageが18以上であれば「成人です」と出力し、そうでなければ「未成年です」と出力するプログラムを書いてください。

( 2 ) 偶数か奇数か

  1. 変数$numberに任意の数値を代入します。
  2. $numberが偶数であれば「偶数です」と出力し、奇数であれば「奇数です」と出力するプログラムを書いてください。

( 3 ) 天気に応じたメッセージ

  1. 変数$weatherに文字列(’晴れ’, ‘曇り’, ‘雨’)のいずれかを代入します。
  2. $weatherの値に応じて、適切なメッセージを出力するプログラムを書いてください。例えば、「晴れ」なら「今日は晴天です!」と出力。

( 4 ) 成績の評価

  1. 変数 $score に0から100までの数値を代入します。
  2. $score が80以上なら「優秀です!」、60以上80未満なら「良好です!」、それ未満なら「もっと頑張りましょう!」と出力するプログラムを書いてください。

( 5 ) 複数条件の組み合わせ

  1. 変数 $temperature に温度(数値)、$weather に天気(’晴れ’, ‘曇り’, ‘雨’)を代入します。
  2. $temperature が30度以上で $weather が ‘晴れ’ の場合は「熱中症に注意!」、$temperature が0度未満で $weather が ‘雨’ の場合は「凍結の恐れあり!」と出力するプログラムを書いてください。

ポイント

変数の宣言と初期化 : PHPでは変数を使用する際、宣言と同時に初期化を行うのが一般的であり、$variableName = value;の形式で行います。例えば$a = 5;というコードは、変数$aを宣言し、同時に値 5 を代入することで初期化しています。

出力方法 : PHPでの出力には主に以下の方法があります。

  • echo : 文字列を出力する一般的な方法です。複数の値をカンマで区切って一度に出力することができます。実行速度が速いため、単純な文字列出力には echo がよく使われます。
  • print : echo に似ていますが、一度に一つの文字列のみを出力します。また、print は式として扱われ、値(常に 1 )を返します。
  • printf : 書式指定された文字列を出力します。変数の内容を特定のフォーマットで出力する場合に便利です。
  • print_r : 変数の内容を読みやすい形式で出力します。配列やオブジェクトなど、複雑なデータ構造を出力する際に便利です。
  • var_dump : print_r と同様に変数の情報を出力しますが、より詳細な情報 ( 型や長さなど ) を提供します。開発時のデバッグによく使用されます。

条件分岐 : 特定の条件に基づいて異なるコードブロックを実行するには主に以下の方法があります。

  • if文 : 最も基本的な条件分岐です。指定された条件が真(true)であれば、コードブロックを実行します。偽 ( false ) の場合、コードブロックはスキップされます。
if (条件) {
    // 条件が真の時に実行するコード
}Code language: JavaScript (javascript)
  • else文 : if文に続けて使用し、if文の条件が偽の時に実行されるコードブロックを指定します。
if (条件) {
    // 条件が真の時に実行するコード
} else {
    // 条件が偽の時に実行するコード
}Code language: JavaScript (javascript)
  • elseif文 : 複数の条件を順に評価する際に使用します。if文の条件が偽で、elseifの条件が真の場合に実行されます。
if (条件1) {
    // 条件1が真の時に実行するコード
} elseif (条件2) {
    // 条件1が偽で条件2が真の時に実行するコード
} else {
    // すべての条件が偽の時に実行するコード
}Code language: PHP (php)
  • switch文 : 一つの変数に対して多数の値を比較する場合に便利です。指定された変数の値に基づき、対応するcase節のコードブロックを実行します。
if (条件1) {
    // 条件1が真の時に実行するコード
} elseif (条件2) {
    // 条件1が偽で条件2が真の時に実行するコード
} else {
    // すべての条件が偽の時に実行するコード
}Code language: PHP (php)

解答と解説

( 1 ) 真偽を判定する

  1. 変数 $age に任意の数値を代入します。
  2. $age が18以上であれば「成人です」と出力し、そうでなければ「未成年です」と出力するプログラムを書いてください。

if文を使って条件分岐を行います。$age >= 18 という条件で18歳以上かどうかを判断しています。

<?php
$age = 20;  // ここに任意の年齢を代入
if ($age >= 18) {
    echo "成人です";
} else {
    echo "未成年です";
}
?>
Code language: HTML, XML (xml)

( 2 ) 偶数か奇数か

  1. 変数 $number に任意の数値を代入します。
  2. $number が偶数であれば「偶数です」と出力し、奇数であれば「奇数です」と出力するプログラムを書いてください。

%(剰余演算子)を使って数値が偶数か奇数かを判断しています。偶数の場合、数値を2で割った余りが0になります。

<?php
$number = 5;  // ここに任意の数値を代入
if ($number % 2 == 0) {
    echo "偶数です";
} else {
    echo "奇数です";
}
?>
Code language: HTML, XML (xml)

( 3 ) 天気に応じたメッセージ

  1. 変数 $weather に文字列(’晴れ’, ‘曇り’, ‘雨’)のいずれかを代入します。
  2. $weather の値に応じて、適切なメッセージを出力するプログラムを書いてください。例えば、「晴れ」なら「今日は晴天です!」と出力。

このコードでは、switch文を使用しています。$weatherの値に応じて、異なるメッセージを出力するように設定されています。switch文は、特定の変数の値に基づいて複数の選択肢から実行するコードブロックを選択するために使います。case '晴れ'case '曇り'case '雨' はそれぞれの天気の条件に対応しており、該当する場合に特定のメッセージを出力します。どの条件にも当てはまらない場合には、default節が実行されます。

<?php
$weather = '晴れ';  // '晴れ', '曇り', '雨' のいずれかを代入

switch ($weather) {
    case '晴れ':
        echo "今日は晴天です!";
        break;
    case '曇り':
        echo "今日は曇りですね。";
        break;
    case '雨':
        echo "雨が降っています。傘を忘れずに!";
        break;
    default:
        echo "未知の天気です。";
        break;
}
?>
Code language: HTML, XML (xml)

( 4 ) 成績の評価

  1. 変数 $score に0から100までの数値を代入します。
  2. $score が80以上なら「優秀です!」、60以上80未満なら「良好です!」、それ未満なら「もっと頑張りましょう!」と出力するプログラムを書いてください。

このコードは$scoreの値に基づいて異なるメッセージを出力します。まず80以上かどうかをチェックし、次に60以上かどうかをチェックします。どちらの条件にも当てはまらない場合、最後のelseブロックが実行されます。

<?php
$score = 75;  // ここに0から100までの数値を代入
if ($score >= 80) {
    echo "優秀です!";
} elseif ($score >= 60) {
    echo "良好です!";
} else {
    echo "もっと頑張りましょう!";
}
?>
Code language: HTML, XML (xml)

( 5 ) 複数条件の組み合わせ

  1. 変数 $temperature に温度(数値)、$weather に天気(’晴れ’, ‘曇り’, ‘雨’)を代入します。
  2. $temperature が30度以上で $weather が ‘晴れ’ の場合は「熱中症に注意!」、$temperature が0度未満で $weather が ‘雨’ の場合は「凍結の恐れあり!」と出力するプログラムを書いてください。

ここでは&&(AND演算子)を使用して、2つの条件が同時に真であるかどうかをチェックしています。1つ目のif文は、温度が30度以上かつ天気が晴れの場合に警告を出力します。2つ目のelseif文は、温度が0度未満かつ天気が雨の場合に別の警告を出力します。

<?php
$temperature = 32;  // 温度を代入
$weather = '晴れ';  // 天気を代入
if ($temperature >= 30 && $weather == '晴れ') {
    echo "熱中症に注意!";
} elseif ($temperature < 0 && $weather == '雨') {
    echo "凍結の恐れあり!";
}
?>
Code language: HTML, XML (xml)

PHPの演習問題

以下のプログラムを書いて実行してください。

( 1 ) 真偽を判定する

  1. 変数$ageに任意の数値を代入します。
  2. $ageが18以上であれば「成人です」と出力し、そうでなければ「未成年です」と出力するプログラムを書いてください。

( 2 ) 偶数か奇数か

  1. 変数$numberに任意の数値を代入します。
  2. $numberが偶数であれば「偶数です」と出力し、奇数であれば「奇数です」と出力するプログラムを書いてください。

( 3 ) 天気に応じたメッセージ

  1. 変数$weatherに文字列(’晴れ’, ‘曇り’, ‘雨’)のいずれかを代入します。
  2. $weatherの値に応じて、適切なメッセージを出力するプログラムを書いてください。例えば、「晴れ」なら「今日は晴天です!」と出力。

( 4 ) 成績の評価

  1. 変数 $score に0から100までの数値を代入します。
  2. $score が80以上なら「優秀です!」、60以上80未満なら「良好です!」、それ未満なら「もっと頑張りましょう!」と出力するプログラムを書いてください。

( 5 ) 複数条件の組み合わせ

  1. 変数 $temperature に温度(数値)、$weather に天気(’晴れ’, ‘曇り’, ‘雨’)を代入します。
  2. $temperature が30度以上で $weather が ‘晴れ’ の場合は「熱中症に注意!」、$temperature が0度未満で $weather が ‘雨’ の場合は「凍結の恐れあり!」と出力するプログラムを書いてください。

ポイント

変数の宣言と初期化 : PHPでは変数を使用する際、宣言と同時に初期化を行うのが一般的であり、$variableName = value;の形式で行います。例えば$a = 5;というコードは、変数$aを宣言し、同時に値 5 を代入することで初期化しています。

出力方法 : PHPでの出力には主に以下の方法があります。

  • echo : 文字列を出力する一般的な方法です。複数の値をカンマで区切って一度に出力することができます。実行速度が速いため、単純な文字列出力には echo がよく使われます。
  • print : echo に似ていますが、一度に一つの文字列のみを出力します。また、print は式として扱われ、値(常に 1 )を返します。
  • printf : 書式指定された文字列を出力します。変数の内容を特定のフォーマットで出力する場合に便利です。
  • print_r : 変数の内容を読みやすい形式で出力します。配列やオブジェクトなど、複雑なデータ構造を出力する際に便利です。
  • var_dump : print_r と同様に変数の情報を出力しますが、より詳細な情報 ( 型や長さなど ) を提供します。開発時のデバッグによく使用されます。

条件分岐 : 特定の条件に基づいて異なるコードブロックを実行するには主に以下の方法があります。

  • if文 : 最も基本的な条件分岐です。指定された条件が真(true)であれば、コードブロックを実行します。偽 ( false ) の場合、コードブロックはスキップされます。
if (条件) {
    // 条件が真の時に実行するコード
}Code language: JavaScript (javascript)
  • else文 : if文に続けて使用し、if文の条件が偽の時に実行されるコードブロックを指定します。
if (条件) {
    // 条件が真の時に実行するコード
} else {
    // 条件が偽の時に実行するコード
}Code language: JavaScript (javascript)
  • elseif文 : 複数の条件を順に評価する際に使用します。if文の条件が偽で、elseifの条件が真の場合に実行されます。
if (条件1) {
    // 条件1が真の時に実行するコード
} elseif (条件2) {
    // 条件1が偽で条件2が真の時に実行するコード
} else {
    // すべての条件が偽の時に実行するコード
}Code language: PHP (php)
  • switch文 : 一つの変数に対して多数の値を比較する場合に便利です。指定された変数の値に基づき、対応するcase節のコードブロックを実行します。
if (条件1) {
    // 条件1が真の時に実行するコード
} elseif (条件2) {
    // 条件1が偽で条件2が真の時に実行するコード
} else {
    // すべての条件が偽の時に実行するコード
}Code language: PHP (php)

解答と解説

( 1 ) 真偽を判定する

  1. 変数 $age に任意の数値を代入します。
  2. $age が18以上であれば「成人です」と出力し、そうでなければ「未成年です」と出力するプログラムを書いてください。

if文を使って条件分岐を行います。$age >= 18 という条件で18歳以上かどうかを判断しています。

<?php
$age = 20;  // ここに任意の年齢を代入
if ($age >= 18) {
    echo "成人です";
} else {
    echo "未成年です";
}
?>
Code language: HTML, XML (xml)

( 2 ) 偶数か奇数か

  1. 変数 $number に任意の数値を代入します。
  2. $number が偶数であれば「偶数です」と出力し、奇数であれば「奇数です」と出力するプログラムを書いてください。

%(剰余演算子)を使って数値が偶数か奇数かを判断しています。偶数の場合、数値を2で割った余りが0になります。

<?php
$number = 5;  // ここに任意の数値を代入
if ($number % 2 == 0) {
    echo "偶数です";
} else {
    echo "奇数です";
}
?>
Code language: HTML, XML (xml)

( 3 ) 天気に応じたメッセージ

  1. 変数 $weather に文字列(’晴れ’, ‘曇り’, ‘雨’)のいずれかを代入します。
  2. $weather の値に応じて、適切なメッセージを出力するプログラムを書いてください。例えば、「晴れ」なら「今日は晴天です!」と出力。

このコードでは、switch文を使用しています。$weatherの値に応じて、異なるメッセージを出力するように設定されています。switch文は、特定の変数の値に基づいて複数の選択肢から実行するコードブロックを選択するために使います。case '晴れ'case '曇り'case '雨' はそれぞれの天気の条件に対応しており、該当する場合に特定のメッセージを出力します。どの条件にも当てはまらない場合には、default節が実行されます。

<?php
$weather = '晴れ';  // '晴れ', '曇り', '雨' のいずれかを代入

switch ($weather) {
    case '晴れ':
        echo "今日は晴天です!";
        break;
    case '曇り':
        echo "今日は曇りですね。";
        break;
    case '雨':
        echo "雨が降っています。傘を忘れずに!";
        break;
    default:
        echo "未知の天気です。";
        break;
}
?>
Code language: HTML, XML (xml)

( 4 ) 成績の評価

  1. 変数 $score に0から100までの数値を代入します。
  2. $score が80以上なら「優秀です!」、60以上80未満なら「良好です!」、それ未満なら「もっと頑張りましょう!」と出力するプログラムを書いてください。

このコードは$scoreの値に基づいて異なるメッセージを出力します。まず80以上かどうかをチェックし、次に60以上かどうかをチェックします。どちらの条件にも当てはまらない場合、最後のelseブロックが実行されます。

<?php
$score = 75;  // ここに0から100までの数値を代入
if ($score >= 80) {
    echo "優秀です!";
} elseif ($score >= 60) {
    echo "良好です!";
} else {
    echo "もっと頑張りましょう!";
}
?>
Code language: HTML, XML (xml)

( 5 ) 複数条件の組み合わせ

  1. 変数 $temperature に温度(数値)、$weather に天気(’晴れ’, ‘曇り’, ‘雨’)を代入します。
  2. $temperature が30度以上で $weather が ‘晴れ’ の場合は「熱中症に注意!」、$temperature が0度未満で $weather が ‘雨’ の場合は「凍結の恐れあり!」と出力するプログラムを書いてください。

ここでは&&(AND演算子)を使用して、2つの条件が同時に真であるかどうかをチェックしています。1つ目のif文は、温度が30度以上かつ天気が晴れの場合に警告を出力します。2つ目のelseif文は、温度が0度未満かつ天気が雨の場合に別の警告を出力します。

<?php
$temperature = 32;  // 温度を代入
$weather = '晴れ';  // 天気を代入
if ($temperature >= 30 && $weather == '晴れ') {
    echo "熱中症に注意!";
} elseif ($temperature < 0 && $weather == '雨') {
    echo "凍結の恐れあり!";
}
?>
Code language: HTML, XML (xml)