Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

Algorithme.

Posté par
Tiffany-62
06-03-12 à 23:53

Bonsoir, et avant tout, merci du me consacrer un instant.

Sur l'image jointe, j'ai dû complété les ligne 21 et 22 (une consigne précédente) et je pensais ce résultat juste avant d'avoir réalisé le calcul à la main comme le demande la consigne :

Déterminer une équation de la droite (AB) avec A(-2;6) et B(5;1) en utilisant la colinéarité des vecteurs. La réponse obtenue sera vérifiée avec l'algorithme.

Et d'obtenir 5x + 7y - 32 = 0 (ou -5x - 7y + 32 = 0).

Mais pas moyen de trouver une équation identique à celle obtenue avec mon programme.

J'ai cependant tracé certaines courbes et selon moi, c'est la formule obtenue manuscrit qui est juste..
Mais je ne vois pas où j'ai pu me tromper dans ces deux lignes (21 & 22)..

J'espère que quelqu'un pourra me venir en aide, merci d'avance.

Algorithme.

Posté par
Yves
re : Algorithme. 06-03-12 à 23:59

Ben c'est normal, ton algorithme est mauvais...
Compare le calcul que tu as fait à la main avec ce que tu as écris en ligne 20, 21 et 22...

Posté par
Tiffany-62
re : Algorithme. 07-03-12 à 00:01

Je me doute qu'il y a une erreur soit dans la ligne 21, soit dans la 22 et bien que ma version papier soit correcte, je n'arrive pas à mettre les deux en parallèle..

Posté par
Yves
re : Algorithme. 07-03-12 à 00:16

Il y a aussi erreur dans la ligne 20...
Oublie quelques instants cet histoire d'algorithme.

Deux points distincts sont donnés M(xM,yM) et N(xN,yN)
et si l'équation de la droite passant par M et N est de la forme ax +by + c = 0

Exprime a en fonction de xM,yM,xN,yN
Exprime b en fonction de xM,yM,xN,yN
Exprime c en fonction de xM,yM,xN,yN


Au besoin fais un petit schéma pour t'aider à trouver les 3 formules, mais de ce que je comprends tu as fait le calcul à la main donc tu as peut-être réussi à les écrire correctement (manuellement). Ce sont ces formules qu'il te faudra reprendre en lignes 20,21 et 22.

Posté par
Tiffany-62
re : Algorithme. 07-03-12 à 00:17

Il ne peut y avoir erreur dans la ligne 20, elle provient de mon manuel. :/

Posté par
Yves
re : Algorithme. 07-03-12 à 00:23

Pour t'aider tu peux chercher k de sorte à avoir l'égalite suivante pour tout point de ta droite (dans le mesure où ta droite n'est pas verticale...):

(y-yN) = k.(x-xN)

Et quand tu a trouvé k, passer à une équation de type ax + by + c = 0 devient évident

Posté par
Tiffany-62
re : Algorithme. 07-03-12 à 00:25

Manuellement, je suis passée par les formules vectorielles :

A(-2;6) et B(5;1)

   Alors vecteur AB (xb- xa ; yb- ya)
         vecteur AB ( 5 + 2 ; 1 - 6)
         vecteur AB (7 ; -5)

M(x;y)
  
   M appartient à (AB) correspond à "vecteur AM et vecteur AB sont colinéaires".

Vecteur AM ( x + 2 ; y - 6)


(AB) : 7( y - 6) - 5(x + 2) = 0.
     : 7y -42 + 5x + 10 = 10.
     : 5x + 7y - 32 = 0.


Après, je ne sais pas comment les retranscrire ligne 21 et 22 ..

Posté par
Yves
re : Algorithme. 07-03-12 à 00:27

[quote]Il ne peut y avoir erreur dans la ligne 20, elle provient de mon manuel. :/]

Dans une équation de type ax+by+c = 0 tu as une infitité de "a" possibles (à un coefficient multiplicateur prêt, tout revient au même suaf a=0)
C'est uniquement une fois que l'un des 3 coeff (a,b ou c) est fixé que les 2 autres le sont aussi. Ton manuel pourrait tout aussi bien te dire que a = 0 ou a = 2012...

Posté par
Tiffany-62
re : Algorithme. 07-03-12 à 00:29

Bien que la valeur de a puisse changer, la formule (Yn-Ym) pour l'obtenir peut aussi changer ?

Posté par
Yves
re : Algorithme. 07-03-12 à 00:33

C'est bien ce que tu as fait avec les vecteurs colinéaires.

Mais ne fais pas l'application numérique, reprends ton calcul de façon algébrique

Posté par
Yves
re : Algorithme. 07-03-12 à 00:36

Il y a une infinité d'écrire l'équation d'une même droite. Mais si ton énoncé t'impose a = Yn - Ym alors évidement tu n'y touches pas et adapteras les coef b et c en fonction.
     5x + 7y - 32 = 0
     10x + 14y - 64 = 0
     x + 7/5 - 32/5 = 0

Posté par
Tiffany-62
re : Algorithme. 07-03-12 à 00:37

Avec des formules telle que : a = (Yb-Ya) / (Xb-Xa) ?

Posté par
Yves
re : Algorithme. 07-03-12 à 00:38

Oui Mais cette dernière formule a un petit défaut : le cas particulier où ta droite serait verticale... Ceci dit tu es sur la bonne voie

Posté par
Tiffany-62
re : Algorithme. 07-03-12 à 00:42

Euh ben.. je pédale dans la semoule là.. ^^'

Posté par
Tiffany-62
re : Algorithme. 07-03-12 à 00:49

Le coefficient directeur n'est pas valide dans ce cas ?

Posté par
Yves
re : Algorithme. 07-03-12 à 01:01

