مقدمة
في الدروس السابقة تعلمنا أساسيات مهمة في لغة C++، مثل المتغيرات، وأنواع البيانات، والعمليات الحسابية والمنطقية، وإدخال وإخراج البيانات، والتحويل بين أنواع البيانات.
لكن حتى الآن، كانت البرامج التي تخيلناها تنفذ جميع التعليمات بنفس الترتيب في كل مرة.
في الواقع، البرامج الحقيقية لا تعمل بهذه الطريقة.
فهي تحتاج إلى اتخاذ قرارات باستمرار.
على سبيل المثال:
- لعبة يجب أن تعرف هل اصطدمت الشخصية بالعدو أم لا.
- برنامج هندسي يجب أن يتحقق من صحة القيم التي أدخلها المستخدم.
- نظام تشغيل يجب أن يقرر هل يسمح لبرنامج معين بالعمل أم لا.
- برنامج مصرفي يجب أن يتحقق من وجود رصيد كافٍ قبل تنفيذ عملية السحب.
كل هذه القرارات تعتمد على الجمل الشرطية (Conditional Statements).
---
ما هي الجمل الشرطية؟
الجمل الشرطية هي تعليمات تسمح للبرنامج باختيار ما يجب تنفيذه اعتمادًا على نتيجة شرط معين.
بمعنى آخر، يقوم البرنامج بطرح سؤال بسيط:
هل الشرط صحيح؟
إذا كانت الإجابة نعم، ينفذ مجموعة من التعليمات.
أما إذا كانت الإجابة لا، فقد ينفذ تعليمات أخرى أو يتجاوزها.
وبذلك يصبح البرنامج قادرًا على التفاعل مع البيانات والظروف المختلفة.
---
لماذا تحتاج برامج C++ إلى الجمل الشرطية؟
تُستخدم C++ في تطوير برامج تتطلب سرعة عالية ودقة كبيرة، مثل:
- الألعاب.
- أنظمة التشغيل.
- محركات الرسوميات.
- البرامج الهندسية.
- الأنظمة المدمجة.
- الروبوتات.
ولا يمكن لهذه البرامج أن تعمل بالطريقة نفسها في جميع الحالات.
بل يجب أن تتخذ قرارات في أجزاء من الثانية، بناءً على المعلومات التي تستقبلها.
---
كيف يتخذ البرنامج القرار؟
يعتمد برنامج C++ على الشروط المنطقية.
كل شرط تكون نتيجته واحدة من اثنتين فقط:
- صحيح (True).
- خطأ (False).
ثم يختار البرنامج المسار المناسب بناءً على هذه النتيجة.
وهذا يعني أن جميع القرارات داخل البرنامج تبدأ بسؤال بسيط تكون إجابته إما نعم أو لا.
---
أمثلة من الحياة اليومية
تخيل إشارة المرور.
إذا كان الضوء أخضر، تتحرك السيارات.
أما إذا كان أحمر، تتوقف.
أو تخيل بابًا إلكترونيًا.
إذا كانت البطاقة صحيحة، يُفتح الباب.
أما إذا كانت غير صحيحة، يبقى الباب مغلقًا.
هذه أمثلة على اتخاذ القرار اعتمادًا على شرط.
والبرامج تعمل بالطريقة نفسها.
---
أين تستخدم الجمل الشرطية؟
ستجدها في معظم برامج C++، مثل:
- تحديد نتيجة اللاعب في الألعاب.
- اكتشاف الاصطدام بين الأجسام.
- التحقق من صحة البيانات.
- التحكم في الروبوتات.
- تشغيل الأجهزة الإلكترونية.
- البرامج العلمية والهندسية.
فهي من أكثر المفاهيم استخدامًا في البرمجة.
---
لماذا تعد الجمل الشرطية مهمة جدًا في C++؟
لأن C++ تُستخدم غالبًا في البرامج التي تتعامل مع الزمن الحقيقي (Real-Time).
فمثلًا، إذا اكتشفت سيارة ذاتية القيادة وجود عائق أمامها، يجب أن تتخذ قرارًا فورًا بالتوقف أو تغيير الاتجاه.
ولو لم تكن هناك جمل شرطية، لما استطاع البرنامج اتخاذ مثل هذه القرارات.
ولهذا تُعد من أهم الأدوات التي تمنح البرامج القدرة على الاستجابة للأحداث.
---
العلاقة بين الجمل الشرطية والعمليات المنطقية
الجمل الشرطية لا تعمل بمفردها.
بل تعتمد على:
- المتغيرات لتخزين البيانات.
- عمليات المقارنة للمقارنة بين القيم.
- العمليات المنطقية لربط أكثر من شرط.
ثم تستخدم نتيجة هذه العمليات لاتخاذ القرار المناسب.
وهذا يوضح أن جميع الدروس السابقة أصبحت الآن تعمل معًا داخل البرنامج.
---
ماذا يحدث إذا لم يتحقق الشرط؟
إذا كانت نتيجة الشرط خطأ، فقد يقوم البرنامج بما يلي:
- تنفيذ تعليمات أخرى.
- تجاهل العملية.
- الانتقال إلى شرط جديد.
- إنهاء الجزء الحالي من التنفيذ.
وهذا يمنح البرنامج مرونة كبيرة في التعامل مع مختلف المواقف.
---
أخطاء شائعة عند المبتدئين
من الأخطاء الشائعة الاعتقاد أن الجمل الشرطية تُستخدم فقط في الألعاب.
لكن الحقيقة أنها موجودة في جميع أنواع البرامج تقريبًا.
كما يظن بعض المبتدئين أن البرنامج يستطيع اتخاذ قرار دون شرط، بينما في الواقع يعتمد كل قرار على نتيجة شرط منطقي تكون إما صحيح أو خطأ.
---
ملخص الدرس
تعرفنا في هذا الدرس على الجمل الشرطية (Conditional Statements)، وعرفنا أنها الأداة التي تجعل برامج C++ قادرة على اتخاذ القرارات بناءً على البيانات والشروط المختلفة. كما تعلمنا أنها تُستخدم في جميع المجالات التي تعمل بها C++، من الألعاب والأنظمة المدمجة إلى البرامج الهندسية، وأنها تمثل نقطة التحول من البرامج الثابتة إلى البرامج الذكية القادرة على التفاعل مع ما يحدث أثناء التشغيل.
في الدرس الثامن سنتعرف على الحلقات التكرارية (Loops)، وسنفهم كيف تجعل C++ تنفذ مجموعة من التعليمات عدة مرات بكفاءة، دون الحاجة إلى تكرار كتابة الأوامر.



