Les fichiers sources sont dans le répertoire ${UPS_HOME}/upsvtm/demo/${UPS_LANGUAGE}/appel/.
upscmp Source=appel.upl
appel
upssng Source=appel.upl
Source Module "Exemple d'emploi des appels" Version 4.0.0 ModuleStatique;
Composant Dans "c:/up/exemples/appel1.upl";
Composant Dans "c:/up/exemples/appel2.upl";
Source Composant "Exemple d'emploi des appels" Version 4.0.0
RattacherA "c:/up/exemples/appel.upl";
Type TypeA Defaut
/***************/
A : Entier;
Constructeur();
Procedure Ecrire(P1 : Entier);
Procedure Ecrire(P1 : Caractere);
Fin Type
Variable
/******/
Prive :
/*****/
I : Nul Ou Caractere Lecture Public;
Procedure P(A : Entier)
/*******************/
Debut
Ecran.Ecrire("P(A:Entier);");
Fin Procedure
Procedure TypeA.Ecrire(P1 : Entier)
/*******************************/
Debut
Ecran.Ecrire("TypeA.Ecrire(P1:Entier)");
Ecran.Ecrire(P1);
Ecran.Ecrire("\n");
Fin Procedure
DebuterComposant
/**************/
Debut
I="Bonjour";
Fin DebuterComposant
TerminerComposant
/***************/
Debut
I=Nul;
Fin TerminerComposant
Source Composant "Exemple d'emploi des appels" Version 4.0.0
RattacherA "c:/up/exemples/appel.upl";
Fonction Factorielle2(N : Entier) Retourner Entier Recursif;
Fonction Factorielle3(N : Entier) Retourner Entier Recursif;
Procedure ActiverMiseAuPoint(A : Caractere)
/*****************************************/
Debut
Ecran.Ecrire("ActiverMiseAuPoint(A:Caractere)");
Ecran.Ecrire(A);
Ecran.Ecrire("\n");
Fin Procedure
Procedure P(A : Caractere Entree Sortie)
/**************************************/
Debut
Ecran.Ecrire("P(A:Caractere Entree Sortie)");
Ecran.Ecrire(A);
Ecran.Ecrire("\n");
A="hello";
Fin Procedure
Procedure TypeA.Ecrire(P1 : Caractere)
/************************************/
Debut
Ecran.Ecrire("TypeA.Ecrire(P1:Caractere)");
Ecran.Ecrire(P1);
Ecran.Ecrire("\n");
Fin Procedure
Fonction Factorielle(N : Entier) Retourner Entier
/***********************************************/
Debut
Si N==0 Alors
Retourner 1;
Fin Si
Retourner N*Factorielle(N-1);
Fin Fonction
Fonction Factorielle2(N : Entier) Retourner Entier
/************************************************/
Debut
Si N==0 Alors
Retourner 1;
Fin Si
Retourner N*Factorielle3(N-1);
Fin Fonction
Fonction Factorielle3(N : Entier) Retourner Entier
/************************************************/
Debut
Si N==0 Alors
Retourner 1;
Fin Si
Retourner N*Factorielle2(N-1);
Fin Fonction
Fonction FBooleen(A : Booleen Entree, B : Booleen Entree Sortie
, C : Booleen Sortie) Retourner Booleen
/**********************************************************/
Debut
Ecran.Ecrire("FBooleen");
Ecran.Ecrire(A);
Ecran.Ecrire(B);
B=Faux;
C=Faux;
Retourner Vrai;
Fin Fonction
Fonction FBooleenNul(A : Nul Ou Booleen Entree, B : Nul Ou
Booleen Entree Sortie, C : Nul Ou Booleen Sortie) Retourner
Nul Ou Booleen
/*************************************************************************/
Debut
Ecran.Ecrire("FBooleenNul");
Ecran.Ecrire(A);
Ecran.Ecrire(B);
B=Faux;
C=Faux;
Retourner Vrai;
Fin Fonction
Fonction FEntier(A : Entier Entree, B : Entier Entree Sortie,
C : Entier Sortie) Retourner Entier
/**********************************************************/
Debut
Ecran.Ecrire("FEntier");
Ecran.Ecrire(A);
Ecran.Ecrire(B);
B=0;
C=-1;
Retourner 1;
Fin Fonction
Fonction FEntierNul(A : Nul Ou Entier Entree, B : Nul Ou
Entier Entree Sortie, C : Nul Ou Entier Sortie) Retourner
Nul Ou Entier
/*************************************************************************/
Debut
Ecran.Ecrire("FEntierNul");
Ecran.Ecrire(A);
Ecran.Ecrire(B);
B=0;
C=-1;
Retourner 1;
Fin Fonction
Fonction FReel(A : Reel Entree, B : Reel Entree Sortie, C
: Reel Sortie) Retourner Reel
/**********************************************************/
Debut
Ecran.Ecrire("FReel");
Ecran.Ecrire(A);
Ecran.Ecrire(B);
B=0.0;
C=-1.0;
Retourner 1.0;
Fin Fonction
Fonction FReelNul(A : Nul Ou Reel Entree, B : Nul Ou
Reel Entree Sortie, C : Nul Ou Reel Sortie) Retourner Nul
Ou Reel
/*************************************************************************/
Debut
Ecran.Ecrire("FReelNul");
Ecran.Ecrire(A);
Ecran.Ecrire(B);
B=0.0;
C=-1.0;
Retourner 1.0;
Fin Fonction
Fonction FCaractere(A : Caractere Entree, B : Caractere Entree
Sortie, C : Caractere Sortie) Retourner Caractere
/**********************************************************/
Debut
Ecran.Ecrire("FCaractere");
Ecran.Ecrire(A);
Ecran.Ecrire(B);
B=";
C="Guten tag";
Retourner "Hello";
Fin Fonction
Fonction FCaractereNul(A : Nul Ou Caractere Entree, B : Nul
Ou Caractere Entree Sortie, C : Nul Ou Caractere Sortie)
Retourner Nul Ou Caractere
/*************************************************************************/
Debut
Ecran.Ecrire("FCaractereNul");
Ecran.Ecrire(A);
Ecran.Ecrire(B);
B=";
C="Guten tag";
Retourner "Hello";
Fin Fonction
Fonction CalculerCompteur(C : Entier) Retourner Entier
/**************************************************/
Debut
Retourner 10-C;
Fin Fonction
Principal
/*******/
Variable
/******/
VTypeA : TypeA;
B1 : Booleen;
B2 : Booleen;
B3 : Nul Ou Booleen;
B4 : Nul Ou Booleen;
E1 : Entier;
E2 : Entier;
E3 : Nul Ou Entier;
E4 : Nul Ou Entier;
R1 : Reel;
R2 : Reel;
R3 : Nul Ou Reel;
R4 : Nul Ou Reel;
C1 : Caractere;
C2 : Caractere;
C3 : Nul Ou Caractere;
C4 : Nul Ou Caractere;
C : Entier;
Debut
Ecran.Ecrire(I);
VTypeA.Ecrire(1);
VTypeA.Ecrire("coucou");
ActiverMiseAuPoint("Mise au point demandée");
Ecran.Ecrire(Factorielle(5));
Ecran.Ecrire(Factorielle2(5));
Ecran.Ecrire("\n");
B1=Vrai;
Ecran.Ecrire(FBooleen(Vrai, B1, B2));
Ecran.Ecrire(B2);
B3=Vrai;
Ecran.Ecrire(FBooleen(Vrai, B3, B4));
Ecran.Ecrire(B4);
B1=Vrai;
Ecran.Ecrire(FBooleenNul(Vrai, B1, B2));
Ecran.Ecrire(B2);
B3=Vrai;
Ecran.Ecrire(FBooleenNul(Vrai, B3, B4));
Ecran.Ecrire(B4);
E1=3;
Ecran.Ecrire(FEntier(2, E1, E2));
Ecran.Ecrire(E2);
E3=3;
Ecran.Ecrire(FEntier(2, E3, E4));
Ecran.Ecrire(E4);
E1=3;
Ecran.Ecrire(FEntierNul(2, E1, E2));
Ecran.Ecrire(E2);
E3=3;
Ecran.Ecrire(FEntierNul(2, E3, E4));
Ecran.Ecrire(E4);
R1=3.0;
Ecran.Ecrire(FReel(2.0, R1, R2));
Ecran.Ecrire(R2);
R3=3.0;
Ecran.Ecrire(FReel(2.0, R3, R4));
Ecran.Ecrire(R4);
R1=3.0;
Ecran.Ecrire(FReelNul(2.0, R1, R2));
Ecran.Ecrire(E2);
R3=3.0;
Ecran.Ecrire(FReelNul(2.0, R3, R4));
Ecran.Ecrire(R4);
C1="Bonjour";
Ecran.Ecrire(FCaractere("Buenos dias", C1, C2));
Ecran.Ecrire(C2);
C3="Bonjour";
Ecran.Ecrire(FCaractere("Buenos dias", C3, C4));
Ecran.Ecrire(C4);
C1="Bonjour";
Ecran.Ecrire(FCaractereNul("Buenos dias", C1, C2));
Ecran.Ecrire(C2);
C3="Bonjour";
Ecran.Ecrire(FCaractereNul("Buenos dias", C3, C4));
Ecran.Ecrire(C4);
C=0;
TantQue CalculerCompteur(C)!=5 Faire
Ecran.Ecrire(C);
C++;
Fin TantQue
Ecran.Ecrire("\n");
Pour C=0 JusquA CalculerCompteur(C) Faire
Ecran.Ecrire(C);
Fin Pour
Ecran.Ecrire("\n");
C=0;
Faire
Ecran.Ecrire(C);
C++;
JusquA
C==CalculerCompteur(C)
Fin Faire
Fin Principal