On dispose d'une chaîne bidirectionnelle avec des éléments contenant un nombre entier (pouvant être négatif). Ecrire une procédure qui reçoive en paramètre la chaîne et un entier, puis se déplace à la position dans la chaîne indiquée par cet entier et utilise le contenu de cette position (nombre entier pouvant être négatif) pour se déplacer à nouveau, mais cette fois de manière relative à la position courante. La procédure réitère ces déplacement relatifs en fonction de la nouvelle position courante jusqu'à ce qu'un déplacement la fasse sortir de la chaîne ou que l'on revienne sur un élément déjà visité. La procédure retournera alors le type d'arrêt et la position du dernier élément examiné.
Exemple:
Si l'on donne à la procédure le nombre 1, elle ira examiner le 1er élément de la chaîne, qui contient la valeur 2. Elle ira ensuite examiner la position 3 (position courante=1, déplacement relatif=2), puis la position 2 (position courante=3, déplacement relatif=-1) et s'arrêtera là car la prochaine position serait 6 et que la chaîne est de longueur 4.N.B.: En plus de la procédure, donner les déclarations de type nécessaires pour la structure de chaîne.
Site Hosting: Bronco