{ Type agrege de stockage des informations } { relatives a une date codee sous la forme } { jour, mois, annee } structure date   entier j <- 1   entier m <- 1   entier a <- 1901 fin structure { Fonction 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(-> date d1,-> date d2) entier res 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 { Action de tri a bulle d'un tableau } { de date par ordre chronologique } action triBulleTableauDeDates(-> date [] t ->) entier j date aux booleen permutation entier np np <- longueur(t)-1 faire permutation <- faux pour j de 0 à np-1 faire si ordre(t[j],t[j+1]) == 1 alors aux <- t[j] t[j] <- t[j+1] t[j+1] <- aux permutation <- vrai fsi fait np <- np-1 tantque permutation == vrai fin action