أساسيات البرمجة للمبتدئين بالعربية مع تمارين عملية

جمل الشرط في البرمجة

مفهوم جمل الشرط في لغات البرمجة يوجد ثلاث جمل متعارف عليها يمكن إستخدامها لوضع شروط تحدد ما إن كان يجب تنفيذ كود معين أم لا. الجمل المستخدمة في وضع...
وقت الدراسة
14 دقيقة

المسار: أساسيات البرمجة الوحدة: العوامل والشروط

مدخل إلى الدرس: جمل الشرط في البرمجة

مفهوم جمل الشرط في لغات البرمجة يوجد ثلاث جمل متعارف عليها يمكن إستخدامها لوضع شروط تحدد ما إن كان يجب تنفيذ كود معين أم لا. الجمل المستخدمة في وضع...

طريقة الدراسة: اقرأ التعريف، تتبّع المثال في الشرح، نفّذه بنفسك، ثم اختبر النتيجة والحالات الاستثنائية قبل الانتقال.

مفهوم جمل الشرط

في لغات البرمجة يوجد ثلاث جمل متعارف عليها يمكن إستخدامها لوضع شروط تحدد ما إن كان يجب تنفيذ كود معين أم لا.
الجمل المستخدمة في وضع الشروط هي if، else if، else.

ترتيب جمل الشرط في حال كنت ستستخدمها كلها هو التالي.

if ( هنا تضع شرط )
{
    هنا تضع الأوامر التي تريد
    تنفيذها إذا تحقق الشرط
}
else if ( هنا تضع شرط آخر )
{
    هنا تضع الأوامر التي تريد
    تنفيذها إذا تحقق الشرط
}
else
{
    هنا تضع الأوامر التي تريد تنفيذها
    في حال لم يتحقق أي شرط سابق
}

لست بحاجة إلى إستخدام الجمل الثلاثة في كل شرط تضعه، و لكنك مجبر على إستخدام جملة الشرط if في أي سلسلة شروط تكتبها.

جملة الشرط if

if تعني إذا تحقق الشرط.
و هي تستخدم لتنفيذ كود معين إذا تحقق شرط معين.


في المثال التالي قمنا بوضع شرط مفاده أنه إذا كانت قيمة المتغير s أكبر من 5 سيتم طباعة جملة "S is bigger than 5".

هنا عندما يصل محرر الكود إلى جملة الشرط سيسأل نفسه: هل قيمة s أكبر من 5؟
بما أنه سيجد أن الشرط تحقق ( أي جوابه true ) سيتم تنفيذ أمر الطباعة الموضوع فيه.

المثال الأول

var s = 20;

if(s > 5)
{
    write("S is bigger than 5.");
}

النتيجة

S is bigger than 5.

تمرين: انسخ المثال وجرّبه بنفسك، ثم عدّل القيم ولاحظ النتيجة.

تمرين تطبيقي: أعد كتابة المثال بنفسك، غيّر قيمة واحدة، وتوقع الناتج قبل التنفيذ.


هنا قمنا بإعادة المثال السابق و لكننا هذه المرة جعلنا قيمة المتغير s تساوي 0.

هنا عند يصل محرر الكود إلى جملة الشرط سيسأل نفسه: هل قيمة s أكبر من 5؟
بما أنه سيجد أن الشرط لم يتحقق ( أي جوابه false ) لن يتم تنفيذ أمر الطباعة الموضوع فيه.

المثال الثاني

var s = 0;

if(s > 5)
{
    write("s is bigger than 5.");
}

النتيجة

تمرين: انسخ المثال وجرّبه بنفسك، ثم عدّل القيم ولاحظ النتيجة.

تمرين تطبيقي: أعد كتابة المثال بنفسك، غيّر قيمة واحدة، وتوقع الناتج قبل التنفيذ.


نستنتج

  • إذا تحقق الشرط فهذا يعني أن جواب الشرط هو true.
  • إذا لم يتحقق الشرط فهذا يعني أن جواب الشرط هو false.
  • الكود الموضوع بداخل جملة الشرط يتم تنفيذه في حال تحقق الشرط فقط.

جملة الشرط else

else تعني إن لم يتحقق أي شرط سابق.
و هي تستخدم لتنفيذ كود معين في حال لم تتنفذ أي جملة شرطية موضوعة قبلها و لهذا السبب توضع في الآخر.

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


في المثال التالي وضعنا شرطين كالتالي:

  • الجملة if وضعناها لطباعة عبارة "This is my name" في حال كانت قيمة المتغير name تساوي "Mhamad".
  • الجملة else وضعناها لطباعة عبارة "Not my name!" في حال كانت قيمة المتغير name لا تساوي "Mhamad".

