Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

programme a traduire en TI

Posté par
tom190703
18-02-19 à 11:32

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

Posté par
hekla
re : programme a traduire en TI 18-02-19 à 12:08

Bonjour


Qu'est-ce qui vous gêne pour traduire ce programme ?

Quelle  calculatrice TI ?

Posté par
patrice rabiller
re : programme a traduire en TI 18-02-19 à 12:12

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 ?

Posté par
tom190703
re : programme a traduire en TI 18-02-19 à 12:16

TI 83 premium ce

Posté par
hekla
re : programme a traduire en TI 18-02-19 à 13:57

Vous n'avez pas dit ce qui vous gênait.

Posté par
patrice rabiller
re : programme a traduire en TI 18-02-19 à 16:00

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).

Posté par
patrice rabiller
re : programme a traduire en TI 19-02-19 à 10:35

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     

Posté par
tom190703
re : programme a traduire en TI 21-02-19 à 11:11

Ok mais moi je dois le faire avec des coordonnées

Posté par
patrice rabiller
re : programme a traduire en TI 21-02-19 à 13:41

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

Posté par
tom190703
re : programme a traduire en TI 23-02-19 à 17:03

Merci pour ta réponse mais le souci est que je n'ai pas vu les nombres complexe

Posté par
patrice rabiller
re : programme a traduire en TI 24-02-19 à 10:45

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


il faut écrire
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

Posté par
tom190703
re : programme a traduire en TI 24-02-19 à 18:31

Ok est après je met l'autre programme à la suite par contre je sais pas comment faire pour mettre abs

Posté par
tom190703
re : programme a traduire en TI 24-02-19 à 18:48

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    

Posté par
patrice rabiller
re : programme a traduire en TI 24-02-19 à 19:45

Attention : tu dois modifier tout le reste du programme...

Par exemple j'avais écrit :

abs(B-A)→D:"D=dist(AB)


Il faut maintenant écrire :
√((C-A)²+(D-B)²)→G


car, la distance AB est stockée dans la variable G (voir mon tableau des variables du message du 21/02/2019).

De plus, d'après le cours de seconde : AB=\sqrt{(x_B-x_A)^2+(y_B-y_A)^2}
Or (xB-xA)2 devient (C-A)2 toujours en utilisant le tableau des variables...



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1683 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !