Si besoin consulter la page de cours de première sur les boucles.
for i in range(5):
print(i)
for i in range(1, 5):
print(i)
for i in range(5, 1, -1):
print(i)
for i in range(5):
for j in range(i):
print(j)
for i in range(5):
j = i
while j > 0:
print(j)
j -= 1
O
OO
OOO
OOOO
OOOOO
OOOOOO
OOOOOOO
OOOOOOOO
OOOOOOOOO
0000000000
111111111
22222222
3333333
444444
55555
6666
777
88
9
| |
-------
| |
-------
| |
Écrire le code d'une fonction appelée is_sorted
qui prend en paramètres une liste et qui renvoie
True
si la liste est triée et False
sinon.
assert
ion en pensant aux cas limites : liste vide, liste triée,
éléments égaux...On donne ci-dessous le code Python du tri par insertion :
def tri_insertion(t):
n = len(t)
for i in range(1, n):
# ICI
x = t[i]
j = i
while j > 0 and t[j-1] > x:
t[j] = t[j-1]
j = j - 1
t[j] = x
# LA
return t
On va étudier l'appel de la fonction avec comme argument [11, 25, 12, 22, 64]
.
n
? Quelle est sa valeur?i
données par l'instruction for i in range(1, n)
?ICI
et LA
pour tous les
tours de la boucle externe(for
).while
).Montrer que pour tout entier , la somme des entiers de 1 à vaut :
(voir cette animation si nécessaire.)
Etablir la correction de l'algorithme. On rappelle que pour prouver la correction nous devons montrer les trois points suivants: