Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#1 01-12-2013 10:59:28

dylan :)
Invité

algorithme

bonjour je doit faire un dm de math pour lundi et un exercice m'embête et sa fait trois jours que je suis dessus :

faire un algorithme en langage naturel qui demnde les coordonnées de trois points et qui dit si ces trois points sont alignés ou non.

voila ce que j'ai commencer à faire

variable
xa est un nombre
ya est un nombre
xb est un nombre
yb est un nombre
xc est un nombre
yc est un nombre
xAB est un nombre
yAB est un nombre
xAC est un nombre
yAC est un nombre

Début de l'algorithme
xAB prend la valeur xa-xb
yAB prend la valeur ya-yb
xAC prend la valeur xa-xc
yAC prend la valeur ya-yc

ensuite je ne sais pas quoi faire reellement est comment faut il marquer (sinon... donc...) pouvez vous m'aider :)

#2 01-12-2013 11:21:59

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 405

Re : algorithme

Bonjour Bob,

Trois points sont alignés dans cet ordre si les longueurs AB, BC, AC, sont telles que :
AB + BC = AC
Comme tu ne connais pas l'ordre, tu dois encore si échec, tester :
BA + AC =  BC
et si échec encore :
AC + CB = AB.
Si aucun des tests n'est vérifié, les trois points ne sont pas alignés...
Et ça oblige à des calculs de racine et à des comparaisons sur (en général) des valeurs approchées ce qui est malsain en informatique...

Je traiterais plutôt cela via la condition de colinéarité des vecteurs (c'est bien cette piste que tu suis ?) par exemple
[tex]A(x_A\;;\;y_A),\;B(x_B\;;\;y_B),\; C(x_C\;;\;y_C)[/tex]
Puis calcul des coordonnées, par exemple
[tex]\overrightarrow{AB}(x_B-x_A\;;\;y_B-y_A)[/tex]
[tex]\overrightarrow{AC}(x_C-x_A\;;\;y_C-y_A)[/tex]
puis
Si [tex](x_B-x_A)(y_C-y_A)-(x_C-x_A)(y_B-y_A)[/tex] = 0 alors les 3 points sont alignés
sinon ils ne sont pas alignés...

@+

Hors ligne

Pied de page des forums