Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

مراجعة - المنطق البسيط

جزء من قسم Fundamentals في رحلة PHP على Coddy — الدرس 27 من 71.

challenge icon

التحدي

سهل

اقرأ خمس قيم من المدخلات: عدد صحيح age، وعدد صحيح balance، وسلسلة نصية isStudent (إما "true" أو "false")، وسلسلة نصية hasPromoCode (إما "true" أو "false")، وعدد صحيح itemPrice.

قم بتحويل القيم النصية إلى قيم منطقية (booleans) عن طريق مقارنتها بـ "true".

قم بتقييم الشروط الثلاثة التالية واطبع نتيجة كل منها باستخدام var_dump()، كل منها في سطر جديد:

  1. تحقق مما إذا كان الشخص مؤهلاً للحصول على خصم الشباب: العمر (age) أقل من 25 و (AND) طالب (isStudent)
  2. تحقق مما إذا كان الشخص يستطيع تحمل تكلفة السلعة مع الخصم: الرصيد (balance) أكبر من أو يساوي سعر السلعة (itemPrice) أو (OR) (الرصيد لا يقل عن نصف سعر السلعة و (AND) لديه رمز ترويجي (hasPromoCode) هو true)
  3. تحقق مما إذا كان الشخص يحصل على أولوية الدفع: (العمر لا يقل عن 65 أو (OR) طالب (isStudent) هو true) و (AND) الرصيد أكبر من 0 و (AND) ليس (NOT) لديه رمز ترويجي (hasPromoCode)

مثال:

إذا كانت المدخلات هي 22، 50، true، false، و 80، فيجب أن تكون المخرجات:

bool(true)
bool(false)
bool(true)

التفسير:

  • age < 25 && isStudent ← 22 < 25 && true ← true
  • balance >= itemPrice || (balance >= itemPrice / 2 && hasPromoCode) ← 50 >= 80 || (50 >= 40 && false) ← false || false ← false
  • (age >= 65 || isStudent) && balance > 0 && !hasPromoCode ← (false || true) && true && true ← true

جرّب بنفسك

<?php
// قراءة قيم المدخلات
$age = intval(fgets(STDIN));
$balance = intval(fgets(STDIN));
$isStudentStr = trim(fgets(STDIN));
$hasPromoCodeStr = trim(fgets(STDIN));
$itemPrice = intval(fgets(STDIN));

// تحويل القيم النصية إلى قيم منطقية (booleans)
$isStudent = $isStudentStr === "true";
$hasPromoCode = $hasPromoCodeStr === "true";

// TODO: اكتب الكود الخاص بك أدناه
// 1. التحقق مما إذا كان الشخص مؤهلاً للحصول على خصم الشباب

// 2. التحقق مما إذا كان بإمكان الشخص تحمل تكلفة السلعة مع الخصم

// 3. التحقق مما إذا كان الشخص يحصل على أولوية الدفع

?>

جميع دروس Fundamentals