الدرس الرابع: حلقات التكرار (Loops)، العدادات البرمجية، وجداول تتبع القيم (Trace Tables)
تُمثّل حلقات التكرار (Looping / Iteration) القوة الحقيقية التي تميز الحواسيب في إنجاز ملايين العمليات في أجزاء من الثانية دون كلل أو خطأ. تُعرّف حلقة التكرار بأنها إعادة تنفيذ أمر برمجي أو مجموعة من الأوامر لعدد محدد من المرات أو طالما كان شرط معين محققاً. تتألف كل حلقة تكرار من أربعة أركان أساسية: القيمة الابتدائية للعداد (Counter Initialization)، وشرط استمرار التكرار (Loop Condition)، ومقدار الزيادة أو النقصان للعداد (Step)، وجسم الحلقة (Loop Body) الذي يحوي العمليات المكررة. ولإتقان فحص واختبار صحة الحلقات، يعتمد المبرمجون المحترفون على "جداول تتبع القيم" (Trace Tables)، وهي وسيلة تحليلية جدولية دقيقة لرصد تغير قيم المتغيرات والعدادات خطوة بخطوة واكتشاف قيم المخرجات وقيمة العداد النهائية عند إنهاء الحلقة وفق المعايير الوزارية والامتحانية المعتمدة.
1. الأركان الأربعة لحلقة التكرار
- 1. القيمة الابتدائية للعداد (Initial Value): مثل
I = 1وتوضع في مستطيل قبل بدء الحلقة. - 2. شرط استمرار التكرار (Condition): مثل
I ≤ 3 ?ويوضع في معين لاتخاذ القرار. طالما Yes يستمر التكرار، وإذا أصبح No يخرج من الحلقة. - 3. جسم الحلقة (Loop Body): التعليمات المطلوب تكرارها مثل
Print IأوSum = Sum + I. - 4. معدل تحديث العداد (Step / Update): مثل
I = I + 1في مستطيل داخل الحلقة، وهو المسؤول عن تقدم العداد نحو شرط النهاية وتجنب الحلقات اللانهائية.
2. مفهوم واستخدام جدول التتبع (Trace Table)
جدول التتبع: هو جدول تحليلي يدوي يستخدمه المبرمج لاختبار منطق الخوارزمية بمحاكاة عقل الحاسوب خطوة بخطوة:
| الدورة | قيمة العداد I | الشرط (I ≤ 3) | المخرجات Print | الزيادة I = I + 1 |
|---|---|---|---|---|
| 1 | 1 | True | 1 | 2 |
| 2 | 2 | True | 2 | 3 |
| 3 | 3 | True | 3 | 4 |
| الخروج | 4 | False | - | توقف الحلقة |
قاعدة امتحانية هامة: قيمة العداد I عند الخروج من الحلقة هي 4، بينما آخر قيمة طُبعت هي 3.
3. تطبيقات شائعة لحلقات التكرار
طباعة الأعداد الفردية
البداية I = 1، والزيادة I = I + 2 لتوليد المتتالية: 1، 3، 5، 7، 9...
طباعة الأعداد الزوجية
البداية I = 2، والزيادة I = I + 2 لتوليد المتتالية: 2، 4، 6، 8، 10...
تراكم المجموع (Accumulator)
تهيئة Sum = 0 ثم جمع العداد Sum = Sum + I في كل دورة لحساب المجموع.
تمرين 1: طباعة الأعداد من 1 إلى 3
المسألة: صمم خريطة تدفق لطباعة الأعداد من 1 إلى 3 مع جدول التتبع.
1.
Start.2.
I = 1.3.
Is I ≤ 3 ?:• Yes:
Print I ➔ I = I + 1 ➔ ارجع للخطوة 3.• No: انتقل للخطوة 4.
4.
End.• المخرجات: 1 ، 2 ، 3. وقيمة I بعد انتهاء الخريطة هي 4.
تمرين 2: مجموع الأعداد من 1 إلى 5
المسألة: احسب مخرجات خريطة تجمع الأعداد من 1 إلى 5 (Sum = 1 + 2 + 3 + 4 + 5).
• نبدأ بـ
Sum = 0 ، N = 1.• الدورة 1: Sum = 0 + 1 = 1 ، N = 2.
• الدورة 2: Sum = 1 + 2 = 3 ، N = 3.
• الدورة 3: Sum = 3 + 3 = 6 ، N = 4.
• الدورة 4: Sum = 6 + 4 = 10 ، N = 5.
• الدورة 5: Sum = 10 + 5 = 15 ، N = 6.
• عند N = 6 الشرط 6 ≤ 5 خطأ ➔ يخرج ويطبع
Sum = 15.
تمرين 3: جدول ضرب العدد 3
المسألة: صمم خريطة تدفق لطباعة جدول ضرب العدد 3 من 1 إلى 12.
1.
Start.2.
J = 1.3.
Is J ≤ 12 ?:• Yes:
Prod = J × 3 ➔ Print Prod ➔ J = J + 1 ➔ عد للمعين.• No: ➔
End.
تمرين 4: عدد مرات تنفيذ التكرار
المسألة: حلقة تكرار تبدأ بـ K = 1 وشرطها K < 10 ومقدار الزيادة K = K + 2، كم مرة يتكرر جسم الحلقة وما قيمة K النهائية؟
• قيم K داخل الحلقة: 1 ، 3 ، 5 ، 7 ، 9 (جميعها < 10).
• عدد مرات التكرار = 5 مرات.
• بعد الدورة الخامسة تصبح
K = 9 + 2 = 11.• عند 11 الشرط 11 < 10 خطأ فتتوقف الحلقة، وقيمة K النهائية = 11.
تمرين 5: الحلقة اللانهائية وسببها
المسألة: ماذا يحدث إذا نسي المبرمج كتابة أمر زيادة العداد I = I + 1 داخل الحلقة؟
• تظل قيمة العداد I ثابتة دائماً عند قيمتها الابتدائية (مثلاً 1).
• يظل شرط الاستمرار محققاً دائماً (1 ≤ 10 صواب للأبد).
• يدخل البرنامج في حلقة تكرار لا نهائية (Infinite Loop) ويتجمد الحاسوب ولا يصل لرمز النهاية مطلقاً.
تمرين 6: طباعة تنازلية (العد العكسي)
المسألة: صمم حلقة لطباعة الأعداد تنازلياً من 10 إلى 1.
• القيمة الابتدائية:
Count = 10.• شرط الاستمرار:
Count ≥ 1 ?.• الطباعة:
Print Count.• مقدار النقصان:
Count = Count - 1.
تمرين 7: موقع أمر الطباعة وتأثيره
المسألة: ما الفرق بين وضع Print Sum داخل حلقة التكرار أو وضعها بعد مسار الخروج No؟
• إذا وضعت داخل الحلقة: يطبع الحاسوب المجموع التراكمي في كل دورة تكرارية.
• إذا وضعت بعد مسار الخروج No: يطبع الحاسوب الناتج النهائي الإجمالي للمجموع مرة واحدة فقط بعد انتهاء كامل التكرار.
تمرين 8: عداد تكرار بمعدل كسر
المسألة: حلقة تبدأ بـ X = 0 وتنتهي بـ X > 2 مع خطوة X = X + 0.5، ما هي القيم المطبوعة؟
• القيم التي تحقق الاستمرار هي: 0 ، 0.5 ، 1.0 ، 1.5 ، 2.0.
• عند الزيادة التالية تصبح X = 2.5 فيتحقق شرط الخروج X > 2 ويتوقف التكرار.
اضغط على أي بطاقة لاكتشاف المعنى الدقيق، واضغط على أيقونة الصوت للاستماع للنطق:
اضغط على الإجابة لتتحقق من فهمك وتكتشف التفسير النموذجي فورياً: