constante reel PI <- 3.14159 { Type agrege de stockage d'un sommet 2D } structure sommet2D reel x <- 0.0 reel y <- 0.0 fin structure { Fonction de création et retour d'un tableau } { de sommet2D avec les positions } { des sommets d'un polygone regulier } { centré sur l'origine et de rayon r } { n : Le nombre de sommets du polygone } { r : Le rayon du polygone régulier } sommet2D [] fonction polygoneRegulier(-> entier n, -> reel r) i entier reel angle sommet2D [n] t pour i de 0 à longueur(t)-1 faire angle <- i*2.0*PI/longueur(t) t[i].x <- r*cos(angle) t[i].y <- r*sin(angle) fait retourner t fin fonction { Fonction de calcul et retour de la distance } { existant entre deux sommet2D } { p1 : Le premier sommet2D } { p2 : Le second sommet2D } reel fonction distance(-> sommet2D p1, -> sommet2D p2) réel l réel dx réel dy dx <- p2.x-p1.x dy <- p2.y-p1.y l <- sqrt(dx*dx+dy*dy) retourner l fin fonction { Fonction de calcul et retour de la longueur } { d'une ligne polygonale ouverte stockée } { dans un tableau de sommet2D } { t : Le tableau de sommet2D définissant } { la ligne polygonale } reel fonction longueurLigne(-> sommet2D [] t) reel l entier i l <- 0.0 pour i de 0 à longueur(t)-2 faire l <- l+distance(t[i],t[i+1]) fait retourner l fin fonction { Fonction de calcul et retour de la longueur } { d'une boucle polygonale stockée } { dans un tableau de sommet2D } { t : Le tableau de sommet2D définissant } { la boucle polygonale } reel fonction longueurBoucle(-> sommet2D [] t) réel l l <- longueurLigne(t) + distance(t[0],t[longueur(t)-1]) retourner l fin fonction