Bonjour. Alors voila mon problème: on a un triangle rectangle ABC.
1er cas: AB = 15 cm et AC = 10 cm et l'hypoténuse est inconnue. Le triangle est rectangle en A.
2eme cas: AB = 15 cm et AC = 10 cm et l'hypoténuse est AB. Le triangle est rectangle en C.
Ensuite, il faut faire un algorithme pour calculer le côté manquant (voir ci-dessous)
1 VARIABLES
2 x EST_DU_TYPE NOMBRE
3 y EST_DU_TYPE NOMBRE
4 h EST_DU_TYPE NOMBRE
5 z EST_DU_TYPE NOMBRE
6 i EST_DU_TYPE NOMBRE
7 DEBUT_ALGORITHME
8 LIRE x
9 LIRE y
10 SI (x<y) ALORS
11 DEBUT_SI
12 i PREND_LA_VALEUR y
13 y PREND_LA_VALEUR x
14 x PREND_LA_VALEUR i
15 FIN_SI
16 AFFICHER "hypotenuse 0/1?"
17 LIRE h
18 SI (h=="0" ou h=="o") ALORS
19 DEBUT_SI
20 z PREND_LA_VALEUR sqrt(pow(x,2)-pow(y,2))
21 FIN_SI
22 SINON
23 DEBUT_SINON
24 z PREND_LA_VALEUR sqrt(pow(x,2)+pow(y,2))
25 FIN_SINON
26 AFFICHER z
27 AFFICHER x
28 AFFICHER y
29 FIN_ALGORITHME
Dans les 2 cas, cet algorithme est juste.
Mais, il faut le changer pour qu'il donne aussi la mesure des deux angles manquant et il faut qu'il fonctionne dans les 2 cas.
Comment faire ?
Merci d'avance.
Bonjour,
pour calculer un angle dans un triangle rectangle, tu n'as pas trop le choix : trigonométrie !
En faisant un petit schéma, et par rapport à ce que tu connais, tu verras s'il faut utiliser le cosinus, le sinus ou la tangente.
oui je suis d'accord mais comment l'intégrer dans mon algorithme pour qu'il puisse le calculer dans les 2 cas ?
Tu n'as qu'à le faire en même temps que tu calcules l'hypoténuse, puisque tu as détecté, à l'aide d'un SI, si on connaissait la valeur de l'hypoténuse.
Le problème, c'est que j'ai beaucoup de mal avec les algorithmes et surtout avec le logiciel, ALgobox. Donc, je ne sais pas du tout comment on calcule un angle (cosinus, sinus et tangente )avec un algorithme.
Donc, voila ce que j'ai ajouter:
32 AFFICHER "Mesure angle A, 0 si inconnue"
33 LIRE A
34 SI (A==0) ALORS
35 DEBUT_SI
36 A PREND_LA_VALEUR y/x
37 A PREND_LA_VALEUR acos(A)
38 FIN_SI
39 AFFICHER A
40 AFFICHER "Mesure angle B, 0 si inconnue"
41 LIRE B
42 SI (B==0) ALORS
43 DEBUT_SI
44 B PREND_LA_VALEUR y/x
45 B PREND_LA_VALEUR asin(B)
46 FIN_SI
47 AFFICHER B
48 AFFICHER "Mesure angle C, 0 si inconnue"
49 LIRE C
50 SI (C==0) ALORS
51 DEBUT_SI
52 C PREND_LA_VALEUR x/y
53 C PREND_LA_VALEUR atan(C)
54 FIN_SI
55 AFFICHER C
56 FIN_ALGORITHME
Mais, voila les résultats pour les angles, pour le 1er cas:
Mesure angle A, 0 si inconnue
90
Mesure angle B, 0 si inconnue
0.72972766
Mesure angle C, 0 si inconnue
0.98279372
Donc je veux savoir quelles sont mes erreurs.
Il ne faut pas écrire un nouveau programme en entier, mais simplement ajouter quelques lignes au premier.
Ainsi, à partir de la ligne 19 de ton 1er programme, tu es dans le cas où on connait l'hypoténuse, donc tu connais un petit côté et l'hypoténuse, tu peux donc utiliser le cosinus ou le sinus.
Donc, après la ligne 20, tu rajoutes ton calcul de acos ou asin.
Attention, je crois de plus que ces fonctions donnent des angles en radians, il faudra penser à les convertir en degrés.
Voila le nouvel algorithme:
1 VARIABLES
2 x EST_DU_TYPE NOMBRE
3 y EST_DU_TYPE NOMBRE
4 h EST_DU_TYPE NOMBRE
5 z EST_DU_TYPE NOMBRE
6 i EST_DU_TYPE NOMBRE
7 A EST_DU_TYPE NOMBRE
8 B EST_DU_TYPE NOMBRE
9 C EST_DU_TYPE NOMBRE
10 DEBUT_ALGORITHME
11 LIRE x
12 LIRE y
13 SI (x<y) ALORS
14 DEBUT_SI
15 i PREND_LA_VALEUR y
16 y PREND_LA_VALEUR x
17 x PREND_LA_VALEUR i
18 FIN_SI
19 AFFICHER "hypotenuse 0/1?"
20 LIRE h
21 SI (h=="0" ou h=="o") ALORS
22 DEBUT_SI
23 z PREND_LA_VALEUR sqrt(pow(x,2)-pow(y,2))
24 A PREND_LA_VALEUR atan(y/x)
25 B PREND_LA_VALEUR atan(y/x)
26 C PREND_LA_VALEUR atan(y/x)
27 FIN_SI
28 SINON
29 DEBUT_SINON
30 z PREND_LA_VALEUR sqrt(pow(x,2)+pow(y,2))
31 A PREND_LA_VALEUR acos(y/x)
32 B PREND_LA_VALEUR asin(y/x)
33 C PREND_LA_VALEUR acos(y/x)
34 FIN_SINON
35 AFFICHER z
36 AFFICHER x
37 AFFICHER y
38 AFFICHER A
39 AFFICHER B
40 AFFICHER C
41 FIN_ALGORITHME
Mais voila aussi les résultats:
0.84106867
0.72972766
0.84106867
Le tout pour le 1er cas.
Dans un triangle rectangle, il y a un angle droit (90°), puis 2 angles aigus (inférieurs à 90°).
En fait, il suffit de calculer un seul de ces angles aigus, l'autre se déduit par une simple soustraction (la somme des 2 angles aigus est égale à 90°).
Dans le 1er cas, tu connais AB et AC, le triangle est rectangle en A.
Il faut donc calculer les angles en B et C.
Pour l'angle en B, on a : tan B = AC/AB
Et donc : B = atan(AC/AB)
Ensuite : C = 90 - B
Par contre, je ne comprends pas ce que signifie ta question "hypoténuse 0/1 ?"
Parce que si tu ne connais pas l'hypoténuse (donc le cas où on répond 0), alors il faut la calculer avec sqrt(x^2+y^2) et non pas sqrt(x^2-y^2)
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :