M1102 TD6 Exercice 1

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 identiques.
  2. un même caractère ne peut appartenir à deux doublons différents. En conséquence, il faut quatre caractères consécutifs identiques pour constituer deux doublons.
  3. les doublons de caractères d’espacement  ne sont pas comptabilisés.

M1102 TD6 exercice 2

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. un doublon est une suite de deux caractères consécutifs identiques.
  3. trois caractères consécutifs identiques constituent deux doublons.
  4. les doublons de caractères d’espacement  sont comptabilisés : par exemple un espace suivi d’une tabulation (ou l’inverse) est un doublon.

M1102 TD6 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 identiques.
  2. trois caractères consécutifs identiques constituent deux doublons.
  3. les caractères d’espacement doivent être ignorés :
    • il ne faut pas compter les doublons de caractères d’espacement,
    • deux caractères identiques séparés par un nombre quelconque de caractères d’espacement, forment un doublon.

M1102 TD6 exercice 4

Lorsque le motif dépasse deux caractères, il devient lourd et maladroit de mémoriser individuellement les caractères qui composent le motif. Il est préférable de considérer que l’on cherche une sous-chaine (de 2, 3 lettres ou plus) dans une chaîne (ou un sous-tableau dans un tableau).

Ecrire la fonction FindSubstrInStr() qui renvoie le rang de la première apparition d’une sous-chaîne dans une chaîne de caractères, à partir d’un rang de début de recherche, tous trois passés en paramètres. Plus précisément, elle renvoie le rang du premier caractère de la sous-chaîne dans la chaîne.

La valeur de retour est obligatoirement dans l’intervalle [0, taille (Chaine)[ si la sous-chaîne est présente. On choisira donc de renvoyer la valeur taille (Chaine) si la sous-chaîne n’a pas été trouvée.