الدرس(12) جملة If...Else الشرطية.

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

الدرس الثاني عشر: تركيب الدفة


في الدرس الماضي، قمنا بتركيب “بوصلة” لبرنامجنا. أصبح بإمكانه الآن أن يشعر بالبيانات من حوله ويجيب بـ true أو false. لكن، ما فائدة البوصلة التي تشير إلى وجود جبل جليدي، إذا كانت دفة السفينة مقفلة وتتجه مباشرة نحوه؟ برنامجنا يعرف الحقيقة، لكنه لا يستطيع التصرف بناءً عليها. اليوم، سنقوم بتركيب “الدفة” (The Rudder). سنتعلم الأداة التي تسمح لبرنامجنا باتخاذ مسارات مختلفة بناءً على تلك الإجابات. هذه هي اللحظة التي يتحول فيها الكود من مجرد سلسلة أوامر متتالية إلى كيان ذكي قادر على اتخاذ القرارات. أنت لا تتعلم مجرد بناء جملة جديد، بل تمنح برنامجك الإرادة الحرة.

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


لقد أتقنت استخدام “البوصلة” (القيم المنطقية ومعاملات المقارنة) لمعرفة حالة العالم من حول برنامجك. الآن، في هذا الدرس، سنستخدم هذه المعرفة لتركيب “دفة القيادة”. ستتعلم كيف تجعل البرنامج يغير مساره ويتخذ قرارات حقيقية. هذا هو أول وأهم هيكل تحكم ستتعلمه، وهو أساس البرامج الذكية والديناميكية.

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


فهم الغرض من جملة if الشرطية كأساس لاتخاذ القرار.
كتابة كتلة if بسيطة لتنفيذ كود فقط عندما يكون الشرط true.
استخدام جملة else لتوفير مسار بديل للتنفيذ.
ربط شروط متعددة باستخدام else if للتعامل مع سيناريوهات معقدة.
استيعاب مفهوم “كتلة الكود” (Code Block) وأهمية الأقواس المتعرجة {}.

الفصل الأول: لحظة الاختيار (جملة if)
1

المسار الوحيد


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

كتلة الكود (Code Block)


هي مجموعة من الأوامر البرمجية محاطة بأقواس متعرجة {}. عندما يتم استدعاء كتلة الكود (في جملة if على سبيل المثال)، يتم تنفيذ جميع الأوامر الموجودة بداخلها معًا كوحدة واحدة.

هذه هي البنية الأساسية:
if (الشرط هنا يجب أن يكون نتيجته true أو false) { // كتلة الكود التي سيتم تنفيذها إذا كان الشرط true }
لنرَ كيف يعمل هذا الحارس.

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

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

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


الفصل الثاني: الطريق البديل (جملة else)
2

خياران، مصير واحد


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

ملاحظة هامة


جملة else لا تأخذ شرطًا أبدًا. إنها تعمل كمظلة تلتقط كل الحالات التي لم يتمكن شرط if من التقاطها.

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

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

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


الفصل الثالث: مفترقات طرق متعددة (جملة else if)
3

سلسلة من القرارات


الحياة ليست دائمًا خيارًا بين أمرين. أحيانًا، تواجهك سلسلة من القرارات. “هل تريد الذهاب إلى السينما؟ لا. حسنًا، هل تريد الذهاب إلى المطعم؟ لا. حسنًا، هل تريد الذهاب إلى الحديقة؟ نعم.”
جملة else if تسمح لك ببناء هذه السلسلة من الخيارات. البرنامج سيتحقق من الشروط واحدًا تلو الآخر بالترتيب. عندما يجد أول شرط نتيجته true، سينفذ كتلته ويتجاهل تمامًا بقية السلسلة. إذا لم يتحقق أي شرط، فسيتم تنفيذ كتلة else النهائية (إذا كانت موجودة) كخيار افتراضي.

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

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

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








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


اليوم، أنت لم تكتب كودًا فحسب، بل نفخت فيه روح الذكاء. لقد حولت برنامجك من آلة تتبع التعليمات بشكل أعمى إلى كيان يمكنه الملاحظة (boolean) واتخاذ القرار (if). تعلمت كيف توجهه في مسار واحد مع if، وكيف تعطيه خيارًا بديلاً مع else، وكيف ترسم له خريطة طرق معقدة باستخدام else if. لقد قمت بتركيب “الدفة”، وبرنامجك الآن جاهز للإبحار في بحار المنطق المعقدة.

الخطوة التالية: قرارات أكثر تعقيدًا


لقد أتقنت بناء مفترق الطرق الأساسي باستخدام `if…else`. لكن ماذا لو كان الطريق الذي تختاره يؤدي إلى مفترق طرق آخر؟ ماذا لو كان عليك الاختيار بين سبعة مسارات مختلفة بناءً على يوم الأسبوع؟ في الدرس القادم، سننتقل من القرارات البسيطة إلى هياكل منطقية أكثر تعقيدًا. سنتعلم كيف نبني قرارات “متداخلة” داخل قرارات أخرى، وسنكشف عن أداة متخصصة وأنيقة تسمى `switch`، مصممة خصيصًا لجعل الاختيارات المتعددة واضحة وفعالة.

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

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

تسجيل الدخول