Page 1 of 2

Programme trois points alignés

Unread postPosted: 31 Oct 2011, 14:31
by adrien13
Bonjour a tous je suis nouveau sur le site.
Je dois réalisé un programme sur ma TI-nspire:
Ecrire un programme sur une calculatrice qui indique si trois points sont alignés ou non lorsqu'on donne les coordonnées de ces points.
Il y a de message d'erreur qui dit le teste n'a pas trouvé de résultat TRUE ou FALSE. Je pense avoir réussi le programme mais j'ais un petit souci avec "solve"
Je vais vous mètre le programme pour que vous compreniez.
Define colineaire(xa, ya, xb,yb,xc,yc)=
prgm
xab:=xb-xa
yab:=yb-ya
xac:=xc-xa
yac:=yc-ya
solve({xab=k*yac Ces un système mais je ne parviens pas a le refaire sur le forum
yab=k*yac,k
If k=false Then
disp "les trois points ne sont pas aligné"
else
disp "les trois points sont alignés"
EndIf
EndPrgm

Voilà j'espère que vous allez m'aider.



Amicalement Adrien

Re: Programme trois points alignés

Unread postPosted: 31 Oct 2011, 14:33
by Laurae
"yab=k*yac,k" = ? (6e ligne du programme)
Je suppose que tu affectes quelque chose à k (true or false), mais y a rien dans k d'où l'erreur dans le If qui suit juste après.


Excale wrote:J'ai édité au dessus.

de même :p

Re: Programme trois points alignés

Unread postPosted: 31 Oct 2011, 14:33
by Excale
"If k=false Then"

k ne vaut ni vrai ni faux car tu ne le défini nulle part :) .

Je suppose que ce que tu veux faire est:

testaligne:=solve({xab=k*yac;yab=k*yac}(tonsystème),k)
If testaligne=false Then

Re: Programme trois points alignés

Unread postPosted: 31 Oct 2011, 14:35
by adrien13
Donc il faut que je le définisse avant de résoudre le système??

Re: Programme trois points alignés

Unread postPosted: 31 Oct 2011, 14:36
by Laurae
adrien13 wrote:Donc il faut que je le définisse avant de résoudre le système??


Qu'est-ce que k dans le programme ?

Excale wrote:J'ai édité au dessus.


de même :p

Re: Programme trois points alignés

Unread postPosted: 31 Oct 2011, 14:36
by Excale
J'ai édité au dessus.

Re: Programme trois points alignés

Unread postPosted: 31 Oct 2011, 14:43
by critor
En fait la fonction solve() retourne la réponse sous forme d'une égalité "k=...", mais n'affecte absolument pas la valeur de k.

On peut arranger ça mais c'est chercher midi à quatorze heure.

Tes points sont alignés si yab/xab=yac/xac, soit par produit en croix xab*yac=xac*yab qui supprime le problème d'éventuelles divisions par 0.

Je te propose de supprimer la ligne du solve et de mettre tout simplement:
Code: Select all
If xab*yac=xac*yab Then
  disp "les trois points sont alignés"
else
  disp "les trois points ne sont pas alignés"
EndIf

Re: Programme trois points alignés

Unread postPosted: 31 Oct 2011, 14:45
by Excale
C'est vrai que c'est bien plus simple comme ça :bj: .

Re: Programme trois points alignés

Unread postPosted: 31 Oct 2011, 14:56
by adrien13
critor wrote:En fait la fonction solve() retourne la réponse sous forme d'une égalité "k=...", mais n'affecte absolument pas la valeur de k.

On peut arranger ça mais c'est chercher midi à quatorze heure.

Tes points sont alignés si yab/xab=yac/xac, soit par produit en croix xab*yac=xac*yab qui supprime le problème d'éventuelles divisions par 0.

Je te propose de supprimer la ligne du solve et de mettre tout simplement:
Code: Select all
If xab*yac=xac*yab Then
disp "les trois points sont aligné"
else
disp "les trois points ne sont pas alignés"
EndIf

J'avais testé cette solution mais j'avais eu le souci du 0... donc avec le produit en croix pas de problème de 0.

Re: Programme trois points alignés

Unread postPosted: 31 Oct 2011, 14:59
by adrien13
Je vous remercie tous de votre aide. j'ais réussi.