هنا بما أن الشرط الموضوع في الجملة if سيتحقق سيتم تنفيذ أمر الطباعة الموجود فيه.

المثال الأول

var name = "Mhamad";

if(name == "Mhamad")
{
    write("This is my name.");
}
else
{
    write("Not my name!");
}

النتيجة

This is my name.

تمرين: انسخ المثال وجرّبه بنفسك، ثم عدّل القيم ولاحظ النتيجة.

تمرين تطبيقي: أعد كتابة المثال بنفسك، غيّر قيمة واحدة، وتوقع الناتج قبل التنفيذ.


الآن سنقوم بإعادة المثال السابق و لكننا هذه المرة سنجعل قيمة المتغير name تساوي "Ramy".

هنا عندما يصل محرر الكود إلى جملة الشرط if سيسأل نفسه: هل قيمة name تساوي "Mhamad"؟
بما أنه سيجد أن الشرط لم يتحقق ( أي جوابه false ) سينتقل إلى الجملة else و ينفّذ أمر الطباعة الموضوع فيها.

المثال الثاني

var name = "Ramy";

if(name == "Mhamad")
{
    write("This is my name.");
}
else
{
    write("This is not my name!");
}

النتيجة

This is not my name!

تمرين: انسخ المثال وجرّبه بنفسك، ثم عدّل القيم ولاحظ النتيجة.

تمرين تطبيقي: أعد كتابة المثال بنفسك، غيّر قيمة واحدة، وتوقع الناتج قبل التنفيذ.


مشكلة قد تقع فيها عند مقارنة القيم

في الأمثلة السابقة لو كتبنا (name = "Mhamad") بدلاً من (name == "Mhamad") لأدى ذلك لحدوث مشكلة لأن محرر الكود سيرى أننا نحاول وضع "Mhamad" كقيمة في المتغير name بدلاً من مقارنة قيمته معها لأنه يفترض وضع شرط في جملة الشرط و ليس إسناد قيمة.

إذا كنت تريد مقارنة قيمتين مع بعض لمعرفة ما إن كانتا متساويتين أم لا إستخدم == و ليس =.

جملة الشرط else if

جملة else if تستخدم إذا كنت تريد وضع أكثر من شرط حيث يكون لديك أكثر من إحتمال.
جملة أو جمل الشرط else if يوضعون في الوسط أي بين الجملتين if و else.

عند وضع سلسلة من الشروط فإن محرر الكود سيقوم بالمرور عليهم الواحد تلو الآخر إلى أن يجد شرط واحد منهم قد تحقق.
بمجرد أن يجد شرط واحد من الشروط الموضوعة قد تحقق فإنه يقوم بتنفيذ الكود الموجود في حدوده و عند الإنتهاء يقوم بتجاوز جميع الشروط الموضوعة بعده.


في المثال التالي سيُطلب من المستخدم إدخال رقم شهر من أشهر السنة و على حسب الرقم الذي يدخله سنقوم بطباعة إسم الشهر المرادف له.

رقم الشهر الذي يدخله المستخدم سنقوم بتخزينه في المتغير month و من بعدها مباشرةً سنقوم بالتشييك على الرقم الذي أدخله و من ثم طباعة إسم الشهر المناسب.

ملاحظة: إن لم يكن رقم الشهر بين 1 و 12 فهذا يعني أن الرقم لا يمكن أن يشير لشهر محدد.

المثال الأول

write("Enter month number: ");
var month = read();

if(month == 1)
{
    write("January");
}
else if(month == 2)
{
    write("February");
}
else if(month == 3)
{
    write("March");
}
else if(month == 4)
{
    write("April");
}
else if(month == 5)
{
    write("May");
}
else if(month == 6)
{
    write("June");
}
else if(month == 7)
{
    write("Jul");
}
else if(month == 8)
{
    write("August");
}
else if(month == 9)
{
    write("September");
}
else if(month == 10)
{
    write("October");
}
else if(month == 11)
{
    write("November");
}
else if(month == 12)
{
    write("December");
}
else
{
    write("Cannot be a month!");
}

النتيجة: ستكون كما يلي إذا تم إدخال نفس القيمة التي تظهر بلون مختلف وقت التشغيل.

Enter month number: 3
March

تمرين: انسخ المثال وجرّبه بنفسك، ثم عدّل القيم ولاحظ النتيجة.

تمرين تطبيقي: أعد كتابة المثال بنفسك، غيّر قيمة واحدة، وتوقع الناتج قبل التنفيذ.

