Procedure Appliquer(Traitement : Nul Ou Procedure(O : Nul Ou TypeElement));
Procedure Appliquer(Traitement : Nul Ou Procedure(O1 : Nul Ou TypeElement, O2 : Nul Ou Objet), L : Nul Ou Liste(Nul Ou Objet));
Fonction Optimiser(NulAbsorbant) Appliquer(Traitement : Nul Ou Fonction(O : Nul Ou TypeElement) Retourner Nul Ou TypeElement) Retourner Nul Ou Liste(Nul Ou TypeElement);
Fonction Optimiser(NulAbsorbant) Appliquer(Traitement : Nul Ou Fonction(O1 : Nul Ou TypeElement, O2 : Nul Ou Objet) Retourner Nul Ou TypeElement, L : Nul Ou Liste(Nul Ou Objet)) Retourner Nul Ou Liste(Nul Ou TypeElement);
Si Traitement est une procédure, alors il n'y a pas de résultat. Si Traitement est une fonction, alors le résultat est la liste composée des résultats des appels.
Si Traitement possède un paramètre, alors seule la liste sur laquelle s'applique la méthode Appliquer est parcourue. Si Traitement possède deux paramètres, alors la liste sur laquelle s'applique la méthode Appliquer et la liste L sont parcourues en parallèle. Le parcours s'arrête alors au dernier élément de la plus courte des deux.
Si Traitement est une procédure ou une fonction à un argument, alors le type de son paramètre doit être identique au type des éléments de la liste.
Si Traitement est une procédure ou une fonction à deux arguments, alors le type de son premier paramètre doit être identique au type des éléments de la liste et celui de son second paramètre doit être identique au type des éléments de la liste L.
Si la liste est nulle, si Traitement est Nul ou si L est Nul, alors le résultat est Nul.
Type Personne Defaut
/******************/
Nom : Caractere;
DateDeNaissance : Date;
Constructeur();
Fin Type
/****************************************************************/
Procedure AfficherPersonne(P : Nul Ou Personne)
/* Objet : Affiche une personne. */
/****************************************************************/
Debut
Ecran.Ecrire(P.Nom+":"+Caractere(P.Date));
Fin Procedure
Principal
/*******/
Variable
/******/
L : ListeDe Nul Ou Personne;
Debut
...
L.Appliquer(AfficherPersonne);
/* Affiche les noms et les dates de naissances des personnes. */
...
Fin Principal
- | - | - | - | - | - | - | - | - |