{ Type agrege de stockage des informations } { relatives a une position en trois dimensions } structure position3D   reel x <- 0.0   reel y <- 0.0   reel z <- 0.0 fin structure { Fonction de calcul de la distance } { entre une positon3D et l'origine } reel fonction distanceOrigine(-> position3D p) reel d <- sqrt(p.x*p.x+p.y*p.y+p.z*p.z) retourner d fin fonction { Fonction de recherche de l'indice } { de la valeur maximale d'un tableau } { de position3D restreint } { a ses n+1 premieres valeurs } entier fonction indiceMaximum(-> entier n, -> position3D [] t) entier i reel d reel max <- distanceOrigine(t[n]) entier iMax <- n pour i de n-1 à 0 pas -1 faire d <- distanceOrigine(t[i]) si d > max alors max <- d iMax <- i fsi fait retourner iMax fin fonction { Action de tri par selection d'un tableau } { de position3D en fonction de la distance } { a l'origine } action triSelectionTableauPosition3D(-> position3D [] t ->) entier i position3D aux entier iMax pour i de longueur(t)-1 à 1 pas -1 faire iMax <- indiceMaximum(i,t) si iMax <> i alors aux <- t[iMax] t[iMax] <- t[i] t[i] <- aux fsi fait fin action