package ab;                                                        // juin 04 //

public class TestAB {
  public static void main(String[] args) {
    System.out.println("TestAB");
    ArbreBinaire a =
        new ArbreBinaire("+",
                         new ArbreBinaire("-",
                                          new ArbreBinaire("f",
                                                           new ArbreBinaire("x")
                                                           ),
                                          new ArbreBinaire(new Integer(4))
                                          ),
                          new ArbreBinaire("g",
                                           new ArbreBinaire(new Double(5)),
                                           new ArbreBinaire("y")
                                           )
                          );
    // question II-1 exam mai 04
    System.out.println("\nquestion II-1 exam mai 04");
    System.out.println(a);
    System.out.println("représentation préfixe : " + a.formePrefixe());
    System.out.println("représentation postfixe : "+a.formePostfixe());
    System.out.println("représentation infixe : " + a.formeInfixe());
    System.out.println("représentation infixe parenthésée : " 
                      + a.formeInfixePar());
    // questions II-1a et 1b exam juin 04                                     //
    System.out.println("\nquestion II-1a et 1b exam juin 04");                //
    System.out.println("représentation par niveau : " + a.formeParNiveau());  //
    System.out.println("représentation par niveaux séparés : "                //
                      + a.formeParNiveauxSepares(" / "));                     //
    System.out.println("représentation par lignes de niveaux : "              //
                      + a.formeParNiveauxSepares("\n"));                      //
    // question II-2 exam mai 04
    System.out.println(
             "\nquestion II-2 exam mai 04\ndessin de l'arbre dans une Frame\n");
    DessinArbre d = new DessinArbre(a);
    d.pack();
    d.show();

    // avec les énumérations
    System.out.println("avec les énumérations");
    // question II-3 exam mai 04
    System.out.println("\nquestion II-3 exam mai 04");
    System.out.println("représentation préfixe : " + a.formePrefixeEn());
    System.out.println("représentation postfixe : "+a.formePostfixeEn());
    System.out.println("représentation infixe : " + a.formeInfixeEn());
    System.out.println("représentation infixe parenthésée : " 
                      + a.formeInfixeParEn());

    // question II-2 exam juin 04                                             //
    System.out.println("\nquestion II-2 exam juin 04");                       //
    System.out.println("représentation par niveau : " + a.formeParNiveauEn());//
    System.out.println("représentation par niveaux séparés : "                //
                      + a.formeParNiveauxSeparesEn(" / "));                   //
    System.out.println("représentation par lignes de niveaux : \n"            //
                      + a.formeParNiveauxSeparesEn("\n"));                    //
    // question II-3 exam juin 04                                             //
    System.out.println("\nquestion II-3 exam juin 04");                       //
    a=new ArbreBinaire(4);                                                    //
    d = new DessinArbre(a);                                                   //
    d.pack();                                                                 //
    d.show();                                                                 //
    }
}

/*

question I exam juin 04

javac -d ../../classes/ -classpath ../../../../partiel-mars04/classes *java

java -classpath ../../classes:../../../../partiel-mars04/classes  ab.TestAB

*/

/* TestAB
 
question II-1 exam mai 04
+
   -
      f
         x
      4
   g
      5.0
      y
représentation préfixe : + - f x 4 g 5.0 y
représentation postfixe :  x f 4 - 5.0 y g +
représentation infixe :  f x - 4 + 5.0 g y
représentation infixe parenthésée :  ( ( ( f x ) - 4 ) + ( 5.0 g y ) )
 
question II-1a et 1b exam juin 04
représentation par niveau : + - g f 4 5.0 y x
représentation par niveaux séparés :  / +  / - g  / f 4 5.0 y  / x  /
représentation par lignes de niveaux :
+
- g
f 4 5.0 y
x
 
 
question II-2 exam mai 04
dessin de l'arbre dans une Frame

avec les énumérations
 
question II-3 exam mai 04
représentation préfixe : + - f x 4 g 5.0 y
représentation postfixe : x f 4 - 5.0 y g +
représentation infixe : f x - 4 + 5.0 g y
représentation infixe parenthésée : ( ( ( f x ) - 4 ) + ( 5.0 g y ) )
 
question II-2 exam juin 04
représentation par niveau : + - g f 4 5.0 y x
représentation par niveaux séparés :  +  /  - g  /  f 4 5.0 y  /  x  /
représentation par lignes de niveaux :
 +
 - g
 f 4 5.0 y
 x
 
 
question II-3 exam juin 04
*
   +
      f
         1
         2
      g
         3
         4
   -
      h
         5
          
      k
          
         8
* + f 1 2 g 3 4 - h 5  k  8

*/

