تمرین و پاسخ
تمرین
- برنامهای به زبان PHP بنویسید که نمره دانشآموز را در متغیری ذخیره کند. نمره باید بین ۰ تا ۲۰ باشد. اگر نمره کمتر از ۱۰ بود پیام «مردود»، اگر کمتر از ۱۷ بود پیام «قبول» و اگر کمتر از ۲۰ بود پیام «ممتاز» نمایش دهد. برای نمره ۲۰ نیز «ممتاز» نمایش داده شود. اگر نمره خارج از بازه ۰ تا ۲۰ بود، پیام «نمره نامعتبر» نمایش دهد.
- برنامهای به زبان PHP بنویسید که شماره روز هفته را در متغیری ذخیره کند. شماره ۰ برای شنبه، ۱ برای یکشنبه و به همین ترتیب تا ۶ برای جمعه باشد. نام روز را در خروجی نمایش دهد. برای شماره خارج از بازه ۰ تا ۶ پیام «روز نامعتبر» نمایش دهد. از دستور
switchاستفاده کنید.
پاسخ پیشنهادی
پاسخ تمرین ۱: بررسی نمره
<?php
$score = 16;
if ($score < 0 || $score > 20) {
echo "نمره نامعتبر";
} elseif ($score < 10) {
echo "مردود";
} elseif ($score < 17) {
echo "قبول";
} else {
echo "ممتاز";
}
?>
توضیح:
- ابتدا بررسی میشود که نمره بین ۰ تا ۲۰ باشد.
- اگر نمره کمتر از ۱۰ باشد، پیام «مردود» نمایش داده میشود.
- اگر نمره کمتر از ۱۷ باشد، پیام «قبول» نمایش داده میشود.
- اگر نمره کمتر و ۲۰ باشد، پیام «ممتاز» نمایش داده میشود.
نمونه خروجی:
- برای
$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;
}
?>
توضیح:
- مقدار متغیر
$dayبا هرcaseمقایسه میشود. - برای هر شماره، نام روز مربوط نمایش داده میشود.
- دستور
break;از اجرایcaseهای بعدی جلوگیری میکند. - اگر مقدار متغیر خارج از بازه ۰ تا ۶ باشد، بخش
defaultاجرا میشود.
نمونه خروجی:
- برای
$day = 0;خروجی «شنبه» است. - برای
$day = 6;خروجی «جمعه» است. - برای
$day = 9;خروجی «روز نامعتبر» است.
نکته آموزشی
در تمرین نمره، ترتیب شرطها مهم است. شرطهای کوچکتر باید قبل از شرطهای بزرگتر نوشته شوند. در تمرین روز هفته نیز نوشتن break; پس از هر case الزامی است تا خروجی نادرست نمایش داده نشود.