- Code: Select all
colineaire(xa,ya,xb,yb,xc,yc)
"Les 3 points "&when((xb-xa)*(yc-ya)=(xc-xa)*(yb-ya),"sont","ne sont pas")&" alignés"
Programme trois points alignés
16 posts
• Page 2 of 2 • 1, 2
Re: Programme trois points alignés
On peut même réécrire le programme en une ligne :
Last edited by Bisam on 01 Nov 2011, 13:58, edited 1 time in total.
-
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 5670
- Joined: 11 Mar 2008, 00:00
- Location: Lyon
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Programme trois points alignés
Merci beaucoup mais je débute donc la ça me semble quand même un peu poussé, mais je garde dans un coin de ma tête qu'une méthode simplifié existe.
-
adrien13
Niveau 2: MI2 (Membre Initié)- Posts: 9
- Joined: 31 Oct 2011, 14:08
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: 1ere S
Re: Programme trois points alignés
- Code: Select all
colineaire(xa,ya,xb,yb,xc,yc)
"Les 3 points "&when((xb-xa)*(yc-ya)=(xc-xa)*(yb-ya),"sont","ne sont pas")&" alignés")
Pour expliquer le code de bisam:
On part de
- Code: Select all
xab:=xb-xa
yab:=yb-ya
xac:=xc-xa
yac:=yc-ya
If xab*yac=xac*yab Then
disp "les trois points sont alignés"
else
disp "les trois points ne sont pas alignés"
EndIf
Au lieu de déclarer xab,yab,xac,et yac, on les inclus directement dans la condition:
- Code: Select all
If (xb-xa)*(yc-ya)=(xc-xa)*(yb-ya) Then
disp "les trois points sont alignés"
else
disp "les trois points ne sont pas alignés"
EndIf
Ensuite, il faut savoir qu'un bloc if/else/endif peut s'écrire en une ligne avec when(condition,trucsivrai,trucsifaux).
==>
- Code: Select all
when((xb-xa)*(yc-ya)=(xc-xa)*(yb-ya),"Les 3 points sont alignés","Les 3 points ne sont pas alignés")
Mais là, dans les deux cas, on dit "Les 3 points " et " alignés".
On va donc dire "Les 3 points ", dire "sont" ou "ne sont pas", et enfin dire " alignés".
Il faut savoir que l'on concatène les chaines de caractères avec & (ex "le bateau"&"rouge"="lebateaurouge").
Et on retrouve le code de bisam!:
- Code: Select all
colineaire(xa,ya,xb,yb,xc,yc)
"Les 3 points "&when((xb-xa)*(yc-ya)=(xc-xa)*(yb-ya),"sont","ne sont pas")&" alignés")
-
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 2955
- Images: 3
- Joined: 10 Sep 2010, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Programme trois points alignés
Merci c'est déjà beaucoup plus claire comme cela, par contre devant le "when" il y a un signe, sa signifie quoi?
-
adrien13
Niveau 2: MI2 (Membre Initié)- Posts: 9
- Joined: 31 Oct 2011, 14:08
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: 1ere S
Re: Programme trois points alignés
C'est le & pour concaténer deux chaines. Une fois que le when() aura été interprété, il retournera soit "sont", soit "ne sont pas", qui sont tous les deux une chaine de caractère.
Exemple:
"Les 3 points "&when((xb-xa)*(yc-ya)=(xc-xa)*(yb-ya),"sont","ne sont pas") ==>
"Les 3 points "&"sont"
Exemple:
"Les 3 points "&when((xb-xa)*(yc-ya)=(xc-xa)*(yb-ya),"sont","ne sont pas") ==>
"Les 3 points "&"sont"
-
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 2955
- Images: 3
- Joined: 10 Sep 2010, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Programme trois points alignés
Je crois que je ne peux que te remercié d'avoir prix le temps de répondre a mes questions.
-
adrien13
Niveau 2: MI2 (Membre Initié)- Posts: 9
- Joined: 31 Oct 2011, 14:08
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: 1ere S
16 posts
• Page 2 of 2 • 1, 2
Who is online
Users browsing this forum: ClaudeBot [spider] and 1 guest