UFR de Mathématiques et d'Informatique
IUP 1, DEUG 2, 2002/2003
Programmation orientée objet
Travaux dirigés
Séances 8 et 9, avril







BigLyumineBrother et son graphe de connaissances






BigLyumineBrother souhaite enrichir sa base de données

BigLyumineBrother souhaite être au courant de qui connaît qui parmi les Lyumines.
En conséquence, il vous demande de lui écrire, pour utilisation dans son département de gestion des données sur les Lyumines, une classe GrapheDesConnaissances. En particulier, la méthode toString lui permettra d'obtenir une description ``texte'' du réseau de connaissances des Lyumines.





Un exemple de test est le suivant :





public class TestGrapheDesConnaissances {
  /* test de la classe GrapheDesConnaissances : */
  public static void main (String args []) {

    GrapheDesConnaissances graphe = new GrapheDesConnaissances() ;

    graphe.ajouterNoeud("LyuminePapa") ;
    graphe.ajouterNoeud("LyumineMama") ;

    System.out.println(graphe.contient("LyuminePapa")) ;
    System.out.println(graphe.contient("LyumineMama")) ;
    System.out.println(graphe.contient("Igor")) ;

    graphe.ajouterConnaissance("LyuminePapa", "LyumineMama") ;

    System.out.println(graphe.connaissance("LyuminePapa", "LyumineMama")) ;
    System.out.println(graphe.connaissance("LyuminePapa", "Igor")) ;

    System.out.println(graphe) ;
  }
}

Réalisation

Il s'agit donc d'écrire une classe GrapheDesConnaissances avec pour méthodes publiques :







Pour l'implantation de cette classe, vous choisissez de représenter le graphe sous la forme d'une liste de noeuds, où chaque noeud contient : Cela implique donc de définir la classe Noeud.





Indication : pour simplifier l'écriture de la classe, on pourra définir une méthode privée Noeud chercherNoeud(String nom), qui retournera le noeud de label nom, si nom est contenu dans le graphe, et une référence nulle sinon.


This document was translated from LATEX by HEVEA.