Utilisation des structures.

Trouver la structure adaptée.

Dans le Q.C.M. vous devez trouver la structure la plus adpatée pour répondre au problème.

Q.C.M.

On veut créer un agenda qui associe au nom d'un client son numero de telephone :





Q.C.M.

Dans un traitement de texte, on souhaite pouvoir revenir en arriere (ctrl + z), il faut enregistrer les actions effectuées dans :





Q.C.M.

On veut récupérer un ensemble de données pour pouvoir faire des statistiques (connaitre la moyenne et l'écart type).






Q.C.M.

On souhaite stocker pour chaque pays le nom de sa capitale.





Q.C.M.

Pour un jeu d'échec on veut pouvoir revenir en arriére, il "faut" stocker les actions dans :





Q.C.M.

Pour un jeu de tetris evolué on souhaite montrer au joueur les 5 cinq prochaines piéces qui vont tomber. Il "faut" stocker les piéces à venir dans :





Q.C.M.

Vous voulez créer un jeu de poker, il "faut" socker les cartes dans :





Q.C.M.

Une imprimente ne peut pas satisfaire deux demandes d'impression en même temps, il faut donc qu'elle stocke les demandes, pour ca la bonne structure est :





Q.C.M.

On veut modeliser un jeu de bataille, les cartes que posséde un joueur sont à stocker dans :





Dans le jeu de nim fait l'an dernier, nous voulons rajouter la possibilité de revenir en arrière (par exemple en appuyant sur une touche). Il nous faut donc retenir les positions précédentes du jeu.

  1. Quelle est la structure de donnée la plus adaptée à cette tache ?
  2. Avec cette structure il n'y a quasiment plus rien à faire, compléter le code ci après (ou modifier votre nim de l'an dernier).
  3. 
    		

Snake

Exercice

Le snake est un classique du jeu vidéo, sur un écran vu de dessus, un serpent mange des cerises sans taper les bords ni se toucher lui même, chaque cerise le fait grandir.

Le terrain de jeu est une grille, chaque case de la grille est soit vide, soit contient le corps du serpent, soit une cerise.

On va utiliser deux strucures pour conserver la position du serpent. Une matrice (tableau à deux dimensions), chaque case contient une case de la grille. Il y a un problème cependant, dans la matrice on ne sait pas si une case "serpent" représente la tête ou la fin du serpent ou une autre partie du corps. On peut numéroter les parties du serpent et à chaque fois parcourir la matrice (pardon le tableau à deux dimensions) pour trouver la tete et la fin mais on alors une recherche en n² sur la dimension de la grille. On va plutot stocker les parties du serpent dans une autre structures qui permet de rapidement oter la fin du serpent et de rajouter la nouvelle position de la tete.

  • Quelle est le type de structure à ajouter ?
  • Avec cette structure il n'y a quasiment plus rien à faire, compléter le code ci après.Les modifications sont à faire dans snake._corps
  •