QCM : Analyse fine des boucles en Python
Créez un compte gratuit pour suivre votre avancement et reprendre où vous avez laissé.
Créer un compteObjectifs travaillés
Ce QCM propose une analyse fine des boucles Python : pièges de bornes, compteurs complexes, boucles while délicates et choix entre for et while. Choisissez la bonne réponse parmi les quatre propositions.
Déroulement pas à pas (Correction et Indices)
Question 1 : Dans la boucle for i in range(1, 10) :, quelle est la plus grande valeur prise par i ?
- (Incorrect) $10$
- (Correct) $9$
- (Incorrect) $11$
- (Incorrect) $1$
Question 2 : Dans les situations suivantes, laquelle exige une boucle while plutôt qu'une boucle for ?
- (Incorrect) Afficher les $20$ premiers carrés parfaits
- (Incorrect) Calculer la somme $1 + 2 + \ldots + 100$
- (Correct) Trouver le plus petit entier $n$ tel que $2^n > 10^6$
- (Incorrect) Afficher chaque élément d'une liste donnée
Question 3 : On exécute le programme Python ci-dessous :
c = 0
for i in range(100) :
if i % 7 == 0 :
c = c + 1
print(c)
Que s'affiche-t-il ?
c = 0
for i in range(100) :
if i % 7 == 0 :
c = c + 1
print(c)- (Incorrect) $14$
- (Correct) $15$
- (Incorrect) $7$
- (Incorrect) $100$
Question 4 : On considère le programme Python ci-dessous :
i = 0
while i < 10 :
print(i)
Que se passe-t-il lors de l'exécution ?
i = 0
while i < 10 :
print(i)- (Incorrect) Le programme affiche $0, 1, 2, \ldots, 9$ puis s'arrête
- (Incorrect) Le programme n'affiche rien
- (Correct) Le programme affiche $0$ indéfiniment (boucle infinie)
- (Incorrect) Le programme affiche $10$ puis s'arrête
Question 5 : On exécute le programme Python ci-dessous :
S = 0
q = 1
for i in range(4) :
S = S + q
q = q * 2
print(S)
Que s'affiche-t-il ?
S = 0
q = 1
for i in range(4) :
S = S + q
q = q * 2
print(S)- (Incorrect) $7$
- (Incorrect) $8$
- (Correct) $15$
- (Incorrect) $16$
Question 6 : On souhaite calculer la plus petite valeur de n telle que $1 + 2 + \ldots + n \geqslant 100$. Parmi les programmes ci-dessous, lequel est correct ?
- (Incorrect) for n in range(100) : S = S + n
- (Correct) S = 0 ; n = 0 ; while S < 100 : n = n + 1 ; S = S + n
- (Incorrect) S = 0 ; for n in range(100) : if S < 100 : S = S + n
- (Incorrect) n = 0 ; while S >= 100 : n = n + 1 ; S = S + n