التمرين الأول: فهم الحلقات وتتبع تنفيذها اختر الإجابة الصحيحة بعد تحليل فكرة الحلقة أو تتبع تنفيذ المقطع البرمجي. ما الفائدة الأساسية من استخدام الحلقات التكرارية في البرامج؟ شرح السؤال اربط الحلقات بالمهام التي يتكرر فيها الأمر نفسه. حدّد الخيار الذي يقلل إعادة كتابة الكود يدويًا. تشغيل كل أمر في البرنامج مرة واحدة فقط تنفيذ كتلة من الأوامر عدة مرات بصورة آلية تحويل جميع القيم النصية إلى أعداد اختيار مسار واحد من عدة مسارات شرطية الإجابة الصحيحة: تنفيذ كتلة من الأوامر عدة مرات بصورة آليةتسمح الحلقة بإعادة تنفيذ كتلة واحدة من الأوامر وفق شرط أو سلسلة قيم، فتختصر الكود وتقلل التكرار اليدوي. ما الفرق الجوهري بين if وwhile عند تحقق الشرط؟ شرح السؤال كلتا البنيتين تختبران شرطًا منطقيًا. ركّز على عدد مرات تنفيذ الكتلة ما دام الشرط صحيحًا. تكرر if الكتلة، وتنفذها while مرة واحدة لا يوجد فرق بينهما عند تحقق الشرط تنفذ if الكتلة مرة، وتكررها while ما دام الشرط صحيحًا تستخدم if للأعداد فقط، وتستخدم while للنصوص فقط الإجابة الصحيحة: تنفذ if الكتلة مرة، وتكررها while ما دام الشرط صحيحًاتختبر if الشرط لاتخاذ قرار في تلك اللحظة، أما while فتعيد الاختبار قبل كل دورة وتواصل التكرار ما دامت النتيجة True.لهذا يجب أن تتضمن حلقة while عادةً إجراءً يقرّب شرطها من التوقف، بينما لا تحتاج جملة if إلى ذلك كي تنتهي. ما المخرجات الرقمية للمقطع الآتي؟counter = 2 while counter <= 5: print(counter) counter += 1 شرح السؤال ابدأ بالقيمة الابتدائية للعداد ثم افحص الشرط قبل كل دورة. سجّل القيمة المطبوعة قبل زيادة العداد. 1 2 3 4 5 2 3 4 2 3 4 5 6 2 3 4 5 الإجابة الصحيحة: 2 3 4 5تبدأ قيمة counter بالعدد 2 وتزداد واحدًا بعد كل طباعة. تُطبع القيمة 5 لأنها تحقق عامل أصغر من أو يساوي، ثم يصبح العداد 6 فيفشل الشرط وتنتهي الحلقة. لماذا تصبح الحلقة الآتية حلقة لانهائية؟counter = 1 while counter <= 5: print(counter) شرح السؤال افحص المتغير الذي يعتمد عليه شرط الاستمرار. ابحث عما إذا كانت قيمته تتغير داخل الحلقة. لأن قيمة counter لا تتغير فيظل الشرط صحيحًا لأن print() تعيد تشغيل البرنامج من بدايته لأن المسافة البادئة تمنع اختبار الشرط لأن العامل <= غير مسموح داخل while الإجابة الصحيحة: لأن قيمة counter لا تتغير فيظل الشرط صحيحًاتبقى قيمة العداد 1 في كل دورة، ولذلك تظل المقارنة counter <= 5 صحيحة وتستمر طباعة العدد نفسه بلا توقف.لماذا الخيارات الأخرى خاطئة؟ دالة print() لا توقف الحلقة، والمسافة البادئة صحيحة، كما أن عامل المقارنة صالح؛ المشكلة هي غياب تحديث العداد داخل الكتلة.