الدرس 5 (موسع): هياكل التحكم الشرطية - الاختيار البسيط والمتعدد
حتى الآن، كانت خوارزمياتنا تسير في مسار واحد مستقيم، تنفذ التعليمات واحدة تلو الأخرى بنفس الترتيب دائمًا. لكن العالم الحقيقي مليء بالقرارات والخيارات. ماذا لو أردنا تنفيذ جزء من الكود فقط إذا تحقق شرط معين؟ هنا يأتي دور هياكل التحكم الشرطية (Conditional Control Structures)، التي تمنح خوارزمياتنا "ذكاء" اتخاذ القرار.
غوص أعمق: ما هو "تدفق التحكم"؟
تدفق التحكم (Control Flow) هو مصطلح يصف الترتيب الذي ينفذ به الحاسوب التعليمات. في الخوارزميات البسيطة السابقة، كان التدفق "تتابعيًا" (Sequential). هياكل التحكم (الاختيار والتكرار) هي أدواتنا لتغيير هذا التدفق وجعله "غير خطي"، مما يسمح بتنفيذ مسارات مختلفة بناءً على ظروف متغيرة.
1. الشرط: قلب عملية اتخاذ القرار
قبل أن نتعلم هياكل الاختيار، يجب أن نفهم أساسها: الشرط (Condition). الشرط هو عبارة يتم تقييمها ودائمًا ما تكون نتيجتها إحدى قيمتين: Vrai
(صحيح) أو Faux
(خطأ). تتكون الشروط عادة باستخدام عوامل المقارنة.
عوامل المقارنة (Comparison Operators)
العامل | المعنى | مثال | النتيجة (بافتراض age = 20) |
---|---|---|---|
= | يساوي | age = 18 | Faux |
<> أو != | لا يساوي | age <> 18 | Vrai |
> | أكبر تمامًا من | age > 18 | Vrai |
< | أصغر تمامًا من | age < 18 | Faux |
>= | أكبر من أو يساوي | age >= 20 | Vrai |
<= | أصغر من أو يساوي | age <= 20 | Vrai |
2. الاختيار البسيط: بنية Si...Alors...FinSi
بنية الاختيار البسيط (Simple Choice): تُستخدم لتنفيذ مجموعة من التعليمات فقط وفقط إذا كان الشرط صحيحًا (Vrai). إذا كان الشرط خاطئًا (Faux)، يتم تجاهل هذه التعليمات بالكامل وتكمل الخوارزمية طريقها من بعد FinSi
.
الصيغة العامة:
مثال تطبيقي: التحقق من علامة النجاح
المشكلة: كتابة خوارزمية تقرأ علامة طالب، وإذا كانت العلامة 10 أو أكثر، تطبع له رسالة تهنئة.
تحليل: إذا أدخل المستخدم 15، الشرط 15 >= 10
يكون Vrai
، فتُطبع رسالة التهنئة ثم "نهاية البرنامج". أما إذا أدخل 9، فالشرط يكون Faux
، ويتم القفز مباشرة إلى ما بعد FinSi
، فتُطبع "نهاية البرنامج" فقط.
3. الاختيار البديل: بنية Si...Alors...Sinon...FinSi
بنية الاختيار البديل (Alternative Choice): تُستخدم للاختيار بين مسارين مختلفين. إذا كان الشرط صحيحًا، يتم تنفيذ المجموعة الأولى من التعليمات. أما إذا كان الشرط خاطئًا، فيتم تنفيذ المجموعة الثانية (التي تلي Sinon
).
هنا، لا مفر من تنفيذ أحد المسارين. لا يمكن تنفيذهما معًا ولا تجاهلهما معًا.
الصيغة العامة:
مثال تطبيقي: التحقق من رقم زوجي أو فردي
المشكلة: كتابة خوارزمية تقرأ عددًا صحيحًا وتحدد ما إذا كان زوجيًا أم فرديًا.
مفتاح الحل: نستخدم عامل باقي القسمة MOD
. الرقم يكون زوجيًا إذا كان باقي قسمته على 2 يساوي 0.
4. الاختيارات المتداخلة والمتسلسلة: Si...SinonSi...
ماذا لو كان لدينا أكثر من خيارين؟ مثلاً، هل الرقم موجب أم سالب أم صفر؟ هنا نلجأ إلى "تداخل" أو "تسلسل" الشروط.
الصيغة العامة (الشكل الأفضل والأنظف):
ملاحظة: يتم تقييم الشروط بالترتيب. بمجرد أن يتحقق أول شرط (Vrai)، يتم تنفيذ الكتلة البرمجية الخاصة به ويتم تخطي باقي الشروط (SinonSi
و Sinon
) بالكامل.
مثال تطبيقي: تقدير العلامات
المشكلة: كتابة خوارزمية تقرأ معدل طالب وتعطي تقديرًا نصيًا.
5. الاختيار المتعدد: بنية Selon...Cas...FinSelon
بنية الاختيار المتعدد (Multiple Choice): تُستخدم عندما نريد مقارنة قيمة متغير واحد مع قائمة من القيم الثابتة المحددة. هي بديل أنظف وأكثر قراءة من سلسلة طويلة من Si...SinonSi
في هذه الحالة الخاصة.
الصيغة العامة:
مثال تطبيقي: قائمة طعام بسيطة
المشكلة: كتابة خوارزمية تطلب من المستخدم إدخال رقم (1, 2, 3) وتعرض اسم الطبق الموافق.
خلاصة الدرس الخامس
- هياكل التحكم الشرطية تسمح للخوارزمية بتنفيذ مسارات مختلفة بناءً على تقييم الشروط.
Si...Alors...FinSi
: للتنفيذ "المشروط". افعل شيئًا فقط إذا كان الشرط صحيحًا.Si...Alors...Sinon...FinSi
: للاختيار بين "بديلين". افعل هذا أو ذاك.Si...SinonSi...FinSi
: للاختيارات المتسلسلة والمعقدة (مثل التحقق من مجالات).Selon...Cas...FinSelon
: هو الخيار الأفضل والأنظف للاختيار من متعدد عندما يكون الشرط هو مقارنة متغير واحد بقيم ثابتة.- إتقان هذه الهياكل هو مفتاح كتابة خوارزميات قوية وقادرة على حل مشكلات العالم الحقيقي.