Algorithmique et programmation (Python)
🟠 Difficile📝 Les énoncés sont gratuits, et les 2 premiers corrigés sont offerts. Les autres corrigés détaillés sont réservés aux abonnés.
- 1
On exécute le programme :
S = 0
for i in range(1, 6):
S = S + 2 * i
a) Détaille la valeur de S après chaque tour de boucle.
b) Que calcule ce programme, en général, si on remplace 6 par n + 1 ?✅ Voir le corrigéoffert
a) `range(1, 6)` parcourt 1, 2, 3, 4, 5.
Tour 1 () : .
Tour 2 () : .
Tour 3 () : .
Tour 4 () : .
Tour 5 () : .
À la fin, .
b) On additionne , c'est-à-dire le double de la somme des entiers de 1 à n.
Le programme calcule donc .
Vérification pour : ✓. - 2
On exécute :
n = 100
etapes = 0
while n > 1:
n = n // 2
etapes = etapes + 1
a) Donne les valeurs successives de n, et la valeur finale de etapes.
b) Que compte la variable etapes ?✅ Voir le corrigéoffert
a) `//` est la division entière.
.
La boucle s'arrête quand .
On a fait 6 passages : .
b) Elle compte le nombre de fois qu'on peut diviser 100 par 2 avant d'atteindre 1.
C'est le nombre d'étapes d'une recherche par dichotomie dans une liste de 100 éléments : 6 essais suffisent.
(On retrouve .) - 3
On considère la fonction :
def mystere(x):
if x < 0:
return -x
else:
return x
a) Que renvoie mystere(-7) ? mystere(3) ? mystere(0) ?
b) Quelle fonction mathématique ce programme calcule-t-il ?🔒 Corrigé réservé aux abonnésS'abonner → - 4
On exécute :
P = 1
for k in range(1, 6):
P = P * k
a) Que vaut P à la fin ?
b) Modifie le programme pour qu'il calcule le produit des entiers PAIRS de 2 à 10.🔒 Corrigé réservé aux abonnésS'abonner → - 5
On considère :
def f(x):
return 3 * x - 5
y = f(f(2))
a) Que vaut y ?
b) Résous l'équation à la main, puis vérifie que ce nombre est un « point fixe » du programme.🔒 Corrigé réservé aux abonnésS'abonner → - 6
Un programme trie une liste :
L = [7, 2, 9, 4]
m = L[0]
for x in L:
if x < m:
m = x
a) Que vaut m à la fin ? Détaille les comparaisons.
b) Comment modifier une seule ligne pour obtenir le maximum ?🔒 Corrigé réservé aux abonnésS'abonner → - 7
On exécute :
u = 5
for i in range(4):
u = 2 * u + 1
a) Donne les valeurs successives de u.
b) Écris la relation qui lie un terme au suivant, et donne le terme obtenu après 5 tours au lieu de 4.🔒 Corrigé réservé aux abonnésS'abonner → - 8
On veut savoir si un entier n est pair.
a) Écris une fonction est_pair(n) qui renvoie True ou False.
b) Écris un programme qui compte combien il y a d'entiers pairs entre 1 et 50.🔒 Corrigé réservé aux abonnésS'abonner → - 9
On exécute le programme :
P = 1
for i in range(1, 6):
P = P * i
a) Détaille la valeur de P après chaque tour de boucle.
b) Que calcule ce programme ?🔒 Corrigé réservé aux abonnésS'abonner → - 10
On exécute :
x = 3
y = 8
if x > y:
m = x
else:
m = y
a) Que vaut m à la fin ?
b) Écris une fonction maxi(x, y) qui renvoie le plus grand des deux nombres.🔒 Corrigé réservé aux abonnésS'abonner →
Comment ça s'est passé ?
Retrouve tout dans Mon suivi.
