Summary
Highlights
يواصل المحاضر الحديث عن عبارات التحكم (Control Statements) في البرمجة، موضحًا أنها تنقسم إلى عبارات شرطية (Conditional Statements) التي تم تناولها سابقا، وعبارات تكرارية (Looping Statements) التي ستكون محور المحاضرة. يذكر أن هناك ثلاث عبارات تكرارية رئيسية: `for`، `while`، و `do while`، وسيتم التركيز في البداية على حلقة `for`.
يُشرح أن حلقة `for` تستخدم لتكرار جملة معينة لعدد محدد من المرات بناءً على شرط. يوضح المحاضر الحاجة إلى الحلقات التكرارية لتجنب تكرار كتابة الأوامر يدويًا لعدة مرات، مثل طباعة جملة معينة 100 مرة. يتم تعريف الكلمات المفتاحية `for` و `in` و `range`، ويتم شرح الصيغة العامة لحلقة `for` مع `range(start, end)`، وأن التكرار يبدأ من القيمة الأولى وينتهي قبل القيمة النهائية.
يقدم المحاضر مثالاً عمليًا لطباعة الأرقام من 1 إلى 10 باستخدام حلقة `for i in range(1, 11)` ثم `print(i)`. يشرح آلية عمل الحلقة حيث يأخذ المتغير `i` القيم بالتسلسل من البداية وحتى قبل نهاية المدى المحدد. يوضح أيضًا الفرق بين الأوامر التي تكون داخل التكرار (مسافة بادئة) والأوامر التي تكون خارجه.
يُشرح كيفية طباعة الأرقام الفردية بزيادة خطوتين (`range(1, 101, 2)`). ثم يوضح كيفية طباعة الأرقام الزوجية ببدء التكرار من رقم زوجي (`range(0, 101, 2)`). كما يشرح كيفية الطباعة التنازلية عن طريق تحديد قيمة بدء أكبر وقيمة نهاية أصغر مع خطوة سالبة (`range(100, -1, -2)` لطباعة الأرقام الزوجية تنازليًا).
يوضح المحاضر كيفية تكرار طباعة نص معين لعدد محدد من المرات. يستعرض مثالاً لطباعة اسمين 100 مرة. ثم يجيب على سؤال أحد الطلاب بخصوص إضافة ترقيم تلقائي للنصوص المطبوعة، حيث يوضح كيفية تعديل أمر `print` ليشمل المتغير `i` (الذي يمثل رقم التكرار) مع النص المطلوب، مما يؤدي إلى طباعة النصوص مرقمة.
ينتقل المحاضر لشرح مفهوم الحلقات المتداخلة، حيث تكون حلقة تكرارية داخل حلقة تكرارية أخرى. يضرب مثالاً بالساعة (ساعات، دقائق، ثواني) لتوضيح كيفية عمل الحلقات المتداخلة، حيث يجب أن تُكمل الحلقة الداخلية دورتها بالكامل قبل أن تنتقل الحلقة الخارجية خطوة واحدة. يوضح أن كل حلقة داخلية يجب أن يكون لها متغير خاص بها.
يقدم المحاضر مثالًا آخر للحلقات المتداخلة لإنشاء جداول الضرب. يوضح أن الحلقة الخارجية تمثل رقم جدول الضرب (من 1 إلى 12)، والحلقة الداخلية تمثل التكرارات داخل الجدول الواحد (من 1 إلى 12). يشرح كيفية كتابة الكود لطباعة هذه الجداول، وكيفية إضافة سطر فارغ بين كل جدول وآخر باستخدام `print('\n')` لتحسين التنسيق.
يلخص المحاضر البرامج التي تم تناولها في هذه المحاضرة، بما في ذلك طباعة النصوص المتكررة، والأعداد الفردية والزوجية، والطباعة التنازلية، والحلقات المتداخلة لجداول الضرب. يؤكد على أن الاختبار العملي سيشمل ثلاثة أو أربعة أسئلة من هذه البرامج والبرامج السابقة، وأن الاختبار العملي سيكون بعد إجازة العيد مباشرة.