Bonjour,

je dois réaliser un tp qui me demande de calculer le périmètre d'une surface à plusieurs sommets.
En gros, une surface est vue comme un polygone à n sommets.
La formule est la suivante:
p=(somme(n-1 à 0)distance(bi,bi+1))+dist(bn,b0) avec distance(bi,bj)=racine carrée ((xj-xi)2+(yj-yi)2).

sachant que la méthode pour calculer la distance a déjà été faite:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
ALTER type t_bornes add member function getDistance(B t_bornes) return float cascade
/
CREATE OR REPLACE TYPE BODY  t_bornes AS
MEMBER FUNCTION getDistance(b t_bornes) RETURN float IS
distance float :=0;
BEGIN
distance := SQRT(POWER((b.coordonnees.x - SELF.coordonnees.x),2) + POWER((b.coordonnees.y - SELF.coordonnees.y),2));
RETURN distance;
END getDistance;
END ;
/
show errors;
l;
merci pour votre aide.