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

المعاملات المنطقية - الجزء الرابع

جزء من قسم Fundamentals في رحلة Java على Coddy — الدرس 26 من 73.

قانون دي مورغان هو قاعدة تساعدنا في تبسيط التعبيرات التي تحتوي على NOT. عند العمل مع التعبيرات المنطقية، نحتاج أحياناً إلى تبسيطها أو إعادة ترتيبها.

عندما يكون لديك not أمام شرطين مرتبطين بـ and، يمكنك تقسيمها إلى جزأين منفصلين. يصبح الـ and هو or، ويحصل كل جزء على الـ not الخاص به:

!(A && B) هو نفسه (!A) || (!B)

على سبيل المثال:

// دعونا نتحقق مما إذا كان الرقم ليس (بين 1 و 10)
int number = 15;

// هذان التعبيران متكافئان:
boolean result1 = !(number >= 1 && number <= 10);
boolean result2 = !(number >= 1) || !(number <= 10);

System.out.println(result1);  // true
System.out.println(result2);  // true

والعكس صحيح أيضاً: !(A || B) هو نفسه (!A) && (!B)

على سبيل المثال:

// التحقق مما إذا كان الشخص ليس (طالباً أو موظفاً)
boolean isStudent = false;
boolean isEmployed = false;

// هذان التعبيران متكافئان:
boolean result1 = !(isStudent || isEmployed);
boolean result2 = !(isStudent) && !(isEmployed);

System.out.println(result1);  // true
System.out.println(result2);  // true
challenge icon

التحدي

مبتدئ

أنت تساعد متجر حيوانات أليفة في إنشاء نظام لتحديد ما إذا كان بإمكانهم بيع حيوان أليف لعميل.

قم بتهيئة المتغيرات التالية:

  • hasLicense بالقيمة true
  • hasSpace بالقيمة false
  • hasExperience بالقيمة true

اكتب التعبيرات المنطقية التالية لتحديد ما إذا كان:

  • canSellRegularPet: يحتاج العميل إما إلى رخصة أو خبرة، ويجب أن تتوفر لديه مساحة
  • canSellExoticPet: يحتاج العميل إلى كل من الرخصة والخبرة، ويجب أن تتوفر لديه مساحة
  • cannotSellAnyPet: ليس لدى العميل رخصة وليس لديه خبرة، أو ليس لديه مساحة
  • result: canSellRegularPet أو canSellExoticPet أو cannotSellAnyPet

نصيحة: اكتب الشرط الذي يصفه المتطلب، وليس القيمة التي يحملها المتغير حاليًا. "Must have space" ← hasSpace؛ "has NO space" ← !hasSpace. استخدم ! فقط عندما يكون المتطلب هو عكس ما ينص عليه اسم المتغير، مثل "has NO license" ← !hasLicense.

جرّب بنفسك

public class Main {
    public static void main(String[] args) {
        // تهيئة المتغيرات
        

        // حساب الشروط
        boolean canSellRegularPet = 
        boolean canSellExoticPet = 
        boolean cannotSellAnyPet =
        boolean result =

        // لا تحذف الأسطر أدناه
        System.out.println("Can sell regular pet: " + canSellRegularPet);
        System.out.println("Can sell exotic pet: " + canSellExoticPet);
        System.out.println("Cannot sell any pet: " + cannotSellAnyPet);
        System.out.println("Result: " + result);
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Fundamentals