UNIVERSITE DE CARTHAGE - TP5: Les Tableaux et les chaînes de caractères
Ce TP de POO en Java couvre deux exercices pratiques : l'implémentation d'un tableau trié d'entiers avec gestion des insertions et suppressions, et la création d'une classe de découpage de chaînes de caractères en mots à l'aide de délimiteurs.
D'après le document UNIVERSITE DE CARTHAGE - TP5: Les Tableaux et les chaînes de caractères
Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source
Object-Oriented Programming (OOP) · Faculté des Sciences de Bizerte · PDF · 2 pages
Afficher l'aperçu du document
Ce TP porte sur la manipulation des tableaux triés d’entiers et le découpage de chaînes de caractères en mots selon des délimiteurs. Il permet d’apprendre à gérer des structures de données dynamiques, à implémenter des méthodes de recherche, d’insertion et de suppression dans un tableau trié, ainsi qu’à traiter des chaînes en extrayant des mots. Pour réaliser ce TP, il est nécessaire de maîtriser la programmation orientée objet en Java et de disposer d’un environnement de développement Java fonctionnel.
Objectifs
- Définir une classe représentant un tableau trié d’entiers avec insertion, recherche, suppression et affichage.
- Implémenter une classe permettant de découper une chaîne de caractères en mots selon des délimiteurs.
- Tester les classes créées à travers des programmes Java simples.
Prérequis et installation
- Connaissances en Java, notamment les classes, méthodes, tableaux et chaînes de caractères.
- Environnement Java configuré (JDK et IDE ou compilateur en ligne de commande).
- Compréhension des notions de tableau trié et des opérations de base sur les chaînes.
Exercice 1 : Classe TableauTrie
Cet exercice demande de créer une classe TableauTrie qui gère un tableau d’entiers trié en ordre croissant. Cette classe doit posséder un attribut privé tableau d’entiers, un constructeur pour allouer ce tableau selon une dimension donnée, et plusieurs méthodes pour insérer, rechercher, retirer et afficher des éléments.
Étapes à suivre
- Définir l’attribut privé tableau d’entiers.
- Créer un constructeur qui prend en paramètre la taille du tableau à allouer.
- Implémenter la méthode
void inserer(int entier)qui insère un entier dans le tableau tout en maintenant l’ordre croissant. - Implémenter la méthode
int rechercher(int entier)qui retourne l’indice de l’entier s’il est trouvé, sinon -1. - Implémenter la méthode
void retirer(int entier)qui supprime une occurrence de l’entier donné, ou affiche un message si l’entier n’est pas présent. - Implémenter la méthode
void affiche()qui affiche le contenu du tableau précédé du message « Ceci est un nouveau affichage ». - Écrire la classe
TestTableauTrieavec une méthodemainqui teste les fonctionnalités en suivant la séquence donnée :- Création d’un tableau de taille 10.
- Insertion des valeurs 1, 3 et 4.
- Affichage du tableau.
- Insertion de la valeur 0.
- Affichage du tableau.
- Insertion de la valeur 1.
- Affichage du tableau.
- Retrait de la valeur 2 (non présente).
- Affichage du tableau.
- Retrait de la valeur 1.
- Affichage du tableau.
Un résultat correct montre que le tableau reste trié après chaque insertion, que la recherche retourne les bons indices, que le retrait supprime une seule occurrence et affiche un message en cas d’absence, et que l’affichage commence toujours par le message précisé.
Exercice 2 : Classe Decouper
Ce second exercice consiste à compléter une classe Decouper qui découpe une chaîne de caractères en mots, en utilisant un ensemble de caractères délimiteurs (séparateurs) comme le blanc, le point, la virgule, etc.
Étapes à suivre
- Compléter le constructeur
Decouper(String str, String sep)pour initialiser les attributs :str: la chaîne à découper.sep: la chaîne des caractères séparateurs.istr: l’indice de position dans la chaîne, initialisé à 0.
- Implémenter la méthode
String motSuivant()qui retourne le mot suivant dans la chaînestren ignorant les délimiteurs, et avance l’indiceistrpour la prochaine extraction. - Implémenter la méthode
boolean ilResteDesMots()qui indique s’il reste encore des mots à extraire dans la chaîne. - Tester la classe dans la classe
TestDecouperavec la chaîne"Ceci.est.un.test"et le délimiteur".", en affichant chaque mot extrait.
Les méthodes doivent utiliser les fonctions indexOf(char c) et charAt(int i) de la classe String pour détecter les délimiteurs et extraire les mots.
Résultats attendus
Les résultats d'exécution doivent valider le comportement correct des deux classes demandées.
- Pour
TableauTrie, les affichages successifs doivent montrer un tableau trié avec les valeurs insérées, la suppression d’une occurrence d’un entier, et un message d’erreur si on tente de retirer un entier absent. - Pour
Decouper, l’extraction des mots doit afficher successivement :- Ceci
- est
- un
- test
Pièges courants
Plusieurs erreurs classiques doivent être évitées lors de l'implémentation de ces exercices :
- Dans
TableauTrie, ne pas maintenir l’ordre croissant après insertion ou suppression. - Oublier de gérer le cas où le tableau est plein lors d’une insertion.
- Dans la méthode de suppression, retirer toutes les occurrences au lieu d’une seule.
- Dans
Decouper, ne pas avancer correctement l’indiceistraprès extraction d’un mot, ce qui peut entraîner une boucle infinie. - Ne pas gérer correctement les délimiteurs consécutifs ou en début/fin de chaîne.
Commentaires
Aucun commentaire pour le moment. Posez la première question.