تمرین و پاسخ

تمرین

  1. برنامه‌ای به زبان PHP بنویسید که نمره دانش‌آموز را در متغیری ذخیره کند. نمره باید بین ۰ تا ۲۰ باشد. اگر نمره کمتر از ۱۰ بود پیام «مردود»، اگر کمتر از ۱۷ بود پیام «قبول» و اگر کمتر از ۲۰ بود پیام «ممتاز» نمایش دهد. برای نمره ۲۰ نیز «ممتاز» نمایش داده شود. اگر نمره خارج از بازه ۰ تا ۲۰ بود، پیام «نمره نامعتبر» نمایش دهد.
  2. برنامه‌ای به زبان PHP بنویسید که شماره روز هفته را در متغیری ذخیره کند. شماره ۰ برای شنبه، ۱ برای یکشنبه و به همین ترتیب تا ۶ برای جمعه باشد. نام روز را در خروجی نمایش دهد. برای شماره خارج از بازه ۰ تا ۶ پیام «روز نامعتبر» نمایش دهد. از دستور switch استفاده کنید.

پاسخ پیشنهادی

پاسخ تمرین ۱: بررسی نمره

<?php
$score = 16;

if ($score < 0 || $score > 20) {
    echo "نمره نامعتبر";
} elseif ($score < 10) {
    echo "مردود";
} elseif ($score < 17) {
    echo "قبول";
} else {
    echo "ممتاز";
}
?>

توضیح:

  1. ابتدا بررسی می‌شود که نمره بین ۰ تا ۲۰ باشد.
  2. اگر نمره کمتر از ۱۰ باشد، پیام «مردود» نمایش داده می‌شود.
  3. اگر نمره کمتر از ۱۷ باشد، پیام «قبول» نمایش داده می‌شود.
  4. اگر نمره کمتر و ۲۰ باشد، پیام «ممتاز» نمایش داده می‌شود.

نمونه خروجی:

  • برای $score = 8; خروجی «مردود» است.
  • برای $score = 15; خروجی «قبول» است.
  • برای $score = 18; خروجی «ممتاز» است.
  • برای $score = 25; خروجی «نمره نامعتبر» است.

پاسخ تمرین ۲: نام روز هفته

<?php
$day = 0;

switch ($day) {
    case 0:
        echo "شنبه";
        break;
    case 1:
        echo "یکشنبه";
        break;
    case 2:
        echo "دوشنبه";
        break;
    case 3:
        echo "سه‌شنبه";
        break;
    case 4:
        echo "چهارشنبه";
        break;
    case 5:
        echo "پنجشنبه";
        break;
    case 6:
        echo "جمعه";
        break;
    default:
        echo "روز نامعتبر";
        break;
}
?>

توضیح:

  1. مقدار متغیر $day با هر case مقایسه می‌شود.
  2. برای هر شماره، نام روز مربوط نمایش داده می‌شود.
  3. دستور break; از اجرای caseهای بعدی جلوگیری می‌کند.
  4. اگر مقدار متغیر خارج از بازه ۰ تا ۶ باشد، بخش default اجرا می‌شود.

نمونه خروجی:

  • برای $day = 0; خروجی «شنبه» است.
  • برای $day = 6; خروجی «جمعه» است.
  • برای $day = 9; خروجی «روز نامعتبر» است.

نکته آموزشی

در تمرین نمره، ترتیب شرط‌ها مهم است. شرط‌های کوچک‌تر باید قبل از شرط‌های بزرگ‌تر نوشته شوند. در تمرین روز هفته نیز نوشتن break; پس از هر case الزامی است تا خروجی نادرست نمایش داده نشود.