• Aucun résultat trouvé

TP2 de structures de données Exploration de textes

N/A
N/A
Protected

Academic year: 2022

Partager "TP2 de structures de données Exploration de textes"

Copied!
2
0
0

Texte intégral

(1)

TP2 de structures de données Exploration de textes

On veut ranger des mots dans une structure de liste linéaire chaînée bidirectionnelle circulaire d’arbres de recherche binaire de chaînes de caractères. Chaque arbre contient des mots de même longueur et est trié selon l’ordre lexicographique.

La liste est triée selon les longueurs des mots contenus dans les arbres. A tout moment, la tête de liste est le maillon contenant l’arbre avec les mots les plus courts.. La longueur maximale des mots est égale à L. La figure suivante schématise la structure.

Dans le but d’accélérer la recherche, le sens de la recherche d’un mot donné est déterminé en fonction de sa longueur. Il peut être dans le sens des aiguilles d’une montre (Sens direct) ou dans le sens contraire (Sens inverse). En d’autres termes, la recherche de tous les mots de longueur inférieure ou égale à L/2 se fera dans le sens direct et la recherche de tous les autres mots se fera en sens inverse.

Initialement, la liste est vide. Elle est élargie et rétrécie en fonction des insertions et des suppressions de mots.

// Programmation Khawarizm

Expérimenter les algorithmes de recherche, d’insertion et de suppression d’un mot donné sous l’environnement Khawarizm. On prendra L=31.

Votre algorithme principal de test aura l’allure suivante : Pour i=1 à 1000

Générer un mot aléatoire de longueur comprise entre 1 et L L’insérer dans un tableau Tab non ordonné

L’insérer dans la structure s’il n’existe pas Fin pour

Pour i=1 à 1000 Supprimer Tab[i]

Fin pour

Vérifier que la structure est bien vide

(2)

// Programmation C

Une fois que le programme marche avec Khawarizm, demander une traduction automatique vers C.

(a) La faire marcher dans un environnement de programmation C (CODE::BLOCKS, DEV-C, ...) (b) Sur le programme C

- Remplacer la génération aléatoire des mots par un texte ( Minimum 5000 mots) se trouvant dans un fichier.

- Éliminer le tableau

- Mettre en commentaire la boucle qui supprime tous les mots de la structure - Rajouter un module C qui vérifie que la structure est bien construite.

Votre structure est prête pour l’exploration ! N.B

On utilisera sous l’environnement Khawarizm:

- les machines abstraites définies sur les tableaux, les listes linéaires chaînées bidirectionnelles et les arbres.

Tableau : Element, Aff_element

Liste bidirectionnelle : Allouer, Liberer, Valeur, Aff_val, Suivant, Précédent, Aff_adrd, Aff_adrg

Arbre : Creernoeud, Liberernoeud, Info, Fg, Fd, Aff_info, Aff_fg, Aff_fd

- les fonctions Aleachaine et Aleanombre pour la génération aléatoire de mots et de nombres - la fonction Longchaine(S) qui donne la longueur de la chaine S

Notation :

Khawarizm : 12 pts C (a) : 3 pts

C (b) : 5 pts Passage au langage C

Il est peu probable que lors de la traduction, le programme obtenu ne tourne pas.

Dans ce cas, l’étudiant devra faire l’effort pour chercher et corriger l’erreur. Les principales erreurs sont dues principalement aux initialisations implicites de variables dans l’environnement Khawarizm.

Toute erreur reconnue pertinente et corrigée par l’étudiant sera récompensée par un bonus. Dans ce cas, nous envoyez le code Z pour lequel la traduction ne

fonctionne pas et le code C corrigé en nous indiquant les changements.

Si une erreur de traduction ne peut être corrigée, veuillez nous envoyer le code Z.

L’erreur sera corrigée pour vous.

Attention au plagiat !!!

Date de remise : 31 mai 2018

Références

Documents relatifs

Sur l’écran, vous pouvez voir un footballeur qui shoote en direction d’un écran sur lequel vous pouvez voir ce footballeur qui….. Dessiner sur la

Pour vous assurer que votre enfant a compris la leçon, vous pouvez lui demander de trouver le contraire des mots : grand, large, devant, poli, monter, propre, gauche, visible,

[r]

illustration vierge, dessiner les détails du Gloubidou et dire à quoi il sert.. Inventer des mots qui n’existent pas

 Textes à faire lire aux enfants pour aborder le son : [gn].. Un jour, je me suis promené dans

Consigne 1 : Retrouve le sens du verbe frapper dans les phrases en ajoutant à la fin des phrases : applaudir, impressionner, atteindre, cogner, tirer..  Le footballeur

Consigne 1 : Retrouve le sens du verbe frapper dans les phrases en les réécrivant avec : applaudir, impressionner, atteindre, cogner, tirer..  Le footballeur frappe

A l’oral, termine le récit d’Anna en remplaçant les mots en bleu dans le conte par trois mots différents, de sens proche.. Aide toi des