الرئيسية › الدروس › Tant que و Répéter
الـ boucle Tant que وRépéter بـ Python وAlgo
كرّر مادام الشرط صحيح، كي ما نعرفوش عدد الدورات.
دروس هذا الفصل
- الـ boucle Tant que
- الـ boucle Répéter … jusqu'à
- أنهي boucle نختار؟
الدرس 7.1 : الـ boucle Tant que
كي ما نعرفوش من قبل قدّاش من مرّة نكرّرو، نستعملو Tant que: التعليمات تتكرّر مادامت الـ condition صحيحة. الـ condition تتختبر قبل كل دورة: كان غالطة من البداية، الـ bloc ما يتخدمش أبدا.
- في الـ algorithme:
TantQue condition Faire…FinTantQue. - Python:
while condition:وبعدها bloc مزاح.
انتبه : ثلاثة فخاخ في Tant que: 1) تنسى تهيّئ المتغيّر المختبَر، 2) تنسى تبدّلو في الـ boucle (الـ boucle ما توقفش أبدا!)، 3) تغلط في الـ condition (< عوض <=).
نصيحة : كان البرنامج متاعك يدور من غير نهاية، الـ éditeur يوقّفو بعد شوية ثواني ويقولك فما boucle infinie.
بـ Python
ما نعرفوش قدّاش من عام يلزم: نكرّرو مادام الـ capital ما وصلش 2000.
print("Capital initial :")
capital = float(input())
annees = 0
while capital < 2000:
capital = capital * 1.1
annees = annees + 1
print("Années :", annees)
بـ algorithme
الـ bloc بين TantQue … Faire و FinTantQue.
Algorithme Epargne
Début
Ecrire("Capital initial :")
Lire(capital)
annees ← 0
TantQue capital < 2000 Faire
capital ← capital * 1.1
annees ← annees + 1
FinTantQue
Ecrire("Années : ", annees)
Fin
TDO
Objet | Type/Nature
capital | Réel
annees | Entier
الدرس 7.2 : الـ boucle Répéter … jusqu'à
الـ boucle Répéter … Jusqu'à تخدّم الـ bloc الأول، وبعد تختبر condition الـ توقّف. إذن الـ bloc يتخدم مرّة على الأقل. انتبه: نوقفو كي الـ condition تولّي صحيحة، العكس متاع Tant que.
Python ما عندوش الـ structure هذي. نكتبوها بـ while True: و break كي condition التوقّف تكون صحيحة.
مراقبة الإدخال
Répéter … Jusqu'à مثالية باش نعاودو نطلبو قيمة مادامت غالطة: نقراو مرّة على الأقل، وبعد نعاودو حتى القيمة تولّي صحيحة.
بـ Python
break تخرّج من الـ boucle: يتخدم كي النقطة تكون صحيحة.
while True:
print("Donner une note entre 0 et 20 :")
note = int(input())
if note >= 0 and note <= 20:
break
print("Note valide :", note)
بـ algorithme
في الـ algorithme، الـ condition بعد Jusqu'à هي condition التوقّف.
Algorithme Controle
Début
Répéter
Ecrire("Donner une note entre 0 et 20 :")
Lire(note)
Jusqu'à note >= 0 et note <= 20
Ecrire("Note valide : ", note)
Fin
TDO
Objet | Type/Nature
note | Entier
الدرس 7.3 : أنهي boucle نختار؟
تعرف توّا ثلاثة boucles. باش تختار، اسأل روحك سؤال: نعرف عدد الدورات؟
- إيه → Pour (مثلا: نكتبو أول n أعداد، نقراو n نقاط).
- لا، والـ bloc ممكن ما يتخدمش أبدا → Tant que (مثلا: مادام الـ capital موش كافي).
- لا، ولازم دورة على الأقل → Répéter … Jusqu'à (مثلا: نعاودو نطلبو إدخال).
أرقام عدد
مثال معروف بالـ while: نشيلو الأرقام واحد واحد. n % 10 تعطي الرقم الأخير و n // 10 تشيلو. نكمّلو مادام n > 0.
انتبه : الـ boucle اللي ما توفاش تصير برشا كي تنسى السطر اللي يقدّم المتغيّر (n ← n div 10، i ← i + 1…). راجع دايما: « شنوّة اللي يخلّي الـ condition غالطة نهار ما؟ »
بـ Python
في كل دورة نزيدو الرقم الأخير للـ somme، وبعد نشيلوه من العدد.
n = int(input())
somme = 0
while n > 0:
somme = somme + n % 10
n = n // 10
print("Somme des chiffres :", somme)
بـ algorithme
بـ mod و div: نفس البرنامج.
Algorithme Chiffres
Début
Lire(n)
somme ← 0
TantQue n > 0 Faire
somme ← somme + n mod 10
n ← n div 10
FinTantQue
Ecrire("Somme des chiffres : ", somme)
Fin
TDO
Objet | Type/Nature
n, somme | Entier
تدرّب مجانًا
كل درس فيه 3 تمارين مجانية مع تلميحات و8 مهمّات من اللعبة باش تطبّق الفصل هذا مع هنّيبوت.
← الفصل اللي قبل : الـ boucle Pour · الفصل اللي بعد : مسائل نموذجية →
كل الفصول · شوف فروض 2 تكنولوجيا المصلّحة
الدروس كتبناها لـ Mission Carthage على أساس البرنامج الرسمي. الأستاذ متاعك يبقى المرجع.