Examen info structures données fichiers uhii casa 2017 struc
Télécharger PDFUniversité Hassan II de Casablanca, Faculté des Sciences et Techniques - Mohammedia, Département Informatique.
Examen de 2 heures, Imfez 2017.
Exercice I : Fusion de Listes Ordonnées
Soient L1 et L2 deux listes de caractères totalement ordonnées.
Question a)
Écrire une fonction en langage C qui fusionne L1 et L2 en une seule liste L3 totalement ordonnée sans refaire le tri.
Question b)
Écrire le programme principal.
Exemple :
Si L1 = [A, F, H]
Et L2 = [B, D, G, X]
Alors L3 = [A, B, D, F, G, H, X]
Exercice II : Gestion d'un Tableau et d'une Liste Chaînée
Soit T un tableau contenant N éléments, où chaque élément est constitué par les champs suivants : NOM, PRÉNOM, ÂGE, SEXE.
Question 1
Trier le tableau T par ordre alphabétique en utilisant le tri par insertion.
Question 2
Construire une liste chaînée ordonnée à partir du tableau T ordonné.
Question 3
Écrire une fonction Cherche_personne qui effectue la recherche d'une personne dans la liste chaînée.
Question 4
Écrire une fonction Insere_personne qui insère une nouvelle personne dans la liste ordonnée en respectant le tri.
Question 5
Écrire une fonction Supprime_personne qui supprime une personne dans la liste ordonnée.
Question 6
Écrire une fonction liste_fic qui charge la liste ordonnée dans un fichier texte F1.
Question 7
Écrire une fonction fic_fic qui extrait du fichier principal F1 les enregistrements dont le sexe est 'f' pour les sauvegarder dans un autre fichier F2.
Question 8
Écrire le programme principal.
Ces exercices abordent des concepts fondamentaux en structures de données et algorithmique, tels que la manipulation de listes, le tri, la recherche et la gestion de fichiers.
Foire Aux Questions (FAQ)
Qu'est-ce qu'une liste totalement ordonnée ?
Une liste totalement ordonnée est une structure de données où chaque élément peut être comparé à tout autre élément de la liste, et leur ordre est bien défini selon un critère de comparaison (par exemple, ordre alphabétique pour des caractères, ordre numérique pour des nombres).
Pourquoi fusionner des listes sans refaire le tri ?
L'objectif est d'optimiser les performances. Si les deux listes d'origine sont déjà triées, une fusion intelligente peut créer la liste résultante triée en parcourant chaque liste une seule fois, ce qui est plus efficace que de concaténer les listes puis de les trier entièrement.
Quel est l'intérêt du tri par insertion pour un tableau ?
Le tri par insertion est simple à implémenter et efficace pour de petits tableaux ou des tableaux presque triés. Il insère chaque élément à sa place correcte dans la partie déjà triée du tableau, ce qui le rend intuitif à comprendre et à utiliser pour des cas spécifiques.