structure Polygone { nombre_sommets : entier sommets : tableau de 100 point } fonction saisirPolygone():Polygone { variable p : Polygone i : entier repeter { Afficher("nombre de sommets") Saisir(p.nombre_sommets) } jusqu'à (p.nombre_sommets>0 ET p.nombre_sommets<=100) Pour i allant de 0 à p.nombre_sommets-1 { p.sommets[i]<--saisirPoint() } retourne p } fonction Perimetre(E p:Polygone):réel { variable perimetre : réel i : entier perimetre <-- 0 Pour i allant de 0 à p.nombre_sommets-2 { perimetre <-- perimetre + distancePoints(p.sommets[i],p.sommets[i+1]) } perimetre <-- perimetre + distancePoints(p.sommets[p.nombre_sommets-1],p.sommets[0]) retourne perimetre } Algorithme Principal { variable Poly : Polygone perimetre : reel Poly <-- saisirPolygone() perimetre <-- Perimetre(Poly) Afficher("Périmetre = ", perimetre) }