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 { Action de remplissage d'un tableau } { de sommet2D initialisé avec les positions } { des sommets d'un polygone regulier } { centre sur l'origine et de rayon r } { r : Le rayon du polygone régulier } { t : Le tableau de sommet2D à remplir } action polygoneRegulier(r,t) Entrées reel r Entrées / Sorties Tableau [] de sommet2D t Locales i entier reel angle 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 fin action { Fonction de calcul et retour de la distance } { entre deux sommet2D } { p1 : Le premier sommet2D } { p2 : Le second sommet2D } reel fonction distance(p1,p2) Entrées sommet2D p1 sommet2D p2 Locales 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 stockee } { dans un tableau de sommet2D } { t : Le tableau de sommet2D définissant } { la ligne polygonale } reel fonction longueurLigne(t) Entrées Tableau [] de sommet2D t Locales 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 stockee } { dans un tableau de sommet2D } { t : Le tableau de sommet2D définissant } { la boucle polygonale } reel fonction longueurBoucle(t) Entrées t Tableau [] de sommet2D Locales l réel l <- longueurLigne(t) + distance(t[0],t[longueur(t)-1]) retourner l fin fonction