Outils pour utilisateurs

Outils du site


nsi:premiere:tableau:tri:critere

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
nsi:premiere:tableau:tri:critere [2022/03/18 16:28] – ↷ Page déplacée et renommée de nsi:premiere:tableau:tris_critere à nsi:premiere:tableau:tri:critere goupillwikinsi:premiere:tableau:tri:critere [2023/01/13 19:16] (Version actuelle) goupillwiki
Ligne 17: Ligne 17:
 Nous voulons trier par prix croissante et, si les prix sont les mêmes, par nom de produit. Nous voulons trier par prix croissante et, si les prix sont les mêmes, par nom de produit.
  
-On définit alors une fonction ''%%par_prix(a,b)%%'' dont le rôle est de dire si ''%%a b%%'' selon notre critère de prix. La fonction renvoie donc ''%%True%%'' ou ''%%False%%'', ''%%True%%'' quand on peut dire que ''%%a b%%''.+On définit alors une fonction ''%%prix(item)%%'' qui extrait le prix d'un item donné. Par exemple : 
 +<code python> 
 +>>> item = ("saucisson",   "1SR912", 5.65) 
 +>>> prix(item) 
 +5.65 
 +</code>
  
 Cette fonction est soumise comme critère à un tri par sélection ce qui permet de trier le tableau. Cette fonction est soumise comme critère à un tri par sélection ce qui permet de trier le tableau.
  
-Dans le fichier ''%%choix_critere.py%%'',+Dans le code ci-dessous,
  
-  * complétez la fonction ''%%par_prix%%'', +  * complétez la fonction ''%%prix%%'', 
-  * modifiez la fonction ''%%tri_par_selection%%'' pour qu'elle tienne compte du critère choisi,+  * modifiez la fonction ''%%tri%%'' pour qu'elle tienne compte du critère choisi,
   * exécutez pour voir si le test produit le résultat attendu.   * exécutez pour voir si le test produit le résultat attendu.
  
 <code python linenums> <code python linenums>
-choix_critere.py+tri avec critère
  
-def par_prix(a,b):+def prix(item):
     '''     '''
-    a, bitems du tableau +    itemitem de la liste 
-    renvoie True si on doit considérer a < b+      exemple : item = ("saucisson",   "1SR912", 5.65) 
 +    renvoie le prix de l'item 
 +      exemple : renvoie 5.65
     '''     '''
     # à compléter     # à compléter
-    return True 
  
-def tri_par_selection(tab, critere):+def tri(tab, key):
     '''     '''
     tab: tableau à trier     tab: tableau à trier
-    critere: fonction de comparaison+    key: fonction (item) -> valeur 
 +    tri le tableau en comparant les items selon la fonction clé
     '''     '''
 +    # il faut modifier cette fonction pour tenir compte de key
     n = len(tab)     n = len(tab)
     for i in range(n-1):     for i in range(n-1):
Ligne 66: Ligne 74:
     print("tableau à trier =", T)     print("tableau à trier =", T)
     print("Exécution du tri...")     print("Exécution du tri...")
-    tri_par_selection(T, par_prix)+    tri_par_selection(T, prix)
     print("tableau trié = ", T)     print("tableau trié = ", T)
 </code> </code>
nsi/premiere/tableau/tri/critere.1647617283.txt.gz · Dernière modification : de goupillwiki