Le fichier source est ${UPS_HOME}/upsvtm/demo/${UPS_LANGUAGE}/tableau.upl.
upscmp Source=tableau.upl
tableau
upssng Source=tableau.upl
Source Composant "Exemple d'emploi du type Tableau" Version 4.0.0;
Procedure EcrireTableau(M : Caractere, T : Tableau[?] De Caractere)
/*****************************************************************/
Variable
/******/
I : Entier;
Debut
Ecran.Ecrire(M);
Pour I=T.BorneMin JusquA T.BorneMax Faire
Ecran.Ecrire(T[I]);
Fin Pour
Ecran.Ecrire("\n");
Fin Procedure
Procedure EcrireEntier(M : Caractere, E : Nul Ou Entier)
/******************************************************/
Debut
Ecran.Ecrire(M);
Ecran.Ecrire(E);
Ecran.Ecrire("\n");
Fin Procedure
Principal Optimiser(NePasFactoriserChaine)
/****************************************/
Variable
/******/
T : Tableau[10] De Caractere;
T2 : Tableau[1 JusquA 3] De Caractere;
T3 : Tableau[?] De Caractere;
C : Caractere;
T4 : Tableau[1] De Nul Ou Entier;
Debut
C="a";
T[0]=C;
T[1]="A";
T[2]=C;
T[3]="B";
T[4]=C;
T[5]="C";
EcrireTableau("Construction", T);
T2[1]="X";
T2[2]="Y";
T2[3]="Z";
EcrireTableau("Inserer", T.Copier().Inserer(T2,2));
Ecran.Ecrire(T.Compter(C));
Ecran.Ecrire(T.Compter(C,1));
EcrireTableau("Remplacer", T.RemplacerTous(C, "X"));
EcrireTableau("Remplacer", T.RemplacerTous(C, "X", 2));
Ecran.Ecrire(T.Rechercher(C));
Ecran.Ecrire(T.Rechercher(C,1));
EcrireTableau("Supprimer", T.Supprimer(C));
EcrireTableau("Supprimer", T.Supprimer(C, 2));
T3=T.Cloner().Retailler(20, Caractere());
EcrireTableau("Retailler(20)", T3);
T3=T.Cloner().Retailler(2, Caractere());
EcrireTableau("Retailler(2)", T3);
T4[0]=1;
EcrireEntier("[]++", T4[0]++);
EcrireEntier("[]--", T4[0]--);
EcrireEntier("++[]", ++T4[0]);
EcrireEntier("--[]", --T4[0]);
T4[0]=T4[0]+1;
EcrireEntier("[]+1", T4[0]);
T4[0]+=1;
EcrireEntier("[]+=1", T4[0]);
T4[Nul]=10;
EcrireEntier("[Nul]=10", T4[Nul]);
EcrireEntier("[Nul]++", T4[Nul]++);
EcrireEntier("[Nul]--", T4[Nul]--);
T4[Nul]=T4[Nul]+1;
EcrireEntier("[Nul]+1", T4[Nul]);
T4[Nul]+=1;
EcrireEntier("[Nul]+=1", T4[Nul]);
Fin Principal