Académique Documents
Professionnel Documents
Culture Documents
1/8
Solution Exercice 1 :
2/8
Exercice 2 (1 + 1.5
1.5 + 1.5 = 4 points) :
Soit « IND » un index des mots qui est défini par un tableau « Tab »de taille n où chaque case du tableau
« Tab » contient un entier qui représente la longueur du mot et un pointeur vers une liste linéaire chaînée
unidirectionnelle. Cette liste contient des mots de même longueurs à raison d’un mot par maillon. Le
tableau est trié selon l’ordre décroissant de la longueur du mot. Les listes sont triées par ordre alphabétique
(ordre croissant de A à Z).
type maillon = structure Const Max = 100 ;
val : chaîne de caractères type index = structure
suiv : * maillon Tab: Tableau [Max] de case
Fin Queue :entier
type ptrM = * maillon Fin
type case = structure
long : entier
tête :ptrM
Fin
Dans le but de supprimer un mot dans cet index, il est demandé d’écrire les modules suivants:
1. La fonction récursive « RechDichoTab » qui permet de faire la recherche dichotomique et de retourner
l’indice de la case du Tab contenant une longueur donnée (soit x) si elle existe, sinon elle retourne -1.
2. La fonction récursive « SuppLLC » qui permet de supprimer dans une liste linéaire chaînée ordonnée un
mot s’il existe.
3. En utilisant les fonctions précédentes, écrire la procédure « Supprimer (var ID : index, y : chaîne de
caractère) » qui permet de supprimer un mot « y » de l’index « ID ». Si la liste contenant le mot « y » devient
vide alors la case correspondante à sa longueur est supprimée du tableau Tab.
INDICATION. Vous pouvez utiliser les fonctions suivantes :
a. Longch(ch : chaine de caractère) : entier qui retourne le nombre de caractère dans ch.
b. Cmpch (ch1, ch2 : chaine de caractère) : entier qui compare les chaînes ch1 et ch2 et retourne une valeur négative
si (lexicalement) ch1 < ch2, nulle si ch1 = ch2 et positive si ch1 > ch2.
Solution Exercice 2 :
3/8
Solution Exercice 2 :
4/8
L2 Informatique Algorithmique et Structures de données 2017-2018
Exercice 3 (1 + 1.5 + 2.
2.5 = 5 points)
Un polynôme peut être représenté par une LLC triée dans l’ordre décroissant des puissances où chaque
maillon contient un monôme qui est représenté par un exposant et un coefficient (non nul). Par
exemple, le polynôme P(x) = 2x5+3x4+ 0.5x2+ 1 est représenté par la liste suivante :
type monome = structure type maillon = structure
coef :réel val : monome
puiss : entier positif suiv : * maillon
Fin Fin
type ptrM = * maillon
5/8
Solution Exercice 3 :
6/8
Exercice 4 (2 + 2.
2.5 = 4.5 points) :
Soit P une pile d’entiers implémentée de manière statique en utilisant un tableau de taille « max ».
Solution Exercice 4 :
7/8
Solution Exercice 4 :
Bon courage
8/8