M1202 - TP Séance 4

Durée : 2h00




Objectifs




Au menu

  1. Consignes
  2. Création des équipes
  3. Déroulement d'un match
  4. Déroulement d'un tournoi




A. Consignes (5 min) 0%

Lisez attentivement cet énoncé de TP/TD en suivant les instructions. En cas d'interrogation, faites appel à moi, que ce soit pour en savoir plus sur un des points abordés pendant le TP, ou pour savoir comment effectuer une des tâches demandées (numérotées pour pouvoir y faire référence simplement).

Surtout ne restez pas bloqué(e) sur une des questions. Entre parenthèses, à côté des titres de sous-sections, est indiqué le temps que vous avez dû passer à effectuer les étapes précédentes.

Au cours de ce TP, nous allons simuler un championnat de foot.




B. Création des équipes (30 min) 4%

Nous allons tout d'abord créer la liste des équipes, leur niveau, leur nombre de points, et afficher la liste des équipes et le nombre de points de chacune. B1Créez un dossier dédié à ce TP4 (de la même manière que vous en aviez créé un dédié au TP1, au TP2 et au TP3).

B2Enregistrez-y ce fichier TP4.java.

B3Lisez le code de l'algorithme main du fichier : un tableau equipe de chaînes de caractères qui contient le nom de chaque équipe, et un tableau niveau qui contient un nombre indiquant si c'est une bonne équipe (si le nombre est élevé) ou une mauvaise (si le nombre est petit). Par exemple, le Paris St-Germain est une bonne équipe, de niveau 5.

Pour simuler le championnat de foot, il va falloir commencer par créer le tableau des scores de chaque équipe, qui gagne trois points pour une victoire, un point pour un match nul et aucun point pour une défaite. Les scores vont donc être stockés dans un tableau d'entiers : B4dans l'algorithme main, créez ce tableau d'entiers de 20 cases, appelez-le score, et initialisez tous les scores à 0 point.

Après la fin de l'algorithme main, créez un algorithme B5afficheEquipes qui prend en entrée un tableau de chaînes de caractères equipe et affiche le nom de chaque équipe à l'écran, à tour de rôle. Cet algorithme afficheEquipes ne renvoie rien.

Pour tester l'algorithme afficheEquipes, B6appelez-le en mettant comme variable d'entrée la variable equipe.

De la même manière que pour l'algorithme afficheEquipes, B7créez un algorithme affichePoints qui prend en entrée un tableau de chaînes de caractères tab, ainsi qu'un tableau d'entiers score, et affiche, pour chaque case de tab : Pour tester l'algorithme affichePoints, appelez-le en mettant comme variables d'entrée la variable equipe et la variable score.

Par exemple, la première ligne affichée en choisissant en premier paramètre d'entrée le fichier de noms d'équipe est : "Paris St-Germain : 0".





C. Déroulement d'un match (40 min) 29%

Nous allons maintenant simuler une rencontre entre deux équipes, l'équipe numéro i et la numéro j. Par exemple, si i vaut 0 et j vaut 1, c'est la rencontre classique PSG-OM.

C1Créez un algorithme joueUnMatch qui :
C2A l'intérieur de l'algorithme joueUnMatch, ajoutez une instruction pour afficher le nombre de buts marqués par chaque équipe, avec un message du genre : "Match equipe 0 contre equipe 1 / Paris St-Germain contre Olympique de Marseille / Resultat : 3-3".

C3A l'intérieur de l'algorithme main, ajoutez une instruction pour simuler un match entre le Paris St-Germain et l'Olympique de Marseille (en utilisant un appel à l'algorithme joueUnMatch).

C4Modifiez l'algorithme joueUnMatch pour que le nombre de buts de chaque équipe soit tiré aléatoirement entre 0 et le niveau de l'équipe (stocké dans le tableau niveau, qui doit donc être transmis en entrée de l'algorithme).


D. Déroulement d'un tournoi (45 min) 62%

En utilisant une (ou des) boucles dans l'algorithme main, D1appelez l'algorithme joueUnMatch plusieurs fois afin que chaque équipe joue exactement une fois contre toutes les autres.

Si vous avez terminé, rendez-vous au TP bonus.