Commande de compilation...
Commande d'exécution...
Fichier source...
upscmp Source=arbre.upl
arbre
Source Composant "Exemple d'emploi du type ArbreBinaire" Version
1.0.0;
Fonction F(O1 : Nul Ou Caractere, O2 : Nul Ou Caractere) Retourner
ComparaisonObjet
/*****************************************************************************/
Debut
Si O1==Nul Ou O2==Nul Alors
Retourner ComparaisonNul;
Fin Si
Si O1 < O2 Alors
Retourner ComparaisonAvant;
Fin Si
Si O1 > O2 Alors
Retourner ComparaisonApres;
Fin Si
Retourner ComparaisonEgal;
Fin Fonction
Procedure EcrireArbre(A : Nul Ou ArbreBinaireDe Nul Ou Caractere)
/*************************************************************/
Variable
C : Nul Ou Caractere;
Debut
Pour C=A.ParcoursAuDebut() JusquA A.DernierElement() Pas A.Suivant()
Faire
Ecran.Ecrire(C);
Fin Pour
Fin Procedure
Procedure EcrireArbre2(A : Nul Ou ArbreBinaireDe Nul Ou Caractere)
/**************************************************************/
Variable
C : Nul Ou Caractere;
Debut
Pour C=A.ParcoursALaFin() JusquA A.PremierElement() Pas A.Precedent()
Faire
Ecran.Ecrire(C);
Fin Pour
Fin Procedure
Procedure EcrireArbre3(A : Nul Ou ArbreBinaireDe Nul Ou Caractere)
/**************************************************************/
Variable
C : Nul Ou Caractere;
Debut
Pour C=A.ParcoursAuDebut() JusquA A.DernierElement() Pas A.SuivantGroupe()
Faire
Ecran.Ecrire(C);
Fin Pour
Fin Procedure
Procedure EcrireArbre4(A : Nul Ou ArbreBinaireDe Nul Ou Caractere)
/**************************************************************/
Variable
C : Nul Ou Caractere;
Debut
Pour C=A.ParcoursALaFin() JusquA A.PremierElement() Pas A.PrecedentGroupe()
Faire
Ecran.Ecrire(C);
Fin Pour
Fin Procedure
Procedure EcrireArbre5(A : Nul Ou ArbreBinaireDe Nul Ou Caractere)
/**************************************************************/
Variable
C : Nul Ou Caractere;
Debut
Pour C=A.ParcoursAuDebut() JusquA A.DernierElement() Pas A.SuivantGroupe()
Faire
Ecran.Ecrire("Groupe "+Caractere(A.NumeroElement()));
Pour C=A.PremierElementGroupe() JusquA A.DernierElementGroupe() Pas
A.Suivant() Faire
Ecran.Ecrire(A.Element());
Fin Pour
Fin Pour
Fin Procedure
Principal Optimiser(NePasFactoriserChaine)
/****************************************/
Variable
A1 : Nul Ou ArbreBinaireDe Nul Ou Caractere;
A2 : Nul Ou ArbreBinaireDe Nul Ou Caractere;
A3 : Nul Ou ArbreBinaireDe Nul Ou Caractere;
Coucou : Caractere;
Bonjour : Caractere;
Salut : Caractere;
Schluss : Caractere;
I : Entier;
LibelleA : Caractere;
LibelleB : Caractere;
LibelleC : Caractere;
LibelleD : Caractere;
LibelleE : Caractere;
LibelleF : Caractere;
Debut
Coucou="coucou";
Bonjour="bonjour";
Salut="salut";
Schluss="schluss";
A1=ArbreBinaireDe(F, Faux);
A1+=Bonjour;
A1+="hello";
A1+="guten tag";
A1+="hello";
A1+="coucou";
A1+=Coucou;
A1+=Salut;
A1+="hie";
A1+=Schluss;
EcrireArbre(A1);
Ecran.Ecrire("\n");
EcrireArbre2(A1);
Ecran.Ecrire("\n");
EcrireArbre3(A1);
Ecran.Ecrire("\n");
EcrireArbre4(A1);
Ecran.Ecrire("\n");
A2=ArbreBinaireDe(F, Faux);
A2+=Schluss;
A2+="hie";
A2+=Salut;
A2+=Coucou;
A2+="bonjour";
A2+="hello";
A2+="guten tag";
A2+="hello";
A2+=Bonjour;
EcrireArbre5(A2);
Ecran.Ecrire("\n");
Si A1==A2 Alors
Ecran.Ecrire("A1==A2");
Fin Si
Si A1!=A2 Alors
Ecran.Ecrire("A1!=A2");
Fin Si
Ecran.Ecrire(A1.PremierElement());
Ecran.Ecrire(A1.DernierElement());
Ecran.Ecrire(A1.NbElements);
Ecran.Ecrire(A1.NbGroupes);
Ecran.Ecrire("\n");
Ecran.Ecrire(A1.Compter(Bonjour));
Ecran.Ecrire("\n");
A2=A2.SupprimerTous(Schluss);
EcrireArbre(A2);
Ecran.Ecrire("\n");
A2=A2.RemplacerTous(Bonjour, "hola");
EcrireArbre(A2);
Ecran.Ecrire("\n");
A2=A1.Gauche(Coucou);
EcrireArbre(A2);
Ecran.Ecrire("\n");
A2=A1.Gauche(Salut);
EcrireArbre(A2);
Ecran.Ecrire("\n");
A2=A1.Droite(Coucou);
EcrireArbre(A2);
Ecran.Ecrire("\n");
A2=A1.Droite(Salut);
EcrireArbre(A2);
Ecran.Ecrire("\n");
A2=A1.Milieu(Coucou,Salut);
EcrireArbre(A2);
Ecran.Ecrire("\n");
A2=A1;
EcrireArbre(A2);
Ecran.Ecrire("\n");
Pour I=0 JusquA A1.NbElements-1 Faire
Ecran.Ecrire(A1[I]);
Fin Pour
Ecran.Ecrire("\n");
LibelleA="A";
LibelleB="B";
LibelleC="C";
LibelleD="D";
LibelleE="E";
LibelleF="F";
A1=ArbreBinaireDe(F, Faux);
A1+=LibelleA;
A1+=LibelleB;
A1+=LibelleC;
A1+=LibelleD;
A2=ArbreBinaireDe(F, Faux);
A2+=LibelleC;
A2+=LibelleD;
A2+=LibelleE;
A2+=LibelleF;
A3=A1.Union(A2);
EcrireArbre(A3);
Ecran.Ecrire("\n");
A3=A1.Intersection(A2);
EcrireArbre(A3);
Ecran.Ecrire("\n");
A3=A1.Soustraction(A2);
EcrireArbre(A3);
Ecran.Ecrire("\n");
A3=A1.Exclusion(A2);
EcrireArbre(A3);
Ecran.Ecrire("\n");
Fin Principal