Reprends ton calcul manuel, mais sans utiliser les valeurs numériques, conserve les symboles

A(xa;ya) et B(xb;yb)

   Alors vecteur AB (xb- xa ; yb- ya)
        
M(x;y)
  
   M appartient à (AB) correspond à "vecteur AM et vecteur AB sont colinéaires".

Vecteur AM ( x - xa ; y - ya)


Colinéarité (xb-xa)( y - ya) + (yb-ya)(x - xa) = 0.

Tu regroupes en premier les coef de x, puis ceux de y et enfin tu gardes le reste de sorte à faire apparaitre une équation de la forme ax + by + c =0

     : (yb-ya)x + (xb-xa)y - (xb-xa)ya - (yb-ya)xa = 0. )

Maintenant il te faut faire une toute petite gymnastique intellectuelle pour passer de la notation en (xa,ya) (xb,yb) de ton calcul vers la notation (xM,yM) (xN,yN) de ton programme

Et tu trouves
ligne 20 a = yN - yM (tu devrais être heureuse, tu n'as m^me as de problème de coefficient lultiplicatuer à corriger pour t'aligner sur ton énoncé)
ligne 21 b = xN - xM
ligne 22 c = - a.xM - b.yM

Posté par
Yves
re : Algorithme. 07-03-12 à 01:06

Citation :
Le coefficient directeur n'est pas valide dans ce cas ?

Si ta droite est verticale Xb = Xa
Et tu as alors un problème de division par zero dans la formule a = (Yb-Ya) / (Xb-Xa) (ton coef directeur est infini)

Posté par
Yves
re : Algorithme. 07-03-12 à 01:10

C'est pourcela qu'il est plus sage d'écrire l'équation de ta droite sous la forme
ax + by + c = 0  (où chacun des termes ne risque pas d'engendrer une division pas zéro)

et de résiter à la tentation de l'écrire
y = -a/b.x - c/b  (équation tout aussi valable sauf dans le cas particulier de la droite verticale où cela ne marche plus, ton coef b étant nul)

Posté par
Tiffany-62
re : Algorithme. 07-03-12 à 01:16

Je comprends le principe et réalise (enfin) que c'était pas faisable avec des vecteurs.. ><

Mais, je dois vraiment être pas douée, je n'arrive toujours pas a obtenir le même résultat avec mon programme qu'avec ma version papier, bien que j'ai modifié la ligne 22..

Posté par
Tiffany-62
re : Algorithme. 07-03-12 à 01:18

Ah oui ! Je comprends l'histoire de la formule.

Je suis partie du programme et donc du principe que xM et xN ne soient pas confondus. ^^'

Posté par
Yves
re : Algorithme. 07-03-12 à 03:12

Il y a (je crois) une erreur de signe dans le test de colinéarité.
le text devrait être : (xb-xa)( y - ya) - (yb-ya)(x - xa) = 0.

Vérifie cela puis les calculs qui en découlent pour la ligne 21 et la ligne 22.

Posté par
Tiffany-62
re : Algorithme. 07-03-12 à 09:56

Oui, lorsque je l'ai recopier, plus haut, j'ai fais une erreur mais j'ai poursuivie le texte comme si j'avais mis :

7(y-6) + 5(x+2) = 0 ; car en fait le 5 est négatif, soit 7(y-6) - -5(x+2) =0.

Donc ma version papier reste bonne, non ?


& lorsque je change le signe de la ligne 22, je n'obtiens pas le même résultat..

Posté par
Yves
re : Algorithme. 07-03-12 à 11:58

Qu'as-tu écris en ligne 20,21 et 22 de ton programme?

Posté par
Tiffany-62
re : Algorithme. 07-03-12 à 12:46

20 : a = yN - yM
21 : b = xN - xM
22 : c = a*xM - b*yM

Posté par
Yves
re : Algorithme. 07-03-12 à 13:49

Tu as un problème de signe à la ligne 21.
Une fois corrigé le coef b, vérifie ensuite la formule adaptée pour le calcul de c

Il me semble que cela devrait te donner ceci

(xb-xa)( y - ya) - (yb-ya)(x - xa) = 0
-(yb-ya)x + (xb-xa)y - (xb-xa)ya + (yb-ya)xa = 0
(ya-yb)x + (xb-xa)y - (xb-xa)ya - (ya-yb)xa = 0


20 : a = yN - yM      (i.e A=N B=M)
21 : b = xM - xN
22 : c = - a*xN - b*yN

Posté par
Tiffany-62
re : Algorithme. 10-03-12 à 14:22

Merci beaucoup !

Posté par
Yves
re : Algorithme. 11-03-12 à 09:03

Maintenant il serait elegant d'ameliorer ton algorithme pour presenter des coefficients de la droite avec a",b",c" sous forme d'entiers (dans la mesure que a,b,c sont des rationnels).

Par exemple, admettons que tu trouves  0,4x + 0,6666666y + 4 = 0
a = 0,4 ;  b = 0,6666... ;  c = 4
Dans un premier temps constater que a = 2/5  ;  b = 2/3  ;  c = 2
Une equation tout aussi valable de la meme droite a pour coefficients  a' = 1/5  ;  b' = 1/3  ;  c' = 1
Et en multipliant par le ppcm des denominateurs on trouve une expression a" = 3  ;  b" = 5  ;  c" = 15

L'equation de la meme droite peut donc s'ecrire 3x + 5y + 15 =0

Globalement, la methode consiste a (i) exprimer les coefficients sous forme d'une fraction irreductible (aboutissant eventuellement un entier), puis (2) simplifier d'eventuels diviseurs communs aux nominateurs, et enfin (3) multiplier par le ppcm des denominateurs



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !