بسم الله الرحمن الرخيم
مرحبا بكم مجددا بعد ان ناقشنا في الدروس السابقة العديد من المفاهيم
اكرر هذه المقولة دائما يجب مراجعة الدروس السابقة لكي تستطيعوا فهم ما سيتم ذكره في هذا الدرس حيث نافشنا في :
الدرس الأول مفهوم البرمجة و فكرة عمل البرمجة والأهداف من تعلمها ونماذج البرمجة ويمكن الإطلاع عليه من هنا
الدرس الثاني احد نماذج البرمجة وهو البرمجة المنظمة ويمكن الإطلاع عليه من هنا
الدرس الثالث انتقلنا الي نموذج البرمجة الإجرائية وناقشنا فيه المتغيرات والمصفوفات والقواميس ومتغيرات خالية القيمة وكيفية التعامل معها الإطلاع عليه من هنا
نبدا الأن مع الدرس الرابع لنبدا بسم الله الرحمن الرحيم
Lecture 4 :
بعد ان ناقشنا في الدرس السابق جزء من نموذج البرمجة الإجرائية وهو مفهوم المتغيرات سنكمل في هذا الدرس نموذج البرمجة الإجرائية سنبدا بالتحدث عن
التحكم في سير البرنامج عن طريق المتغيرات
احيانا نريد ان نغير مسار تنفيذ الكود في البرنامج
وهذه الطريقة تتم عن طريقة دمج المتغيرات مع الشروط
ويتم هذا في البرامج الضخمة التي تحتوي علي تشعيبات كثيرة
ننتقل الأن الي الشروط وكيفية التعامل معها وجمل الشروط:
نبدأ بالجملة الشرطية اﻷشهر في عالم البرمجة وهي if
يمكننا ترجمة هذا الكود الي اذا تحقق الشرط نفذ الكود التالي
if(__1__){__2__}
في الخانة الأولي نكتب الشرط الذي نريد التحقق منه
مثلا اذا كانت قيمة متغير اقل من قيمة محددة او اكبر من قيمة محددة سنعطي مثال لنوضح اﻷمر
الخانة الثانية كود الشرط الذي يتحقق في حالة تحقق الشرط
فيقوم هذا الكود بأخذ قيمة درجة التلميذ من المستخدم واذا كانت القيمة اقل من قيمة 50 او تساويها يقوم البرنامج بطباعة faild
واذا كانت قيمة اكبر من 50 واقل من 100 يقوم بطباعة passed
وفي النهاية اذا لم يتحقق اي شرط يقوم البرنامج بطباعة
enter correct data
لاحظتم اننا قمنا باستخدام علامة && وهذه العلامة التي سنشرحها مستقبلا ولكن يكفي معرفة الأن ان هذه العلامة توفر لنا امكانية وضع شرطين وتشترط هذه العملية تحقق الشرطين معين
هذا الكود يوضح آلية عمل شرط if
ويمكن ايضا اضافة عدة شروط تنفذ اذا لم يتحقق الشرط الأول
دعنا نوضح اكثر
if(__){__}
else if(__){__}
else if(__){__}
else{__}
الكود الذي في الأعلي سيوضح لنا فكرة الشروط اكثر
يذهب البرنامج للشرط الأول اذا لم يتحقق ينتقل البرنامج الي
else if الأولي واذا لم يتحقق شرطها ينتقل الي else if الثانية
واذا لم يتحقق شرطها ينتقل البرنامج في النهاية تنفيذ كود else
حسنا توجد طريقة اخري مع الشروط وهي طريقة switch case
حيث نعطي داخل switch متغير ويقوم البرنامج بمقارنة قيمة المتغير مع قيمة معطاه تسمي case واذا تساوت قيمة المتغير مع case يتم تطبيق كود الموجود داخل case
مثال لكي نفهم طريقة العمل
فقمنا بعمل ما يسمي الحلقة اللانهائية والتي سنضع كود البرنامج الخاص بنا داخل هذه الحلقة لكي يستمر كود البرنامج بالعمل لمالانهاية
نلاحظ عندما نضع x بقيمة 1 يقوم البرنامج مقارنة قيمة x مع كل cases الموجوده داخل switch حتي يصل الي متي تتساوي قيمة x بواحد وعندما يجد هذه case يقوم بتنفيذ كود الموجود داخل case
ثم يخرج خارج switch عن طريق امر break
وهناك case تسمي ب default والتي يتم تنفيذها في حالة لم تتساوي x مع اي case من الموجودة داخل switch
ولتوضيح اهمية امر break في هذا الكود قمنا بعمل هذه التجربة
قمنا بحذف break من الكود ولنري ماذا يحدث
فبدون امر break يقوم الكود بعمل مساواة لقيم case مع قيمة المتغير x وعندما يجد case يقوم بتنفيذ الكود الموجود فيها ثم لايخرج بل يقوم بتنفيذ اكواد باقي cases كما هو واضح في الأعلي
فبدون امر break يقوم الكود بعمل مساواة لقيم case مع قيمة المتغير x وعندما يجد case يقوم بتنفيذ الكود الموجود فيها ثم لايخرج بل يقوم بتنفيذ اكواد باقي cases كما هو واضح في الأعلي
فنقوم بكتابة امر break لكي نخرج من case ولا يشترط كتابة break في آخر case لان البرنامج بعد تنفيذها يخرج تلقائيا من switch
ننتقل الأن الي موضوع آخر من الشروط وهو الحلقات التكرارية
حيث هذه الأوامر تقوم بتكرار كود موجود داخل الشرط عدد مرات محدد او غير محدد
مثل while for do while
نبدا ب شرط for
الغرض من هذا الأمر تنفيذ كود عدد معين من المرات ويكتب داخل الكود عداد ويكون العداد في صورة متغير
وثم يكتب الشرط الذي يتم علي العداد مثلا لو كان العداد اقل من 5
ثم يكتب العملية التي تتم علي العداد مثل اجمع واحد علي العداد او اطرح واحد من العداد
ويكتب داخلها كود الشرط
for(__1__;__2__;__3__){__4__}
في الخانة الأولي يكتب العداد ويكون من نوع رقم ونعطي له قيمة التي نريد ان يبدأ العد منها
الخانة الثانية نكتب الشرط الذي سيستمر الكود في الدوران حتي لا يتحقق الشرط
الخانة الثالثة نكتب فيها العملية علي العداد مثل جمع واحد او طرح واحد
والخانة الرابعة ننفذ كود الشرط او ما يتم تكراره
مثال
for(int counter=0;counter<5;++counter){__}
سنوضح لكم فائدة for loop في اكواد لكي تتضح الفكرة
10 مرات وايضا طباعة قيمة المتغير
حسنا ماذا يمكننا ان نفعل ايضا مع for loop
يمكننا ايضا طباعة المصفوفات
قمنا سابقا باستخدام هذا الكود لطباعة المصفوفة والذي يعد سئ من ناحية الأداء
والتي سيتحصل عليها كما في الصورة الآتية
تتشابه هذه الشروط مع if حيث عندما يتحقق الشرط يتنفذ الكود
لكن تتميز while بعدة خصائص فعند تحقق الشرط يظل الكود في دوران لانهائي حتي يتم كسر الشرط وتتشابه مع if من ناحية syntax
while(__1__){__2__}
حيث يتم كتابة الشرط في الحلقة الأولي ثم كتابة جواب الشرط في الحلقة الثانية
ننتقل الي do while
الفرق بينها وبين while انه يتم تنفيذ جواب الشرط في البداية ثم يتم التحقق في الشرط وفي حالة كان الشرط محقق يتم تنفيذ الكود مره اخري حيث يتم كسر الشرط فيكمل الكود باقي مساره
do{__1__}while(__2__);
يكتب في الخانة الأولي جواب الشرط والخانة الثانية شرط التحقق
هناك بعض الجمل الشرطية التي لا تعمل مع لغة C وتعمل مع لغات اخري هي تختلف في syntax ولكن متفقة في طريقة التنفيذ
مثل امر unless يقوم البرنامج بتنفيذ كود جواب الشرط في حالة لم يتحقق الشرط
جملة given when وهي تماثل switch case حيث تعمل علي نفس المبدأ
جملة for each وهي تماثل for loop وتعمل علي نفس المبدأ ايضا
جملة until التي تقوم بتكرار الكود لعدد لانهائي حتي يتم كسر الشرط وتشبه while في نفس المبدأ في العمل
في نهاية هذا الدرس نكون قد انتهينا من اهم نموذج من نماذج البرمجة الإلزامية وهو البرمجة الإجرائية
نتطرق في الدرس القادم لنتحدث عن البرمجة المعتمدة علي الأحداث
ومصطلح شهير جدا يسمي البرمجة الكائنية OOP
نلتقي في الدرس القادم
تصميم : بلال حسان سعدي