طَبِّقْهاتعلّم المبدأ، وطبّقه بيدكمقرر 111 · أساسيات برمجة الحاسب
الدرس 10 · الوحدة 3: القرار والتكرار

حلقة while

نكرّر الأوامر ما دام شرط معيّن صحيحًا. ⏱ نحو 20 دقيقة.

i <= 5 ?نكرّر ما دام الشرط صحيحًا
بعد هذا الدرس ستستطيع أن:
  • تشرح فائدة التكرار.
  • تكتب حلقة while بأجزائها الثلاثة: بداية وشرط وتغيير.
  • تجمع الأعداد بالحلقة.
  • تتجنب الحلقة التي لا تنتهي.

١لماذا التكرار؟

لو أردنا طباعة الأعداد من 1 إلى 100 لكتبنا 100 سطر! الحلقة تكرّر الأوامر نفسها بدلًا منّا. وفي الحياة: «اطرق الباب ما دام لم يُفتح».

while تعني «ما دام»: تكرّر الأسطر التي تحتها ما دام الشرط صحيحًا:

main.py
i = 1while i <= 5:    print(i)    i += 1
Shell×
>>> %Run main.py
1
2
3
4
5
>>>

٢كيف تعمل الحلقة؟

تابع الحلقة خطوة بخطوة. اضغط «التالي»:

🔎 تتبّع: حلقة while
main.py
i = 1while i <= 3:    print(i)    i += 1
Variables · المتغيّرات في الذاكرة
Shell×

كل حلقة لها ثلاثة أجزاء: بداية (i = 1)، وشرط (i <= 3)، وتغيير يقرّبنا من النهاية (i += 1).

٣العدّاد والمجموع

نستخدم الحلقة كثيرًا لجمع الأعداد. هذا برنامج يجمع الأعداد من 1 إلى 5:

ابدأtotal = 0i = 1i <= 5نعمtotal = total + ii = i + 1لااطبع ⁦total⁩توقف
مخطط جمع الأعداد من 1 إلى 5
main.py
total = 0i = 1while i <= 5:    total += i    i += 1print("المجموع:", total)
Shell×
>>> %Run main.py
المجموع: 15
>>>

٤الحلقة التي لا تنتهي

إذا نسينا تغيير المتغيّر يبقى الشرط صحيحًا للأبد، فلا يتوقف البرنامج:

✗ خطأ
main.py
i = 1while i <= 5:    print(i)
✓ صواب
main.py
i = 1while i <= 5:    print(i)    i += 1

في الكود الخطأ تبقى i = 1 دائمًا، فيطبع 1 بلا نهاية. في Thonny أوقفه بالزر ⏹، وفي هذا الموقع يتوقف تلقائيًّا بعد ثوانٍ.

٥التكرار حتى يُدخل المستخدم الصحيح

تفيد while عندما لا نعرف عدد مرات التكرار مسبقًا، مثل طلب كلمة المرور حتى تكون صحيحة:

main.py
password = input("كلمة المرور: ")while password != "1234":    password = input("خطأ، حاول مرة أخرى: ")print("تم الدخول")
Shell×
>>> %Run main.py
كلمة المرور: 1111
خطأ، حاول مرة أخرى: 1234
تم الدخول
>>>
📎 للاستزادة (اختياري): العدّ التنازلي
main.py
n = 3while n > 0:    print(n)    n -= 1print("انطلق!")
Shell×
>>> %Run main.py
3
2
1
انطلق!
>>>

توقّع وتحقّق

متى تتوقف حلقة while؟

تكرّر ما دام الشرط صحيحًا.

كم مرة يُطبع «مرحبًا» إذا كانت i تبدأ من 1 والشرط i <= 4 وi تزيد بواحد؟

i = 1، 2، 3، 4.

ماذا يحدث إذا نسينا i += 1؟

الشرط يبقى صحيحًا دائمًا.

ما قيمة total في النهاية: يبدأ من 0 ونضيف i من 1 إلى 4؟

1 + 2 + 3 + 4 = 10.

الخلاصة

تحدٍّ برمجي: جدول ضرب 3

سهل

اكتب برنامجًا يطبع جدول ضرب العدد 3 من 1 إلى 10 باستخدام while.

المطلوب:
  • ابدأ بـ i = 1.
  • كرّر ما دام i <= 10.
  • اطبع: 3 × i = الناتج.

ابدأ من هذا الكود، واضغط ▶ شغّل هنا لتكتب حلّك وتجرّبه مباشرة:

main.py
i = 1
المطلوب×
3 × 1 = 3
3 × 2 = 6
3 × 3 = 9
3 × 4 = 12
3 × 5 = 15
3 × 6 = 18
3 × 7 = 21
3 × 8 = 24
3 × 9 = 27
3 × 10 = 30
💡 تلميح 1
print("3 ×", i, "=", 3 * i)
💡 تلميح 2
لا تنس i += 1 داخل الحلقة.

حاول بنفسك أولًا؛ للمسألة أكثر من حلّ صحيح.

main.py
i = 1while i <= 10:    print("3 ×", i, "=", 3 * i)    i += 1
انتقل إلى تقييم الدرساختيار من متعدد، وصح وخطأ، وأكمل الفراغ، وتتبّع الناتج.ابدأ التقييم ←