Tableau

Ce programme présente l'usage des tableaux.

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

Mode compilé

Commande de compilation

upscmp Source=tableau.upl

Commande d'exécution

tableau

Mode interprété

upssng Source=tableau.upl

Fichier source

Source Composant "Exemple d'emploi du type Tableau" Version 4.0.0;

Procedure EcrireTableau(M : Caractere, T : Tableau[?] De Caractere)
/*****************************************************************/
Variable
/******/
Debut
Ecran.Ecrire(M);
Pour I=T.BorneMin JusquA T.BorneMax Faire 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
/******/
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

Résultat de l'exécution

Construction a A a B a C Inserer a A X Y Z a B a C 3 2 Remplacer X A X B X C Remplacer a A X B X C 0 2 Supprimer A B C Supprimer a A B C Retailler(20) a A a B a C Retailler(2) a A []++ 1 []-- 2 ++[] 2 --[] 1 []+1 2 []+=1 3 [Nul]=10 10 [Nul]++ 10 [Nul]-- 11 [Nul]+1 11 [Nul]+=1 12