Algorithmique Correction TD8 : La ligue 1 de football 1.1) Match G1

Transcription

Algorithmique Correction TD8 : La ligue 1 de football 1.1) Match G1
Algorithmique
Correction TD8 : La ligue 1 de football
1.1)
Match G1, Match G2, …, Match G20.
1.2)
Importer entréeSortie;
Programme moyenneMatchGagné
Glossaire
i <Entier> ; --curseur
S <Entier> ; --somme des valeurs
G <Entier> ; --nombre de matchs gagnés
moy <Réel> ; --moyenne des matchs gagnés
Début
i <- 0 ;
S <- 0 ;
tantque i =/ 20 faire
lire(G) ;
S <- S + G ;
i <- i + 1 ;
fin tantque ;
moy <- S div 20 ;
écrire(moy) ;
Fin
1.3)
Importer entréeSortie ;
Programme matchGagnéSupMoy
Glossaire
i <Entier> ; --curseur
S <Entier> ; --somme des valeurs
G <Entier> ; --nombre de matchs gagnés
moy <Réel> ; --moyenne des matchs gagnés
ESM <Entier> ; --équipe supérieure à la moyenne
tabMatchesGagnés <TabMatches> ;
Début
i <- 0 ;
tantque i =/ 20 faire
lire(G) ;
lire(tabMatchesGagnés[i]) ;
tabMatchesGagnés[i+1] <- G ;
S <- S + G ;
i <- i +1 ;
fin tantque ;
moy <- S div 20 ;
écrire(moy) ;
ESM <- 0 ;
i <- 1 ;
tantque i <= 20 faire
si tabMatchesGagnés[i] > moy alors
ESM <- ESM + 1 ;
fin si ;
i <- i + 1 ;
fin tantque ;
écrire(ESM) ;
Fin
2.1)
--détermine la valeur d’indice du tableau butsC correspondant à une des équipes ayant concédé le plus
--nombre de buts sur l’ensemble de la saison
Fonction indiceMinBc (entrée butsC <TabMaches>) retourne <Entier> ;
2.2)
--détermine la valeur d’indice du tableau butsC correspondant à une des équipes ayant concédé le plus
--nombre de buts sur l’ensemble de la saison
Fonction indiceMinBc (entrée butsC <TabMaches>) retourne <Entier>
Glossaire
i <Entier> ; --compteur
plusPetit <Entier> ; --indice du tableau contenant la plus petite valeur
Début
i <- 2 ;
plusPetit <- 1 ;
tantque i <= 20 faire
si butsC[i] <= butsC[plusPetit] alors
plusPetit <- i ;
fin si ;
i <- i + 1 ;
fin tantque ;
retourner(plusPetit) ;
Fin
3.1)
--mettre à jour le classement points du championnat considérant que l’équipe classéeau rang i a obtenu
--nbPoints (0, 1 ou 3) à l’occasion de son match avancé
Procédure mettreAJourClassement (màj classement <TabPoint> , entrée indiceEquipe <Entier>,
entrée nbPoints <Entier>) ;
3.2)
--le tableau est trié par ordre décroissant
--  i  [1..NB_EQUIPE-1] :classement[i] >= classement [i+1]
3.3)
--mettre à jour le classement points du championnat considérant que l’équipe classéeau rang i a obtenu
--nbPoints (0, 1 ou 3) à l’occasion de son match avancé
Procédure mettreAJourClassement (màj classement <TabPoint> , entrée indiceEquipe <Entier>,
entrée nbPoints <Entier>)
Glossaire
i , pointsEquipe <Entier> ; --indice de parcours du tableau et points de l’équipe
Début
i <- indiceEquipe – 1 ;
classement[indiceEquipe] <- classement[indiceEquipe] + nbPoints ;
pointsEquipe <- classement[indiceEquipe] ;
tantque i >= 1 et pointsEquipe > classement[i] faire
classement[i + 1] <- classement[i] ;
classement[i] <- pointsEquipe ;
i <- i + 1 ;
fin tantque ;
Fin
4.1)
--insère le résultat nbPoints dans la tranche de tableau points[1..n] triée en ordre décroissant
Procédure insérerPremiersPoints (màj points <TabPoints>, màj n <Entier>, entrée nbPoints <Entier>) ;
4.2)
--insère le résultat nbPoints dans la tranche de tableau points[1..n] triée en ordre décroissant
Procédure insérerPremiersPoints (màj points <TabPoints>, màj n <Entier>, entrée nbPoints <Entier>)
Début
n <- n + 1 ;
mettreAJourClassement(points, n, nbPoints) ;
Fin
6)
--lit une suite de caractère d’un panneau d’affichage et comptabiliser le nombre total d’équipes ayant
--une même lettre en double
--on supposera qu’aucun nom d’équipe ne possède plus de deux occurrences consécutives d’une même lettre
--ça c’est du programme intéressant ! -__Programme JeuEducatifFootballistique
Glossaire
valeur <Caractère> ;
nbEquipes <Entier> ;
valeurPrécédente <Caractère> ;
Début
lire(valeur) ;
nbEquipes <- 0 ;
tantque valeur /= « @ » faire
valeurPrécédente <- valeur ;
lire(valeur) ;
si valeur = valeurPrécédente alors
nbEquipes <- nbEquipes + 1 ;
fin si ;
fin tantque ;
écrire(nbEquipes) ;
Fin