M1102-TD5 Exercice 1

Le but de cet exercice est d’afficher le nombre d’occurrences de chaque élément d’un petit ensemble de valeurs dans une collection. Ici, on comptera le nombre de voyelles contenues dans une chaîne de caractères. Pour cela :

  1. initialiser les compteurs ;
  2. pour chaque valeur de la collection (chaque caractère de la chaîne), balayer complètement le petit ensemble (l’ensemble des voyelles) et incrémenter le bon nombre d’occurrence quand il le faut ;
  3. calculer le nombre total d’occurrence des éléments de l’ensemble (le nombre total de voyelles) ;
  4. afficher le nombre d’occurrences de chacun des éléments de l’ensemble (de chacune des voyelles) ainsi que leur fréquence relative (au nombre total d’éléments de l’ensemble (de voyelles)) ;
  5. on pourra utiliser les fonctions ComptCaract() et/ou TrouveCarDansStr ().

M1102 TD5 Exercice 2

Ecrire les prédicats suivants :

fonction IsUpper (Car : in caractere) renvoie booleen;
fonction IsLower (Car : in caractere) renvoie booleen;
fonction IsDigit (Car : in caractere) renvoie booleen;

Ces prédicats renvoient vrai si le caractère qui leur est passé en paramètre est respectivement une majuscule, une minuscule ou un chiffre décimal (de '0' à '9').
Ecrire le prédicat IsSpace (), qui renvoie vrai si le caractère passé en paramètre est un caractère d’espacement (espace, tabulation ou retour à la ligne).

M1102 TD5 Exercice 3

Ecrire la fonction CompterDoublons () présentée ci-dessous. Les “règles du jeu” (les spécifications) sont les suivantes :

  1. un doublon est une suite de deux caractères consécutifs (deux éléments dont les rangs diffèrent d’une unité) identiques.
  2. trois caractères consécutifs identiques constituent deux doublons.

Les doublons de caractères d’espacement  ne sont pas comptabilisés.
Lorsque le caractère courant est de rang i, il y a deux façons de tester s’il appartient à un doublon :

  1. soit en testant le caractère de rang précédent (de rang i - 1), dans ce cas, le premier élément ne peut être comparé avec son prédécesseur. Il faut donc commencer les comparaisons à l’élément de rang 1.
  2. soit en testant le caractère de rang suivant (de rang i + 1), dans ce cas, le dernier élément ne peut être comparé avec son successeur. Il faut donc terminer les comparaisons par l’avant-dernier élément.

Ecrire une version de la fonction CompterDoublons() en utilisant une boucle pour, puis une autre en utilisant une boucle tant_que.