الدرس(11) القيم المنطقية (Booleans) ومعاملات المقارنة.

رقم الدرس 11
آخر تحديث 2025/07/19
تقدم القراءة

الدرس الحادي عشر: بوصلة البرنامج


لقد أمضينا الرحلة الماضية في تعلم كيفية جمع وتخزين وتشكيل “حمولة” برنامجنا: البيانات. لكن السفينة التي تحمل هذه الحمولة حتى الآن لا تملك دفة أو بوصلة. إنها تبحر في خط مستقيم واحد مهما كانت الأحوال. ماذا لو كان بإمكانك تزويد سفينتك ببوصلة ذكية تخبرها: “إذا كانت العاصفة قادمة من الشمال، اتجه شرقاً”؟ هذه البوصلة ليست جهازاً معقداً، بل هي أبسط مفهوم في المنطق: صحيح أو خطأ. اليوم، لن تتعلم مجرد نوع بيانات جديد، بل ستكتشف “الشرارة” التي تجعل برامجك تتخذ قرارات وتتحول من مجرد آلة حاسبة إلى كيان ذكي.

أين نحن الآن؟ وماذا بعد؟


لقد أتقنت **الجزء الثاني: التعامل مع البيانات**. تعلمت كيف تنشئ متغيرات، تختار أنواع البيانات المناسبة، تجري العمليات الحسابية، وتتلاعب بالنصوص. لقد قمت ببناء “محرك” و “مخزن حمولة” سفينتك.
الآن، ندخل الجزء الثالث: التحكم في مسار البرنامج. في هذا القسم، سنتعلم كيف نركب “دفة القيادة” و “البوصلة”. سنتعلم كيف نجعل برامجنا تتخذ قرارات، تكرر المهام، وتتفاعل مع الظروف المتغيرة. سنحول برامجنا من برامج خطية إلى برامج ديناميكية وذكية. والبداية تكون مع حجر الأساس لكل قرار: القيم المنطقية.


ماذا ستتقن في هذا الدرس؟


فهم الدور الحاسم للقيم المنطقية (boolean) كأساس لاتخاذ القرار.
استخدام معاملات المقارنة الستة (==, !=, >, <, >=, <=) لطرح أسئلة على الكود.
إدراك أن نتيجة أي عملية مقارنة هي دائماً قيمة منطقية (true أو false).
كتابة تعابير منطقية بسيطة وتخزين نتائجها في متغيرات من نوع boolean.

الفصل الأول: عالم الأبيض والأسود
1

أساس كل قرار


في أعماق كل قرار معقد يتخذه أي برنامج في العالم – من تحديد مسار صاروخ إلى التوصية بفيلم لك – يوجد سؤال بسيط جداً يمكن الإجابة عليه بـ “نعم” أو “لا” فقط. في عالم البرمجة، “نعم” هي true (صحيح)، و “لا” هي false (خطأ).
هذا هو عالم المنطق البولياني (Boolean Logic)، وهو عالم بسيط بشكل مدهش. لا توجد مناطق رمادية. إما أن يكون الشيء صحيحاً، أو أن يكون خاطئاً.

القيم المنطقية (boolean)


هو نوع بيانات أساسي يمكنه حمل قيمتين فقط: true أو false. إنه بمثابة “مفتاح الضوء” للبرنامج، إما ON (true) أو OFF (false). سمي بذلك نسبة إلى عالم الرياضيات جورج بول (George Boole).

تذكر، عندما تعرف متغيراً من نوع boolean، لا تضع القيمة بين علامات اقتباس.
boolean isLoggedIn = true; (صحيح)
boolean isLoggedIn = “true”; (خطأ، هذا نص وليس قيمة منطقية)

الفصل الثاني: طرح الأسئلة الصحيحة (معاملات المقارنة)
2

أدوات الاستجواب


كيف نحصل على قيمة true أو false؟ نحصل عليها عن طريق طرح أسئلة على بياناتنا باستخدام معاملات المقارنة (Comparison Operators). هذه المعاملات تقارن بين قيمتين، و”تجيب” دائماً بـ true أو false.
إليك أدوات الاستجواب الست:
== (هل يساوي؟ – Equal to): هل القيمتان متساويتان؟ (لاحظ وجود علامتي يساوي، علامة واحدة = هي للإسناد وليست للمقارنة! هذا خطأ شائع جداً.)
!= (هل لا يساوي؟ – Not equal to): هل القيمتان مختلفتان؟
> (هل أكبر من؟ – Greater than)
< (هل أصغر من؟ – Less than)
>= (هل أكبر من أو يساوي؟ – Greater than or equal to)
<= (هل أصغر من أو يساوي؟ – Less than or equal to)
شاهد هذه الأدوات وهي تعمل.

اضغط على "تشغيل" لعرض النتيجة هنا.

رسائل النظام ستظهر هنا.

جاهز
السطر 1, العمود 1

الفصل الثالث: تخزين الإجابات

3

الاحتفاظ بالقرار


في كثير من الأحيان، لا تريد فقط طباعة نتيجة المقارنة، بل تريد تخزينها لاستخدامها لاحقاً في اتخاذ قرار. بما أن نتيجة أي مقارنة هي true أو false، فإن المكان المثالي لتخزينها هو متغير من نوع boolean.
هذا يجعل الكود أكثر وضوحاً وقابلية للقراءة. بدلاً من كتابة شرط طويل ومعقد، يمكنك تقسيمه إلى أسئلة بسيطة وتخزين إجاباتها.

اضغط على "تشغيل" لعرض النتيجة هنا.

رسائل النظام ستظهر هنا.

جاهز
السطر 1, العمود 1

أسماء المتغيرات المنطقية


من التقاليد الجيدة أن تبدأ أسماء المتغيرات المنطقية بـ is, has, can (مثل isLoggedIn, hasPermission, canFly). هذا يجعل الكود يبدو وكأنه جملة إنجليزية طبيعية عند قراءته.


ماذا ستكون قيمة المتغير result بعد تنفيذ الكود التالي: boolean result = (10 != 10);؟







خلاصة رحلة اليوم


لقد قمت اليوم بتركيب “البوصلة” في سفينة برنامجك. تعلمت أن كل قرار، مهما كان معقداً، يبدأ بسؤال بسيط إجابته true أو false. أتقنت استخدام أدوات الاستجواب الست (معاملات المقارنة) لطرح هذه الأسئلة، وأدركت أن نتيجة أي سؤال هي دائماً قيمة منطقية. لقد وضعت حجر الأساس الذي ستبني عليه كل هياكل التحكم والقرارات في رحلتك البرمجية.

أول قرار حقيقي


الآن بعد أن أصبح لديك “بوصلة” يمكنها أن تعطيك إجابة true أو false، كيف تستخدم هذه الإجابة لتغيير مسار السفينة فعلياً؟ في الدرس القادم، سنتعلم عن أول وأهم هيكل لاتخاذ القرار في البرمجة: جملة if…else الشرطية. سنتعلم كيف نقول للبرنامج: “إذا كانت النتيجة true، افعل هذا. وإلا، افعل ذلك”.

🔐 سجل دخولك لحفظ التقدم

سجل دخولك لحفظ تقدمك والحصول على شهادة إتمام

تسجيل الدخول