| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
| tc_info:2023-tp-texte-corr [2023/12/03 23:20] – edauce | tc_info:2023-tp-texte-corr [2023/12/04 09:47] (Version actuelle) – edauce |
|---|
| - ''noeud'' : un objet de type ''Noeud'' représentant le nœud suivant. | - ''noeud'' : un objet de type ''Noeud'' représentant le nœud suivant. |
| |
| c. Définissez une classe ''ArbreDeCompletion'' avec un nœud racine comme attribut. | c. Pour initialiser un arbre de complétion, créer un nœud vide dont le ''compteur'' vaut 0 et dont la liste des arêtes est une liste (''ArrayList'') vide. |
| | |
| Dans le constructeur, créer un nœud vide le ''compteur'' vaut 0 et dont la liste des arêtes est une liste (''ArrayList'') vide. | |
| |
| === 2. Fonction d'Insertion === | === 2. Fonction d'Insertion === |
| |
| Écrivez une méthode ''insererMot'' dans la classe ''ArbreDeCompletion'' pour insérer un mot dans l'arbre de complétion. | Écrivez une méthode ''insererMot'' dans la classe ''Noeud'' pour insérer un mot dans l'arbre de complétion. |
| - La fonction est récursive | * La fonction est récursive |
| - Elle prend comme argument une chaîne de caractères | * Elle prend comme argument une chaîne de caractères |
| |
| <note tip> | <note tip> |
| === 3. Fonction d'Affichage === | === 3. Fonction d'Affichage === |
| |
| Écrivez une méthode ''affiche'' dans la classe ''ArbreDeCompletion'' pour afficher la totalité de l'arbre de complétion. La fonction doit respecter les conditions suivantes : | Écrivez une méthode ''affiche'' dans la classe ''Noeud'' pour afficher la totalité de l'arbre de complétion. La fonction doit respecter les conditions suivantes : |
| | |
| * Elle doit parcourir l'arbre de manière récursive. | * Elle doit parcourir l'arbre de manière récursive. |
| * Elle doit afficher chaque mot complet trouvé ainsi que son compteur. | * Elle doit afficher chaque mot complet trouvé ainsi que son compteur. |
| === 4. Fonction d'Appartenance === | === 4. Fonction d'Appartenance === |
| |
| a. Écrivez une méthode ''appartient'' dans la classe ''ArbreDeCompletion'' qui retourne ''true'' si le mot est présent dans l'arbre de complétion et ''false'' sinon. La fonction doit respecter les conditions suivantes : | a. Écrivez une méthode ''appartient'' dans la classe ''Noeud'' qui retourne ''true'' si le mot est présent dans l'arbre de complétion et ''false'' sinon. La fonction doit respecter les conditions suivantes : |
| | |
| * Vous pouvez au choix utiliser une approche itérative ou récursive pour parcourir l'arbre. | * Vous pouvez au choix utiliser une approche itérative ou récursive pour parcourir l'arbre. |
| * La fonction doit retourner ''true'' uniquement si le mot complet est présent dans l'arbre (c'est à dire si la lecture de la dernière lettre conduit à un noeud terminal). | * La fonction doit retourner ''true'' uniquement si le mot complet est présent dans l'arbre (c'est à dire si la lecture de la dernière lettre conduit à un noeud terminal). |
| === 5. Fonction de Suggestion === | === 5. Fonction de Suggestion === |
| |
| Écrivez une méthode ''suivant'' dans la classe ''ArbreDeCompletion'' pour retourner une liste de mots complets à partir d'un préfixe donné. La fonction doit respecter les conditions suivantes : | Écrivez une méthode ''suivant'' dans la classe ''Noeud'' pour retourner une liste de mots complets à partir d'un préfixe donné. La fonction doit respecter les conditions suivantes : |
| * Elle doit utiliser une approche itérative de parcours de l'arbre jusqu'au nœud correspondant au préfixe. | * Elle doit utiliser une approche itérative de parcours de l'arbre jusqu'au nœud correspondant au préfixe. |
| * Elle doit faire appel à la fonction d'affichage du noeud atteint pour afficher l'ensemble des noeuds suivants | * Elle doit faire appel à la fonction d'affichage du noeud atteint pour afficher l'ensemble des noeuds suivants |
| a. Créez un arbre de complétion vide. | a. Créez un arbre de complétion vide. |
| | |
| b. Insérez les mots "chat", "chien", "chapeau", "bonjour", "bonsoir", "bon", "jour", "soir" dans l'arbre de complétion. | b. Insérez les mots ''"chat"'', ''"chien"'', ''"chapeau"'', ''"bonjour"'', ''"bonsoir"'', ''"bon"'', ''"jour"'', ''"soir"'' dans l'arbre de complétion. |
| | |
| c. Affichez l'arbre pour vérifier que les mots sont correctement insérés. | c. Affichez l'arbre pour vérifier que les mots sont correctement insérés. |
| | |
| d. Testez la fonction `suivant` avec le préfixe "bon" et affichez les résultats. | d. Testez la fonction ''suivant'' avec le préfixe ''"bon"'' et affichez les résultats. |
| | |
| e. Testez la fonction `appartient` avec les mots "chat", "maison", et "bonsoir", affichez le résultat pour chaque test. | e. Testez la fonction ''appartient'' avec les mots ''"chat"'', ''"maison"'', et ''"bon"'', affichez le résultat pour chaque test. |
| |
| |
| --- | --- |