Outils pour utilisateurs

Outils du site


nsi:tds:entrepot

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:tds:entrepot [2024/08/19 12:39] – [Problème 4] goupillwikinsi:tds:entrepot [2024/09/12 12:52] (Version actuelle) – [Problème 2] goupillwiki
Ligne 95: Ligne 95:
  
 robot.set_speed(10) robot.set_speed(10)
-robot.set_sortie(9)    # rampe de sortie dans le compartiment 9 +docks.set_sortie(9)    # rampe de sortie dans le compartiment 9 
-robot.set_caisses([1]) # 1 caisse dans le compartiment 0+docks.set_caisses([1]) # 1 caisse dans le compartiment 0
  
 # amener la caisse à la rampe de sortie # amener la caisse à la rampe de sortie
Ligne 104: Ligne 104:
  
 <Code python linenums> <Code python linenums>
 +# Problème 2
 from entrepot import robot, docks from entrepot import robot, docks
  
 robot.set_speed(10) robot.set_speed(10)
 docks.set_sortie(9) docks.set_sortie(9)
-robot.set_caisses([5]) # 5 caisses dans le compartiment 0+docks.set_caisses([5]) # 5 caisses dans le compartiment 0
  
 # amener les 5 caisses à la rampe de sortiesortie. # amener les 5 caisses à la rampe de sortiesortie.
Ligne 118: Ligne 119:
  
 <code python linenums> <code python linenums>
 +# Problème 3
 from entrepot import robot, docks from entrepot import robot, docks
 from random import randrange # pour générer entier à aléatoire from random import randrange # pour générer entier à aléatoire
-N = randrange(1, 5)          # N est un entier aléatoire 1 <= N < 5 
  
 robot.set_speed(10) robot.set_speed(10)
 docks.set_sortie(9) docks.set_sortie(9)
-docks.set_caisses([N]) # caisses dans le compartiment 0+docks.set_caisses([randrange(1, 5)]) # nombre de caisses aléatoire dans le compartiment 0
  
 # amener les N caisses à la rampe de sortie # amener les N caisses à la rampe de sortie
 </code> </code>
  
-> À présent, au moment de programmer, on ne sait pas ce que sera ''N''La valeur de ''N'' ne sera connue qu'au moment de l'exécution+> À présent, au moment de programmer, on ne sait pas combien il y aura de caisses dans le compartiment 0Il faut donc programmer de façon plus générale
-> Pensez à exécuter votre programme plusieurs fois pour voir s'il fonctionne pour différentes valeurs de ''N''.+> Pensez à exécuter votre programme plusieurs fois pour voir s'il fonctionne pour différentes situations.
 ==== Fonction 1 ==== ==== Fonction 1 ====
  
 <WRAP important>La suite nécessite de savoir ce qu'est une fonction. Vous pouvez poursuivre si vous savez déjà, sinon il faudra y revenir plus tard dans le cours.</WRAP> <WRAP important>La suite nécessite de savoir ce qu'est une fonction. Vous pouvez poursuivre si vous savez déjà, sinon il faudra y revenir plus tard dans le cours.</WRAP>
  
-Écrire une fonction ''%%ALLER_AU_COMPARTIMENT(i)%%'' qui fait aller le robot au compartiment ''%%i%%'', quelque soit le compartiment où il se trouve actuellement.+Écrire une fonction ''%%aller_au_compartiment(i)%%'' qui fait aller le robot au compartiment ''%%i%%'', quelque soit le compartiment où il se trouve actuellement.
  
 ==== Problème 4 ==== ==== Problème 4 ====
  
 <code python linenums> <code python linenums>
 +# Problème 4
 from entrepot import robot, docks from entrepot import robot, docks
  
Ligne 151: Ligne 153:
 ==== Problème 5 ==== ==== Problème 5 ====
  
-<Code python linenums> +<code python linenums> 
-from entrepot import Entrepot+# Problème 5 
 +from entrepot import robot, docks 
 +from random import randrange
  
-from random import randrange # pour générer entier à aléatoire +robot.set_speed(10) 
-c = [randrange(5) for i in range(4)]+docks.set_sortie(9) 
 +docks.set_caisses([randrange(5) for i in range(4)]) # état des compartiments aléatoire...
  
-Entrepot de 10 compartiments +amener toutes les caisses à la rampe de sortie 
-# Les compartiments 0 à 3 contiennent un nombre aléatoire de caisses +</code>
-# quai de sortie dans le compartiment 9 +
-# tick permet d'ajuster la vitesse d'animation +
-e = Entrepot(caisses=c, sortie = 9, tick=2) +
- +
-# programmez le robot pour qu'il amène toutes les caisses dans le quai de sortie+
- +
-# fin de l'animation +
-e.fin() +
-</Code> +
- +
-==== Fonction 2 ==== +
- +
-  * Écrivez une fonction ''%%COMPARTIMENT_MAX()%%'' qui renvoie le numéro de compartiment contenant le plus de caisses. +
-  * Écrivez une fonction ''%%COMPARTIMENT_MIN()%%'' qui renvoie le numéro de compartiment contenant le moins de caisses.+
  
 ==== Problème 6 ==== ==== Problème 6 ====
  
-<Code python linenums> +Pour résoudre ce problème, il sera préférable que vous écriviez les fonctions suivantes : 
-from entrepot import Entrepot+  * ''%%compartiment_max()%%'' qui renvoie le numéro de compartiment contenant le plus de caisses. 
 +  * ''%%compartiment_min()%%'' qui renvoie le numéro de compartiment contenant le moins de caisses.
  
 +<Code python linenums>
 +# Problème 6
 +from entrepot import robot, docks
 from random import randrange # pour générer entier à aléatoire from random import randrange # pour générer entier à aléatoire
-c = [randrange(10) for i in range(20)] 
  
-# Entrepot de 20 compartiments, pas de sortie +robot.set_speed(10) 
-# Chaque compartiments contient entre 0 et 10 caisses, aléatoirement +docks.set_max(10) augmente la capacité des compartiments 
-tick permet d'ajuster la vitesse d'animation +docks.set_caisses([randrange(10) for i in range(20)])
-e = Entrepot(caisses=c, max = 10, tick=2)+
  
-programmez le robot pour qu'il égalise la hauteur des caisses +égaliser la hauteur des caisses dans les compartiments
- +
-# fin de l'animation +
-e.fin()+
 </Code> </Code>
 +
 +> Attention, pas de rampe de sortie dans cet exercice. On déplace les caisses d'un compartiment à l'autre afin d'égaliser les hauteurs.
nsi/tds/entrepot.1724063988.txt.gz · Dernière modification : de goupillwiki