bonjour
j'ai se programme à traduire merci pour vos réponse le signe $ correspond a la flèche qui donne la valeur
Nature_triangle
Début
Variables xA , yA , xB , yB , xC , yC, sommet;
Entrees
Saisir xA , yA , xB , yB , xC, yC,distAB, distAC, distBC
Traitement
distance_deux_points("xA","yA","xB","yB")$ distAB
distance_deux_points("xA","yA","xC","yC") $ distAC
distance_deux_points("xB","yB","xC","yC")$ distBC
Si distAB > distAC alors
S i d i s t A B > d i s t B C a l o r s
d i s t A B * d i s t A B - ( d i s t A C * d i s t A C + d i s t B C * d i s t B C ) $ pyth
" C " sommet
S i n o n
d i s t B C * d i s t B C - ( d i s t A C * d i s t A C + d i s t A B * d i s t A B ) $ pyth
" A " sommet
F i n s i
Sinon
S i d i s t A C > d i s t B C a l o r s
d i s t A C * d i s t A C - ( d i s t A B * d i s t A B + d i s t B C * d i s t B C ) $ pyth
" B " sommet
S i n o n
d i s t B C * d i s t B C - ( d i s t A C * d i s t A C + d i s t A B * d i s t A B ) $ pyth
" A " sommet
F i n s i
Sorties
Si distAB = distAC et distAB = distBC alors
A f f i c h e r " l e t r i a n g l e A B C e s t é q u il a t é r a l "
Sinon
S i d i s t A B = d i s t A C a l o r s
S i P y t h = 0 a l o r s
A f f i c h e r " l e t r i a n g l e A B C e s t i s o c è l e r e c t a n g l e en A"
S i n o n
A f f i c h e r " l e t r i a n g l e A B C e s t i s o c è l e e n A "
F i n s i
S i n o n
S i d i s t A B = d i s t B C a l o r s
S i P y t h = 0 a l o r s
A f f i c h e r " l e t r i a n g l e A B C e s t i s o c è l e r e c t a n g l e en B"
S i n o n
A f f i c h e r " l e t r i a n g l e A B C e s t i s o c è l e e n B"
F i n s i
S i n o n
S i d i s t A C = d i s t B C a l o r s
S i P y t h = 0 a l o r s
A f f i c h e r " l e t r i a n g l e A B C e s t i s o c è l e r e c t a n g l e en C"
S i n o n
A f f i c h e r " l e t r i a n g l e A B C e s t i s o c è l e e n C
F i n s i
S i n o n
S i P y t h = 0 a l o r s
A f f i c h e r " l e t r i a n g l e A B C e s t i s o c è l e r e c t a n g l e en C" S i n o n A f f i c h e r " l e t r i a n g l e A B C e s t i s o c è l e e n C"
F i n s i
S i n o n
S i p y t h = 0 a l o r s
A f f i c h e r " l e t r i a n g l e A B C e s t r e c t a n g l e e n " sommet
S i n o n
A f f i c h e r " l e t r i a n g l e A B C e s t q u e l c o n q u e "
FIN
Bonjour,
La première chose à faire est de remplacer tous les noms des variables par des noms d'une seule lettre. C'est comme ça sur la plupart des calculatrices.
On peut économiser un peu le nombre des variables en utilisant des nombres complexes : un point peut être considéré comme un nombre complexe (partie réelle = abscisse et partie imaginaire = ordonnée), mais tu n'as pas vu les nombres complexes en seconde... C'est d'autant plus dommage que les nombres complexes permettent également de simplifier le calcul des distances.
Il faudra donc utiliser presque toutes les lettres de l'alphabet !
Quel modèle de calculatrice Ti as-tu ?
Quoiqu'il en soit, on ne pourra pas traduire tel quel ce programme pour une calculatrice. On peut, si on dispose d'un éditeur de programme pour Ti (ça existe) avec un vrai clavier, écrire un programme qui fait la même chose que ce programme écrit, apparemment, en langage Algobox, mais mal foutu (ou mal retranscrit).
J'ai la forte impression que tom190703 a abandonné sa recherche ... et qu'il a trouvé un programme tout fait quelque part
Je propose donc une solution qui ne correspond pas exactement à la traduction de l'algorithme qu'il nous a donné. Cette solution est basée sur l'utilisation des nombres complexes.
Pour clarifier la lecture, j'ai mis parfois plusieurs instructions sur la même ligne (en les séparant par des : ). Il n'est pas possible d'utiliser l'indentation comme on le fait dans la plupart des langages. Les instructions qui commencent par des guillemets (") sont des commentaires. J'ai été obligé d'ajouter des espaces entre les : et les Disp pour éviter d'obtenir des isp. Il faut donc les supprimer si on veut que le programme soit fonctionnel.
"Entrer les points sous"
"forme de nombres complexes"
Input "point A ?",A
Input "point B ?",B
Input "point C ?",C
abs(B-A)→D:"D=dist(AB)
abs(C-A)→E:"E=dist(AC)
abs(C-B)→F:"F=dist(BC)
If D²=E²+F²:Then: Disp "Le triangle ABC est"
If E=F:Then: Disp "rectangle isocèle en C"
Else: Disp "rectangle en C"
End
End
If E²=D²+F²:Then: Disp "Le triangle ABC est"
If D=F:Then: Disp "rectangle isocèle en B"
Else: Disp "rectangle en B"
End
End
If F²=D²+E²:Then: Disp "Le triangle ABC est"
If D=E:Then: Disp "rectangle isocèle en A"
Else: Disp "rectangle en A"
End
End
If E=F et D²≠E²+F²:Then: Disp "Le triangle ABC est": Disp "isocèle en C":End
If D=F et E²≠D²+F²:Then: Disp "Le triangle ABC est": Disp "isocèle en B":End
If D=E et F²≠D²+E²:Then: Disp "Le triangle ABC est": Disp "isocèle en A":End
If D=E et E=F:Then: Disp "Le triangle ABC est équilatéral":End
Alors, il faut commencer par construire un tableau pour définir toutes les variables dont tu auras besoin, par exemple :
xA = A
yA = B
xB = C
yB = D
xC = E
yC = F
distAB = G
distAC = H
distBC = I
sommet = S (qui contiendra un nombre 1, 2, 3 pour désigner A ou B ou C)
pyth = P (qui contiendra 0 si le triangle est rectangle et 1 sinon)
À partir de là, tu peux écrire ton programme en suivant l'algorithme que tu as donné.
Sauf que ... ton algorithme n'est pas adapté à une calculatrice :
-> il (l'algorithme) demande de saisir les nombres distAB, distAC et distBC, puis calcule ces nombres en utilisant une fonction externe. Ce n'est pas possible directement sur une Ti83 ce
-> les lignes "A" sommet, "B" sommet et "C" sommet ne veulent rien dire. Il s'agit peut-être d'affectations "A"sommet, "B"sommet et "C"sommet (normalement on écrit les affectations avec une flèche à gauche en mettant la variable affectée à gauche).
Le programme que j'ai donné fonctionne correctement mais il suppose que l'on connaisse les nombres complexes.
Heureux de voir que tu n'as finalement pas abandonné ton projet
Précisément, au lieu d'utiliser un nombre complexe A pour saisir les 2 coordonnées du point A, il faut utiliser 2 nombres xA et yA pour l'abscisse et l'ordonnée. Sauf que, comme il n'est pas possible sur Ti (ni sur Casio d'ailleurs) d'utiliser une variable nommée xA ou yA, il faut utiliser 2 variables A et B pour l'abscisse et l'ordonnée.
Autrement dit, au lieu d'écrire :
input "point A", A
input "point B", B
input "point C", C
input "abscisse du point A ?",A
input "ordonnée du point A ?",B
input "abscisse du point B ?",C
input "ordonnée du point B ?",D
input "abscisse du point C ?",E
input "ordonnée du point C ?",F
Ok est après je met l'autre programme à la suite par contre je sais pas comment faire pour mettre abs
j'ai fait sa mais sa me note erreur syntaxe
input "abscisse du point A ?",A
input "ordonnée du point A ?",B
input "abscisse du point B ?",C
input "ordonnée du point B ?",D
input "abscisse du point C ?",E
input "ordonnée du point C ?",F
abs(B-A)→D:"D=dist(AB)
abs(C-A)→E:"E=dist(AC)
abs(C-B)→F:"F=dist(BC)
If D²=E²+F²:Then: Disp "Le triangle ABC est"
If E=F:Then: Disp "rectangle isocèle en C"
Else: Disp "rectangle en C"
End
End
If E²=D²+F²:Then: Disp "Le triangle ABC est"
If D=F:Then: Disp "rectangle isocèle en B"
Else: Disp "rectangle en B"
End
End
If F²=D²+E²:Then: Disp "Le triangle ABC est"
If D=E:Then: Disp "rectangle isocèle en A"
Else: Disp "rectangle en A"
End
End
If E=F et D²≠E²+F²:Then: Disp "Le triangle ABC est": Disp "isocèle en C":End
If D=F et E²≠D²+F²:Then: Disp "Le triangle ABC est": Disp "isocèle en B":End
If D=E et F²≠D²+E²:Then: Disp "Le triangle ABC est": Disp "isocèle en A":End
If D=E et E=F:Then: Disp "Le triangle ABC est équilatéral":End
Attention : tu dois modifier tout le reste du programme...
Par exemple j'avais écrit :
abs(B-A)→D:"D=dist(AB)
√((C-A)²+(D-B)²)→G
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :