constante N : entier <- ... { nombre de dates } { Type agrege de stockage des informations } { relatives a une date codee sous la forme } { jour, mois, annee } structure date   j : entier <- 1   m : entier <- 1   a : entier <- 1901 fin structure { Methode de comparaison de deux Date } { vis a vis de l'ordre chronologique } { Valeur entiere retournee: } { 0 si Date egales } { -1 si la premiere Date est anterieure } { a la seconde } { 1 si la premiere Date est posterieure } { a la seconde } entier fonction ordre(d1,d2) Donnees d1 : date d2 : date Locales res : entier si d1.annee < d2.annee alors res <- -1 sinon si d1.annee > d2.annee alors res <- 1 sinon si d1.mois < d2.mois alors res <- -1 sinon si d1.mois > d2.mois alors res <- 1 sinon si d1.jour < d2.jour alors res <- -1 sinon si d1.jour > d2.jour alors res <- 1 sinon res <- 0 fsi fsi fsi fsi fsi fsi retourner res fin fonction { Methode de tri a bulle d'un tableau } { de date par ordre chronologique } action triBulleTableauDeDates(t) Donnees / Resultat t : Tableau [N] de date Locales i : entier j : entier aux : date permutation : booleen ne : entier np : entier cpt : entier ne <- N-1 np <- N-1 cpt <- 0 faire cpt <- cpt+1 permutation <- faux pour j de 0 à np-1 faire si ordre(t[j],t[j+1]) > 0 alors aux <- t[j] t[j] <- t[j+1] t[j+1] <- aux permutation <- vrai fsi np <- np-1 fait tantque permutation et ( cpt < ne ) fin action