Auteur : Mohamed Messabihi
Matière : Programmation et structures de données
Date 17 mars 2014 Durée 1h30
Université Abou Bakr Belkaïd - Tlemcen Faculté des Sciences 1èreAnnée MI Semestre 2
Contrôle Continu
Aucun document n'est autorisé.
Les solutions sous forme algorithmique sont aussi acceptées.
Tout appareil électronique doit être éteint (Téléphone, Ordinateur, Tablette, etc.).
1 Occurrences d'un mot dans une phrase (8 pts, 40 min)
Écrire un programme permettant de lire une phrase composée de lettres minuscules ou majuscules et d'espaces, puis de déterminer et d'acher le nombre d'occurrences d'un mot donné (par l'utilisateur), dans cette phrase.
NB : on suppose que les mots sont séparés par des espaces (un mot ne peut donc contenir aucun espace)
2 Préparation de l'équipe nationale (12 pts, 50 min)
Le sélectionneur de l'équipe nationale souhaite faire des statistiques sur les matchs de la 1èredivision.
Il vous demande de lui faire un programme an de lui faciliter la tâche.
Vous disposez des types suivants pour stocker les noms des équipes :
1CONST MaxEquipe = 1 6 ;
2 TYPE nom_t = s t r i n g [ 5 0 ] ;
3 TabNom_t = array [ 1 . . MaxEquipe ] of nom_t ;
1. Écrire la procédure SaisieNoms (var tab_noms : TabNom_t ; var nbr_equipe : Inte- ger) ; qui lit au clavier une suite de noms (un par ligne) terminée par une ligne vide, mémorise ces noms dans tab_noms et le nombre résultant dans nbr_equipe.
2. Les équipes sont désormais numérotées dans leur ordre de saisie. On introduit maintenant des types pour mémoriser les scores des matchs, qui ont lieu chaque fois entre une équipe locale et une équipe extérieure :
1CONST MaxMatch = 1000;
2 TYPE Match_t = record
3 n_loc , n_ext , { numéro équipe l o c a l e , e x t é r i e u r e }
4 s_loc , s_ext : integer ; { score équipe l o c a l e , e x t é r i e u r e }
5 end ;
6 TabMatch_t = array [ 1 . . MaxMatch ] of Match_t ;
Écrire la fonction Gagnant(m : match_t) : Integer ; qui pour un match m donné, renvoie 1, -1 ou 0 selon que la gagnante est l'équipe locale, extérieure ou que le match est nul.
3. Écrire la procédure AcherGagnants (tab_M : TabMatch_t ; nbr_M : Integer ; tab_noms : TabNom_t ; nbr_equipe : Integer) ; qui ache pour chacun des nbr_M matchs le nom de l'équipe gagnante, en appelant éventuellement la fonction Gagnant.
4. Écrire la fonction DiérenceLocalExtérieure (tab_M : TabMatch_t ; nbr_M : Inte- ger) : Integer ; qui renvoie pour l'ensemble des nbr_M matchs, la diérences entre le nombre de matches gagnés par les équipes locales et le nombre de matchs gagnés par les équipes exté- rieures, en appelant éventuellement la fonction Gagnant.
Bon courage !
B Mohamed.Messabihi@gmail.com Page 1