Exercices Série 7 (0.5pt.) [TP par binômes A rendre avant le 17

publicité
Algorithmique et Structures de données /
Eté 2004
Faculté des Sciences Economiques et Sociales
Gilles Falquet & El Mustapha El Atifi
Exercices Série 7 (0.5pt.)
[TP par binômes A rendre avant le 17-juin]
Exercice :
Complétez la classe ALettre, qui permet de construire un arbre à lettres.
Ensuite, utilisez cette classe pour construire un arbre à lettres à partir d'un fichier texte.
Finalement, lisez un fichier dont vous afficherez tous les mots qui ne se trouvent pas dans
l'arbre à lettres construit à partir du premier fichier.
Contenu du fichier « ALettre.java » :
import java.io.*;
import java.util.*;
public class ALettre{
char lettre;
boolean finDeMot;
ArrayList lettresSuivantes;
/* constructeur */
ALettre(char c){
lettre = c;
finDeMot = false;
lettresSuivantes = new ArrayList();
}
*/
/* permet de modifier la variable finDeMot
pour indiquer si un sous-arbre correspond ou non à la fin d'un mot
void setFinDeMot(boolean b){
finDeMot = b;
}
/* teste si l'arbre correspond à la fin d'un mot (dernière lettre) */
boolean isFinDeMot(){
return finDeMot;
}
28.05.2004
/* teste si le caractère c est l'une des lettres suivant la lettre
courante */
boolean contientLettre(char c){
for (int i=0; i<lettresSuivantes.size();i++){
ALettre a = (ALettre)lettresSuivantes.get(i);
if (a.lettre == c) return true;
}
return false;
}
/* retourne le sous-arbre (lettre suivante) correspondant au caractère c
*/
ALettre getSousArbre(char c){
for (int i=0; i<lettresSuivantes.size();i++){
ALettre a = (ALettre)lettresSuivantes.get(i);
if (a.lettre == c) return a;
}
return null;
}
/* ajoute mot dans l'arbre à lettres */
void ajouterMot(String mot){
A COMPLETER
}
/* teste si mot existe dans l'arbre à lettre */
boolean contientMot(String mot){
A COMPLETER
}
/* lecture du fichier dico, construction de l'arbre et vérification */
public static void main(String[] args){
A COMPLETER
}
}
28.05.2004
Téléchargement