Dans ce TD, nous aborderons les notions de structures, listes chaînées et entrées-sorties.
Plus précisément, nous allons travailler sur des listes chaînées de nombres complexes.
Le but de cette exercice est d'implémenter un certain nombre d'opérations sur des listes de nombres complexes,
en utilisant le module défini dans la question précédente.
Nous supposons que nous avons un tableau
memory contenant des cellules de listes.
Il s'agit d'abord de définir une structure
cell qui contient deux champs : une valeur complexe (
value) et l'indice dans
memory de la cellule suivante (
next).
Une liste est définie par un indice d'une cellule du tableau
memory qui sera la première cellule de la liste.
Le champ
next pourra avoir deux valeurs particulières, en plus de positions dans le tableau
memory:
- END (-1) indiquant que la cellule courante n'a pas de cellule suivante.
- EMPTY (-2) indiquant que la cellule n'appartient à aucune chaîne (pas de valeur et pas de cellule suivante).
Le tableau
memory sera déclaré en global.
A chaque fois que l'on voudra ajouter une nouvelle cellule dans une liste, celle-ci correspondra à la première cellule disponible dans le tableau
memory (cellule avec champ
next égal à EMPTY).
On donnera à ses deux champs les valeurs que l'on souhaite.