Académique Documents
Professionnel Documents
Culture Documents
Algorithmique – TP2
Exercice 1 : Carré
1) Recopier la fonction ci-contre :
2) Exécuter là avec k = 100 puis k = 4 000.
3) Que calcule cette fonction ?
4) Combien de tours de boucles sont effectués en tout ?
5) En vous inspirant de la fonction carre(k), proposer une
fonction cube(n) qui calcule et renvoie le cube d’un nombre n.
Exercice 2 : Produit
1) Recopier la fonction ci-contre :
2) Exécuter là avec :
a = 100 et b = 300
puis a = 2 000 et b = 4 000
3) Que calcule cette fonction ?
4) Combien de tours de boucles sont effectués en tout ?
5) En vous inspirant de la fonction prod(a,b), proposer une
fonction prod3(a,b,c) qui calcule et renvoie le produit de trois nombres a, b et c.
Exercice 3 : Matrice
On rappelle que l’on définit en Python les matrices (tableaux de nombres) à l’aide d’une liste de
listes, par exemple :
M = [[5,7,1,6],
[0,3,4,4], où M[0][3] = 6
[2,8,1,0]]
1) a. Écrire une fonction add_one(i,j) qui rajoute 1 dans la matrice à la ligne i et à la colonne j.
b. Écrire une fonction add_n(i,j,n) qui rajoute n dans la matrice à la ligne i et à la colonne j.
c. Tester vos deux fonctions avec la matrice M de l’exemple ci-dessus.
2) a. Écrire une fonction max(M) qui renvoie le maximum des nombres de la matrice M.
b. Écrire une fonction min(M) qui renvoie le minimum des nombres de la matrice M.
c. Tester vos deux fonctions avec la matrice M de l’exemple ci-dessus.
3) Combien de tours de boucle sont effectués lorsque la matrice M a n lignes et p colonnes ?
5) Écrire une fonction temps_max(M) qui estime le temps d’exécution de la fonction max(M).
Exercice 5 : *args
1) a. Recopier la fonction ci-contre :
b. Tester cette fonction en exécutant les différentes instructions ci-
dessous :
>>> exemple()
>>> exemple(3)
>>> exemple(3,4,5)
>>> exemple((1,7),'a')
2) a. Écrire une fonction somme(*args) qui fait la somme des nombres entrés en paramètre !
b. Écrire une fonction produit(*args) qui fait le produit des nombres entrés en paramètre.
3) Écrire une fonction file_attente(pers,*args) qui à une liste de personnes pers ajoute
à la fin les personnes misent en argument optionnel *args.
Exemple : file_attente(['pat','fleur'],'elias','leo')
renvoie la liste ['pat','fleur','elias','leo']
4) Écrire une fonction pile(pers,*args) qui à une liste de personnes pers ajoute au début
les personnes misent en argument optionnel *args.
Exemple : pile(['pat','fleur'],'elias','leo')
renvoie la liste ['leo','elias','pat','fleur']
Exercice 6 : Trier
1) Écrire une fonction trier(L) qui trie dans l’ordre croissant une liste de nombres !
2) Écrire une fonction temps_trie(L) qui estime le temps d’exécution de la fonction
trier(L).
3) Tester cette fonction avec la liste ci-dessous :
L = [12,4,5,0,11,7,8,8,9,4,5,3,0,12,13,10,8,9,4,21,18,3,2,6,9,14,17,16,1,2]