Fonction Optimiser(Invariant, NulAbsorbant) Filtrer(Critere : Nul Ou Fonction(O1: Nul Ou TypeElement, O2 : Nul Ou TypeElement) Retourner Booleen) Retourner Nul Ou Liste(Nul Ou TypeElement);
Si la liste est nulle ou si Critere est Nul, alors le résultat est Nul.
Critere est une fonction à un argument dont le type doit être identique au type des éléments de la liste à filtrer.
Type Personne Defaut
/******************/
Nom : Caractere;
DateDeNaissance : Date;
Constructeur();
Fin Type
/****************************************************************/
Fonction FiltrerDateDeNaissance(P : Nul Ou Personne) Retourner Booleen
/* Objet : Teste la date de naissance. */
/****************************************************************/
Debut
Si P==Nul Alors
Retourner Faux;
Fin Si
Retourner P.DateDeNaissance>Date(10,10,1968);
Fin Fonction
Principal
/*******/
Variable
/******/
L : ListeDe Nul Ou Personne;
Debut
...
L.Filtrer(FiltrerDateDeNaissance);
/* Filtre les éléments de la liste dont la date de naissance est supérieure ou égale au 10 octobre 1968 */
...
Fin Principal
- | - | - | - | - | - | - | - | - |