|
Calculer la distance entre deux couples (deux points) est souvent utile pour trouver le meilleure chemin sur une carte.
La formule pour trouver la distance entre deux points s'inspire de la formule de Pythagore (c2=√a2+b2) et de ses théories sur les triangles.
Vous trouverez la réponse que vous souhaitez, à l'aide du code source Free Pascal suivant:
Program Delta;
Function SquareRoot(X:Real):Real;
Var
A,B,M,XN:Real;
Begin
If X=0.0Then Begin
SquareRoot:=0.0;
End
Else
Begin
M:=1.0;
XN:=X;
While XN>=2.0 do Begin
XN:=0.25*XN;
M:=2.0*M;
End;
While XN<0.5 do Begin
XN:=4.0*XN;
M:=0.5*M;
End;
A:=XN;
B:=1.0-XN;
Repeat
A:=A*(1.0+0.5*B);
B:=0.25*(3.0+B)*B*B;
Until B<1.0E-15;
SquareRoot:=A*M;
End;
End;
Function Square(a:Real):Real;Begin
Square:=a*a;
End;
Function Distance(x1,y1,x2,y2:Real):Real;Begin
Distance:=SquareRoot(Square(y2 - y1) + Square(x2 - x1));
End;
BEGIN
WriteLn('Calcul la distance entre deux points (0,0)-(10,10): ',Distance(0, 0, 10, 10));
WriteLn('Calcul la distance entre deux points (2,2)-(10,10): ',Distance(2, 2, 10, 10));
WriteLn('Calcul la distance entre deux points (1,1)-(8,8): ',Distance(1, 1, 8, 8));
END.
|
on obtiendra le résultat suivant:
Calcul la distance entre deux points (0,0)-(10,10): 14.142135623731
Calcul la distance entre deux points (2,2)-(10,10): 11.3137084989848
Calcul la distance entre deux points (1,1)-(8,8): 9.89950
|
|
|
| Dernière mise à jour: Mardi, le 7 février 2006 |