Le fichier source est ${UPS_HOME}/upsvtm/demo/${UPS_LANGUAGE}/collection2.upl.
upscmp Source=collection2.upl
collection2
upssng Source=collection2.upl
Source Composant "Exemple d'emploi des collections" Version 4.0.0;
Procedure EcrireCollection(M : Caractere, C : CollectionDe Caractere)
/*******************************************************************/
Variable
/******/
C2 : Caractere;
Debut
Ecran.Ecrire(M);
Pour C2=C.ParcoursAuDebut() JusquA C.DernierElement() Pas C.Suivant() Faire
Ecran.Ecrire(C2);
Fin Pour
Ecran.Ecrire("\n");
Fin Procedure
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
Fonction CalculerCle(C : Caractere) Retourner Entier
/************************************************/
Debut
Si C==Nul Alors
Retourner 0;
Fin Si
Retourner C[0];
Fin Fonction
Principal Optimiser(NePasFactoriserChaine)
/****************************************/
Variable
/******/
B : Binaire;
C : Caractere;
L : ListeDe Caractere;
T : Tableau[?] De Caractere;
A : ArbreBinaireDe Caractere;
H : HachageDe Caractere;
Debut
B=CollectionDe(65, 0, 66, 0, 67, 0, 68, 0, 69, 0, 70, 0, 0);
Ecran.Ecrire(Caractere(B));
Ecran.Ecrire("\n");
C=CollectionDe(65, 66, 67, 68, 69, 70);
Ecran.Ecrire(C);
Ecran.Ecrire("\n");
L=ListeDe("a");
L=CollectionDe("A", "B", "C", "D", "E", "F");
EcrireCollection("Liste", ICollection(L));
T=TableauDe(0, 10, "a");
T=CollectionDe("A", "B", "C", "D", "E", "F");
EcrireCollection("Tableau", ICollection(T));
A=ArbreBinaireDe(F, Faux);
A=CollectionDe("A", "B", "C", "D", "E", "F");
EcrireCollection("Arbre", ICollection(A));
H=HachageDe(CalculerCle, 16);
H=CollectionDe("A", "B", "C", "D", "E", "F");
EcrireCollection("Hachage", ICollection(H));
B={65, 0, 66, 0, 67, 0, 68, 0, 69, 0, 70, 0, 0};
Ecran.Ecrire(Caractere(B));
Ecran.Ecrire("\n");
C={65, 66, 67, 68, 69, 70};
Ecran.Ecrire(C);
Ecran.Ecrire("\n");
L=ListeDe("a");
L={"A", "B", "C", "D", "E", "F"};
EcrireCollection("Liste", ICollection(L));
T=TableauDe(0, 10, "a");
T={"A", "B", "C", "D", "E", "F"};
EcrireCollection("Tableau", ICollection(T));
A=ArbreBinaireDe(F, Faux);
A={"A", "B", "C", "D", "E", "F"};
EcrireCollection("Arbre", ICollection(A));
H=HachageDe(CalculerCle, 16);
H={"A", "B", "C", "D", "E", "F"};
EcrireCollection("Hachage", ICollection(H));
Fin Principal