Usage des collections

Ce programme présente l'usage des collections d'objets pour alimenter un conteneur.

Le fichier source est ${UPS_HOME}/upsvtm/demo/${UPS_LANGUAGE}/collection2.upl.

Mode compilé

Commande de compilation

upscmp Source=collection2.upl

Commande d'exécution

collection2

Mode interprété

upssng Source=collection2.upl

Fichier source

Source Composant "Exemple d'emploi des collections" Version 4.0.0;

Procedure EcrireCollection(M : Caractere, C : CollectionDe Caractere)
/*******************************************************************/
Variable
/******/
Debut
Ecran.Ecrire(M);
Pour C2=C.ParcoursAuDebut() JusquA C.DernierElement() Pas C.Suivant() Faire 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 Fin Si
Si O1<O2 Alors Fin Si
Si O1>O2 Alors Fin Si
Retourner ComparaisonEgal;
Fin Fonction

Fonction CalculerCle(C : Caractere) Retourner Entier
/************************************************/
Debut
Si C==Nul Alors Fin Si
Retourner C[0];
Fin Fonction

Principal Optimiser(NePasFactoriserChaine)
/****************************************/
Variable
/******/
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

Résultat de l'exécution

ABCDEF ABCDEF Liste A B C D E F Tableau A B C D E F Arbre A B C D E F Hachage A B C D E F ABCDEF ABCDEF Liste A B C D E F Tableau A B C D E F Arbre A B C D E F Hachage A B C D E F