Bonjour à tous,
Voici l'énoncé :
Ecrire un algorithme pour savoir si ABC est un triangle rectangle avec A(0;3), B(-4;-1) et C(3;-1)
Merci d'avance
Bonjour,
Sans écrire un algorithme, comment ferais-tu pour savoir si le triangle ABC dont tu connais les coordonnées des trois sommets est un triangle rectangle ?
Essaye de répondre sans t'aider d'une figure ; ainsi ta démarche sera plus facile à transformer en un algorithme.
Ca je sais le faire.
Je calcule les longueurs et ensuite j'applique le théorème de Thalès.
Mais je ne sais pas transformer tout mes calculs en algorithme.
Assez bonne réponse. Je suppose que tu as confondu Thalès et Pythagore...
Il manque quand même un petit bout de la réponse.
Quand tu as calculé les trois longueurs, comment choisis-tu ces longueurs pour leur appliquer la réciproque du théorème de Pythagore ?
Oui pardon; Pythagore
Je dois faire : BC²= AB²+AC²
Mais comment le mettre en algorithme ?
Je bloque complètement..
Ceci est bien ma question...
Comment sais-tu que BC est l'hypoténuse ? Ou encore comment sais-tu que l'angle droit est en A ?
Souviens-toi que tu ne connais que les coordonnées et que tu n'as pas fait le dessin. Car ton algorithme ne fera pas le dessin. Et la calculatrice ou l'ordinateur ne sait pas à l'avance où se trouve l'angle droit ou encore lequel des trois côtés est l'hypoténuse.
Que dis-tu ?
Ensuite on pourra voir l'algorithme...
Comment ta calculatrice va-t-elle savoir que BC est l'hypoténuse ? (sans que tu lui dises ; un algorithme doit tout savoir faire à ta place, parce que tu lui aura appris à prendre les bonnes décisions).
Comment as-tu fait toi-même pour trouver que BC est l'hypoténuse après avoir calculé les longueurs ?
Je t'avais demandé de trouver sans faire de figure...
Je te donne la réponse que j'attendais :
Dans un triangle rectangle c'est l'hypoténuse qui est le plus long des trois côtés.
_______________________
Donc, un squelette d'algorithme :
Déclarer les variables (coordonnées, longueurs)
Entrée des coordonnées
Calcul des trois longueurs (il suffit de s'arrêter au calcul des carrés des longueurs)
Recherche de la longueur la plus grande des trois (si le triangle est rectangle ce sera l'hypoténuse)
Le carré de cette longueur la plus grande est-il égal à la somme des carrés des deux autres côtés ?
Si oui : le triangle est rectangle
Sinon : le triangle n'est pas rectangle
_______________________
Dans quel langage dois-tu écrire cet algorithme ? Pour ma part, je ne pratique qu'Algobox
Je vais essayer de faire sa. Merci beaucoup.
Par contre quand je met "Si oui : le triangle est rectangle" je ne sais pas su quel bouton appuyer..
Encore merci
Voici un algorithme ; il y aurait de nombreuses améliorations à lui apporter. Mais c'est un début...
1 VARIABLES
2 XA EST_DU_TYPE NOMBRE
3 YA EST_DU_TYPE NOMBRE
4 XB EST_DU_TYPE NOMBRE
5 YB EST_DU_TYPE NOMBRE
6 XC EST_DU_TYPE NOMBRE
7 YC EST_DU_TYPE NOMBRE
8 AB2 EST_DU_TYPE NOMBRE
9 BC2 EST_DU_TYPE NOMBRE
10 CA2 EST_DU_TYPE NOMBRE
11 DEBUT_ALGORITHME
12 LIRE XA
13 LIRE YA
14 LIRE XB
15 LIRE YB
16 LIRE XC
17 LIRE YC
18 AB2 PREND_LA_VALEUR (XB-XA)*(XB-XA)+(YB-YA)*(YB-YA)
19 BC2 PREND_LA_VALEUR (XC-XB)*(XC-XB)+(YC-YB)*(YC-YB)
20 CA2 PREND_LA_VALEUR (XA-XC)*(XA-XC)+(YA-YC)*(YA-YC)
21 SI ((AB2==BC2+CA2) OU (BC2==CA2+AB2) OU (CA2==AB2+BC2)) ALORS
22 DEBUT_SI
23 AFFICHER "Le triangle ABC est rectangle"
24 FIN_SI
25 SI ((AB2!=BC2+CA2) ET (BC2!=CA2+AB2) ET (CA2!=AB2+BC2)) ALORS
26 DEBUT_SI
27 AFFICHER "Le triangle n'est pas rectangle"
28 FIN_SI
29 FIN_ALGORITHME
et le résultat avec tes données :
Merci, cela m'aide beaucoup mais je rencontre encore un problème au niveau de la ligne 18. Ca ne marche pas du tout..
La ligne 18 est simplement une manière d'écrire que
AB2 = (xB - xA)2 + (yB - yA)2
Difficile de comprendre pourquoi cela ne "marcherait" pas...
Oui j'avais compris, mais algobox disait que cette ligne était fausse.
Mais c'est bon j'ai rectifié ce qui n'allait pas;
Merci encore pour cette aide
Quelques améliorations (mais il y aurait encore à faire...) :
1 VARIABLES
2 XA EST_DU_TYPE NOMBRE
3 YA EST_DU_TYPE NOMBRE
4 XB EST_DU_TYPE NOMBRE
5 YB EST_DU_TYPE NOMBRE
6 XC EST_DU_TYPE NOMBRE
7 YC EST_DU_TYPE NOMBRE
8 AB2 EST_DU_TYPE NOMBRE
9 BC2 EST_DU_TYPE NOMBRE
10 CA2 EST_DU_TYPE NOMBRE
11 DEBUT_ALGORITHME
12 LIRE XA
13 LIRE YA
14 LIRE XB
15 LIRE YB
16 LIRE XC
17 LIRE YC
18 AFFICHER "A : ( "
19 AFFICHER XA
20 AFFICHER " ; "
21 AFFICHER YA
22 AFFICHER " ) B : ( "
23 AFFICHER XB
24 AFFICHER " ; "
25 AFFICHER YB
26 AFFICHER " ) C : ( "
27 AFFICHER XC
28 AFFICHER " ; "
29 AFFICHER YC
30 AFFICHER " )"
31 AB2 PREND_LA_VALEUR (XB-XA)*(XB-XA)+(YB-YA)*(YB-YA)
32 BC2 PREND_LA_VALEUR (XC-XB)*(XC-XB)+(YC-YB)*(YC-YB)
33 CA2 PREND_LA_VALEUR (XA-XC)*(XA-XC)+(YA-YC)*(YA-YC)
34 SI ((AB2==BC2+CA2)) ALORS
35 DEBUT_SI
36 AFFICHER "Le triangle ABC est rectangle en C"
37 FIN_SI
38 SI ((BC2==CA2+AB2)) ALORS
39 DEBUT_SI
40 AFFICHER "Le triangle est rectangle en A"
41 FIN_SI
42 SI ((CA2==AB2+BC2)) ALORS
43 DEBUT_SI
44 AFFICHER "Le triangle est rectangle en B"
45 FIN_SI
46 SI ((AB2!=BC2+CA2) ET (BC2!=CA2+AB2) ET (CA2!=AB2+BC2)) ALORS
47 DEBUT_SI
48 AFFICHER "Le triangle n'est pas rectangle"
49 FIN_SI
50 FIN_ALGORITHME
et un exemple de résultat :
Il est presque indispensable dans un algorithme comme celui-ci que la sortie imprime les valeurs qui ont été entrées (les nouvelles lignes 18 à 30). Il est si facile de faire une faute de frappe !
Et pendant que l'on demande à l'algorithme de dire si oui ou non le triangle est rectangle, pourquoi pas lui demander de dire quel est le sommet de l'angle droit ! (les nouvelles lignes 34 à 45)
Ton message de 18 h 09 :
Pourquoi Algobox disait-il que l'ancienne ligne 18 était fausse ?
Qu'as-tu donc eu besoin de "rectifier qui n'allait pas" ?
Bonjour valparaiso
C'est une convention du langage d'Algobox
Les instructions qui sont réalisées si la condition prévue à la ligne SI .... ALORS est vraie sont encadrées par deux lignes (que le logiciel inscrit lui-même immédiatement) :
DEBUT_SI
....
....
FIN_SI
Pour télécharger Algobox :
Une excellente initiation signalée par borneo :
Bonjour Coll. J'ai une question du même type que xAudrey à vous poser : je dois écrire un algorithme qui récupère les coordonnées de 4 points A,B,C,D du plan et dit quelle est la nature de ABCD (parallélogramme,losange,rectangle,carré,quelconque).Pour se faire j'utilise algobox;je vais dans l'option dessiner dans un plan mais là je ne sais pas comment retranscrire ce qui m'est demandé !! Je pense qu'il faut prendre en compte les caractéristiques de chaque quadrilatère énumérés auparavant (ex:un losange a 4 côtés de même longueur) et en tenir compte pour les coordonnées...enfin je suis vraiment perdue veuillez m'aider svp !Merci d'avance.
à défaut de Coll je peux te proposer un début de piste: entre toutes tes données: absisses et ordonnées des 4 points et crée 1 algorithme qui calcule les distances AB;BC;...
il faut ensuite envisager tous les cas : AB=DC et AD=BC
le mieux seait de créer un autre topic. Tu auras sans doute des réponses.
J'ai aussi vu des sujets ressemblant beaucoup au tien sur le site.Fais des recherches
Bonjour elodie54
Je ne pense pas que ce soit une bonne idée de chercher à tracer le quadrilatère avec Algobox, sauf évidemment si l'énoncé te le demande.
En effet il n'est pas toujours facile de "voir" la nature d'un quadrilatère. Et cela ne constituera pas une démonstration.
Je crois qu'il faut rédiger un algorithme qui fait les calculs et déduit de ces calculs la nature du quadrilatère.
Tu trouveras un tel algorithme, que j'ai rédigé il y a quelque temps, ici : DM sur l'algorithme
bonjour,bonjour ! JE pense aussi que c'est une mauvaise idée de travailler avec algobox mais malheureuse ment je dois m'en servir !!! Merci pour vos réponses valparaiso et Coll je tâcherai de faire des recherches !! Merci encore
Nous ne nous sommes pas bien compris.
C'est une excellente idée de travailler avec Algobox
Mais je ne te conseille pas de demander à Algobox de dessiner la figure. En revanche Algobox est tout à fait adapté pour enregistrer et exécuter un algorithme de calcul qui te dira la nature d'un quadrilatère. Je t'ai donné un lien avec de très nombreuses explications et un algorithme terminé.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :