• Aucun résultat trouvé

Éléments de réponses – XCAS

N/A
N/A
Protected

Academic year: 2022

Partager "Éléments de réponses – XCAS"

Copied!
5
0
0

Texte intégral

(1)

Triangles rectangles

1. Géométrie : coordonnées d’un point du plan, distance de deux points du plan.

2. Fonctions : exemple de fonction à deux variables (fonction maximum).

3. Algorithmique : tests conditionnels.

Dans les programmes

On considère l’algorithme suivant :

Entrée: Trois couples de nombres réels (xA,yA), (xB,yB), (xC,yC), coordonnées de points non alignés début

c←−(xBxA)2+(yByA)2 a←−(xBxC)2+(yByC)2 b←−(xCxA)2+(yCyA)2 sia+b+c=2×max(a,b,c)alors

Afficher "oui"

sinon

Afficher "non"

fin

1. Quelle sera la sortie de cet algorithme avec les entrées (1; 1), (3; 2), (0; 3) ? 2. Quelle sera la sortie de cet algorithme avec les entrées (1; 1), (3; 2), (0; 4) ? 3. Quel est le rôle de ce programme ?

4. Réécrire le programme pour qu’il affiche le sommet de l’angle droit lorsque le triangle est rectan- gle.

5. On entre le programme de la façon suivante dans une calculatrice Ti (ti 82, ti 84...) :

(2)

Program : pyt nom du programme Disp "point P"

Input A abscisse du point P

Input B ordonnée du point P

Disp "point Q"

Input C abscisse du point Q

Input D ordonnée du point Q

Disp "point R"

Input E abscisse du point R

Input F ordonnée du point R

(C−A)b2+(D−B)b2−→G G=PQ2 (C−E)b2+(D−F)b2−→H H=QR2 (E−A)b2+(F−B)b2−→I I=RP2 If G+H=I

Then

Disp "Rectangle en Q"

Else If I+H=G Then

Disp "Rectangle en R"

Else If G+I=H Then

Disp "Rectangle en P"

Else

Disp "non rectangle"

end end end

(a) Entrez ce programme dans votre calculatrice. Testez le sur quelques exemples.

(b) On donne en entrée les pointsP(0; 0),Q(5; 0) etR¡

1015; 5¢

. Quelle est la sortie ? Commentez.

(3)

Éléments de réponses – XCAS

Xcas

e s t r e c t a n g l e 3 ( x_A , y_A , x_B , y_B , x_C , y_C ) : = { l o c a l AB2 , AC2 , CB2 ;

AB2 : = ( x_B−x_A ) ^2+(y_B−y_A ) ^2;

AC2 : = ( x_C−x_A ) ^2+(y_C−y_A ) ^2;

CB2 : = ( x_B−x_C ) ^2+(y_B−y_C ) ^2;

s i AB2+AC2+CB2==2*max(AB2,max(AC2,CB2) ) alors return " r ectangl e " ;

sinon return "non re c tang l e " ; f s i; } : ;

ou encore (syntaxe légérement différente) :

Xcas

e s t r e c t a n g l e 4 ( x_A , y_A , x_B , y_B , x_C , y_C ) : = { l o c a l AB2 , AC2 , CB2 ;

AB2 : = ( x_B−x_A ) ^2+(y_B−y_A ) ^2;

AC2 : = ( x_C−x_A ) ^2+(y_C−y_A ) ^2;

CB2 : = ( x_B−x_C ) ^2+(y_B−y_C ) ^2;

i f (AB2+AC2+CB2==2*max(AB2,max(AC2,CB2) ) ) {return " re cta ngl e " ; } e l s e {return "

non r ectang le " ; } } : ;

On peut aussi définir une fonction "maximum de trois nombres" :

Xcas

maxi ( a , b , c ) : = { l o c a l tmp ; tmp: = a ;

s i b>tmp alors tmp: =b ;f s i; s i c>tmp alors tmp: = c ;f s i; return tmp ;

} : ;

e s t r e c t a n g l e 3 ( x_A , y_A , x_B , y_B , x_C , y_C ) : = { l o c a l AB2 , AC2 , CB2 ;

AB2 : = ( x_B−x_A ) ^2+(y_B−y_A ) ^2;

AC2 : = ( x_C−x_A ) ^2+(y_C−y_A ) ^2;

CB2 : = ( x_B−x_C ) ^2+(y_B−y_C ) ^2;

s i AB2+AC2+CB2==2*maxi (AB2, AC2,CB2) alors return " r ectangle " ;

sinon return "non r e cta ng l e " ; f s i; } : ;

(4)

1. oui 2. non

3. Reconnaître si un triangle est rectangle (en "oubliant" les cas particuliers tels que l’entrée (0; 0), (0; 0), (1; 1) ).

4. Algorithme.

Entrée: Trois couples de nombres réels (xA,yA), (xB,yB), (xC,yC) début

c←−(xBxA)2+(yByA)2 a←−(xBxC)2+(yByC)2 b←−(xCxA)2+(yCyA)2

sia+b=c ou a+c=b ou c+b=aalors sia+b=calors

afficher "rectangle enC"

sia+c=balors

afficher "rectangle enB"

sib+c=aalors

afficher "rectangle enA"

sinon

Afficher "non"

fin

Ou à l’aide de tests imbriqués :

Entrée: Trois couples de nombres réels (xA,yA), (xB,yB), (xC,yC) début

c←−(xBxA)2+(yByA)2 a←−(xBxC)2+(yByC)2 b←−(xCxA)2+(yCyA)2 sia+b=calors

afficher "rectangle enC"

sinon

sia+c=balors

afficher "rectangle enB"

sinon

sib+c=aalors

afficher "rectangle enA"

sinon

Afficher "triangle non rectangle"

fin

Avec Xcas (un return fait sortir immédiatement de l’exécution du programme, cela évite l’imbri- cation des tests) :

(5)

Xcas

e s t r e c t a n g l e ( x_A , y_A , x_B , y_B , x_C , y_C ) : = { l o c a l AB2 , AC2 , CB2 ;

AB2 : = ( x_B−x_A ) ^2+(y_B−y_A ) ^2;

AC2 : = ( x_C−x_A ) ^2+(y_C−y_A ) ^2;

CB2 : = ( x_B−x_C ) ^2+(y_B−y_C ) ^2;

s i AB2+AC2=CB2 alors return " t r i a n g l e r e ctangl e en A " ;f s i; s i AB2+CB2=AC2 alors return " t r i a n g l e r e ctangl e en B " ;f s i; s i CB2+AC2=AB2 alors return " t r i a n g l e r e ctangl e en C" ;f s i; return " t r i a n g l e non re ctangle " ;

} : ;

5. Le résultat pour le triangle "presque rectangle" est l’occasion de parler des nombres en machine – et de rappeler qu’en mathématiques "presque égal" n’est pas "égal" (ce qui est loin d’être un acquis pour nos lycéens).

Références

Documents relatifs

Dans le cas d’un triangle obtusangle (qui a un angle obtus)) le centre du cercle circonscrit est extérieur au triangle alors que si le triangle est acutangle

Si deux droites sont coupées par une sécante en formant une paire d’angles alternes-internes de même mesure alors ces deux droites sont parallèles. Si deux droites sont coupées

Et comme EOK est droit (car OE et OK sont toutes deux m´ ediatrices des deux cordes perpendiculaires entre elles AC et CB) alors EM K l’est

Les faces latérales d’une pyramide régulière sont des triangles

Pour calculer un côté ou un angle dans un

Le programme teste l’alignement de trois points donnés par leurs coordonnées.. Dans le cas d’une division par 0, c’est à dire dans le cas où deux points ont

Réécrire le programme pour qu’il affiche le sommet de l’angle droit lorsque le triangle est rectan- gle.. On entre le programme de la façon suivante dans une calculatrice Ti (ti 82,

Faire un programme qui affiche un triangle rectangle isocèle de côté 150, si possible centré comme indiqué ci-dessous :. Points