الصورة التالية توضّح كيف قام محرر الكود بالمرور على الشروط، و من ثم كيف توقف حين وصل إلى الشرط الثالث و نفّذ الكود الموضوع فيه، ثم كيف تجاوز جميع الشروط الموضوعة بعده.


لو وضعنا if بدل كل else if سيؤدي ذلك إلى أخطاء منطقية في الكود بمعنى أنه سيعمل و لكن النتيجة ستكون خاطئة.

المشكلة في هذه الحالة ستحدث لأن محرر الكود سيقوم باختبار جميع الشروط الموضوعة و حين يصل لآخر جملة if سيرى إن كانت قيمة المتغير month تساوي 12 أم لا و حين يجدها لا تساوي 12 سيقوم بتنفيذ الجملة else و بالتالي ستظهر لك نتيجة خاطئة.


هنا قمنا بإعادة المثال السابق و لكننا وضعنا if بدل كل else if حتى تلاحظ المشكلة المنطقية التي سيسببها ذلك.

المثال الثاني

write("Enter month number: ");
var month = read();

if(month == 1)
{
    write("January");
}
if(month == 2)
{
    write("February");
}
if(month == 3)
{
    write("March");
}
if(month == 4)
{
    write("April");
}
if(month == 5)
{
    write("May");
}
if(month == 6)
{
    write("June");
}
if(month == 7)
{
    write("Jul");
}
if(month == 8)
{
    write("August");
}
if(month == 9)
{
    write("September");
}
if(month == 10)
{
    write("October");
}
if(month == 11)
{
    write("November");
}
if(month == 12)
{
    write("December");
}
else
{
    write("Cannot be a month!");
}

النتيجة: ستكون كما يلي إذا تم إدخال نفس القيمة التي تظهر بلون مختلف وقت التشغيل.

Enter month number: 3
MarchCannot be a month!

تمرين: انسخ المثال وجرّبه بنفسك، ثم عدّل القيم ولاحظ النتيجة.

تمرين تطبيقي: أعد كتابة المثال بنفسك، غيّر قيمة واحدة، وتوقع الناتج قبل التنفيذ.

الصورة التالية توضّح كيف قام محرر الكود بالمرور على جميع الشروط.

مراجعة وتمرين تثبيت المهارة

اختبار سريع: اشرح بعبارتك معنى «جمل الشرط في البرمجة»، ثم بيّن أين ستستخدمه داخل برنامج صغير لحل مشكلة يومية مع مدخلات ونتائج يمكن التحقق منها، وما الخطأ الذي يجب اختباره قبل الاعتماد على الحل.

تحدٍّ إضافي: غيّر شرطًا واحدًا في التطبيق، وتوقع النتيجة، ثم نفّذ الاختبار وفسّر الاختلاف.

الدرس التالي: الشروط المتداخلة في البرمجة. من الأفضل إنهاء التجربة الحالية قبل متابعة الدرس التالي.

دروس نصية

#1

تعلم أساسيات البرمجة

#2

دالة الطباعة في البرمجة

#3

المتغيرات في البرمجة

#4

العوامل في البرمجة

#5

حلقات التكرار في البرمجة

#6

المصفوفات و أنواعها في البرمجة

#7

تعريف دوال جديدة في البرمجة

#8

محرر الكود للمبتدئين في البرمجة

#9

دمج البيانات في أساسيات البرمجة

#10

أنواع البيانات في البرمجة

#11

جمل الشرط في البرمجة

#12

الحلقة for في البرمجة

#13

المصفوفات الأحادية في البرمجة

#14

الإستدعاء الذاتي في البرمجة

#15

محلل الكود للمبتدئين في البرمجة

#16

أحرف الهروب في البرمجة

#17

دالة الإدخال في البرمجة

#18

الشروط المتداخلة في البرمجة

#19

الحلقة while في البرمجة

#20

المصفوفات الثنائية في البرمجة

#21

كتابة كود أقل في البرمجة

#22

التحقق من أنواع القيم في البرمجة

#23

الحلقة do while في البرمجة

#24

المصفوفات الثلاثية في البرمجة

#25

الخطوة التالية بعد تعلم أساسيات البرمجة

#26

الحلقات المتداخلة في البرمجة

#27

العمليات الحسابية المتسلسلة في البرمجة

#28

حساب قيمة العاملي للعدد في البرمجة

#29

حساب المضاعف للعدد في البرمجة

عرض الدروس كاملة تحقق من صفحة تعلم الدورة
درس نصي 2/29
أنت تشاهد
جمل الشرط في البرمجة