Programmation impérative : TP 7

Listes

  1. Implanter les listes chaînées d'objets de type double. En particulier proposer le test de vacuité, les constructions (par effet et par valeur) et une procédure d'affichage de la forme vue en cours :
    -> [ valeuri ] -> [ valeurj ] ->…
  2. Proposer une fonction qui retourne la longueur d'une liste.
  3. Proposer une fonction qui retourne la somme de tous les éléments d'une liste.
  4. Proposer une procédure dont l'effet est d'inverser l'ordre des éléments d'une liste. On ne fera pas de nouvelles allocations (y compris indirectement en appelant les fonctions de construction). Autrement dit, il faudra réutiliser les maillons déjà existants de la liste.
  5. Proposer une fonction de recherche d'un élément de valeur égale à un e donné à 10-10 près. Remarque : on peut utiliser la constante 1e-10.
  6. Proposer une procédure dont l'effet est de retirer d'une liste un élément de valeur égale à un e donné à 10-10 près. Si un tel élément n'existe pas, la liste ne sera pas modifiée.
  7. Proposer une fonction dont l'effet est de retirer d'une liste tous les éléments de valeur égale à un e donné à 10-10 près.

Piles implémentées par des listes

  1. Proposer une implantation du type abstrait des piles d'entiers à base de listes. On sera donc amené à implémenter les procédures et fonctions suivantes :
  2. Reprendre les questions 2 à 4 du TP numéro 4. Si, comme cela était demandé, seules les fonctions de la question 1 ont été utilisées pour les réaliser, constater qu'il n'y a rien à modifier.