T1.programmation : Sujet du TD3 T1.programmation : Sujet du TD supp.
Groupe ESIEE, Denis BUREAU, janvier 2001.
Attention ! Le sujet peut être modifié jusqu'à la veille du TD.

1  Les objectifs

Savoir déclarer, définir, et utiliser des listes chaînées dynamiques ; savoir écrire des sous-programmes de traitement de ces listes ; connaître la syntaxe C++ mettant en oeuvre ces concepts.

2  Notions concernées

3  Références dans le polycopié

4  Déclarer en C++

  1. le type TypElement (par exemple, équivalent à double)
  2. le type TypMaillon (contenant un TypElement)
  3. le type TypPtrMaillon
  4. le type TypListe

5  Traitements de base

Écrire en C++ les sous-programmes suivants :
  1. InitVide : initialise son paramètre liste à NULL .
  2. EstVide : retourne VRAI si son paramètre liste est vide, et FAUX sinon. Cette fonction est appelée à servir souvent dans les sous-programmes suivants.
  3. AjoutDebut : ajoute au début de son paramètre liste un maillon contenant son paramètre element.
  4. EnleveDebut : enlève et détruit le premier maillon de son paramètre liste.
  5. Longueur : retourne le nombre de maillons de son paramètre liste.
  6. AfficheListe : affiche l'intégralité de son paramètre liste suivant le format :
    [0.12|-]->[34.567|-]->/// .
  7. DetruitListe : détruit l'intégralité de son paramètre liste qui devient alors vide.
  8. Contient : retourne VRAI si son paramètre element figure dans au moins un des maillons de son paramètre liste, et FAUX sinon.
  9. ContientPtr : si son paramètre element est trouvé dans au moins un des maillons de son paramètre liste, retourne l'adresse de ce maillon, sinon retourne NULL.
  10. Compte : retourne le nombre de fois qu'apparaît son paramètre element dans son paramètre liste.

6  Autres traitements

Écrire en C++ les sous-programmes suivants : (ne pas oublier tous les cas particuliers)
  1. AjoutFin : ajoute un maillon contenant son paramètre element à la fin de son paramètre liste.
  2. EnleveFin : enlève et détruit le dernier maillon de son paramètre liste.
  3. EnleveElement : enlève et détruit le premier maillon de son paramètre liste qui contient son paramètre element.
  4. EnleveTous : enlève et détruit dans son paramètre liste tous les maillons qui contiennent son paramètre element.
  5. Inverse : modifie son paramètre liste de telle sorte que les maillons soient dans l'ordre inverse (un sous-programme écrit précédemment peut être utile ...).
  6. CreeListe : crée une liste numérique d'après les paramètres suivants : Rappel : il est plus difficile d'insérer à la fin qu'au début ...
  7. etc... (la suite est laissée à votre imagination)



File translated from TEX by TTH, version 2.75.
On 31 Jan 2001, 13:58.