Programmation impérative : TP 7
Listes
- 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 ] ->…
- Proposer une fonction qui retourne la longueur d'une liste.
- Proposer une fonction qui retourne la somme de tous les éléments
d'une liste.
- 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.
- 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
.
- 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.
- 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
- 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 :
- Affichage d'une pile : sommet à gauche et base à droite, largeur constante ;
- Initialisation qui a pour effet de rendre une pile vide ;
- Test de vacuité qui retourne 1 si une pile est vide
et 0 sinon ;
- Empilement qui a pour effet de placer une valeur au sommet de
pile ;
- Dépilement qui a pour effet de retirer l'élement au sommet de
la pile et qui retourne cet élément.
- 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.