Aller au contenu

TD Algorithmes et quadrilatères (2nd)


Aurelies29

Messages recommandés

Posté(e)

Bonjour tous,

Voici un TD que je dois rendre le 29/02 (je sais que je m'y prends tard mais je voulais essayer de le faire par moi même). Je suis bloquée à partir de la question 2. Merci d'avance pour toute aide!

1.a) On se donne les coordonnées de quatre points A, B, C et D. Écrire un algorithme qui affiche "ABCD est un parallélogramme" si ABCD en est un et "ABCD n'est pas un parallélogramme" le cas échéant.

Ma réponse --> Variables : xb, yb, xa, ya, xc, yc, xd, yd, E, F, G et H sont des nombres

Entrée : Saisir xb, yb, xa, ya, xc, yc, xd, yd

Traitement : E reçoit xb-xa ; F reçoit yb-ya ; G reçoit xc-xd ; H reçoit yc-yd

Si E=G et F=H alors afficher "ABCD est un parallélogramme" sinon afficher "ABCD n'est pas un parallélogramme"

 

1.b) On se donne les coordonnées de trois points A, B et E. Écrire un algorithme qui affiche les coordonnées du point F, image de E par la translation de vecteur AB.

Ma réponse --> Variables : xa, ya, xb, yb, xe, ye, xf et yf sont des nombres

Entrée : Saisir xa, ya, xb, yb, xe et ye

Traitement : xf reçoit xb-xa+xe ; yf reçoit yb-ya+ye

Sortie : Afficher xf et yf

 

2.a) Comment vérifier si l'algorithme 1.a) fonctionne à l'aide de l'algorithme 1.b)?

Début de recherche --> On se place dans le quadrilatère ABCD. C est l'image de D par la translation de vecteur AB. Le vecteur AB égal au vecteur EF (du 1.b) donc xb-xa=xf-xe et yb-ya=yf-yd

Je ne sais pas du tout si j'ai cherché dans la bonne direction ou pas...

 

2.b) Comment vérifier si l'algorithme 1.b) fonctionne à l'aide de l'algorithme 1.a)?

 

3) Modifier l'algorithme du 1.a) pour qu'il distingue aussi le cas où ABCD est un rectangle.

Début de recherche --> Si un parallélogramme a 1 angle droit ou des segments diagonaux égaux alors c'est un rectangle. 

 

4) Modifier l'algorithme précédent pour qu'il distingue aussi le cas où ABCD est un losange.

Début de recherche --> Si un parallélogramme a 2 côtés consécutifs égaux ou les diagonales perpendiculaires alors c'est un losange.

 

5) Modifier l'algorithme précédent pour qu'il distingue aussi le cas où ABCD est un carré.

Début de recherche --> Si un parallélogramme est un rectangle et un losange alors c'est un carré.

 

6) Tester l'algorithme et indiquer les test auxquels vous avez procédé. Attention à la pertinence de ceux-ci, il est inutile de tester 4 fois les coordonnées d'au quadrilatère quelconque par exemple.

 

 

Désolée pour la longueur du message et encore une fois merci d'avance pour toute aide! 

  • E-Bahut
Posté(e)

Réponse 1a correcte.

Réponse 1b correcte.

 

Puis quelques pistes pour terminer ton travail :

3 Utiliser la réciproque du théorème de Pythagore après calcul de AB^2, BC^2 et AC^2.

Un peut lourdingue avec AlgoBox.

Plus élégant aussi avec le produit scalaire si vec(AB)*vec(BC)=0 l'angle B est droit.

4 et 5 

Il faut calculer AC^2, BD^2 et comparer pour distinguer un carré d'u losange.

 

  • E-Bahut
Posté(e)

En Agobox....

 

quadrilatère

******************************************

******************************************

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     xD EST_DU_TYPE NOMBRE
9     yD EST_DU_TYPE NOMBRE
10  DEBUT_ALGORITHME
11    AFFICHER "Coordonnées de A ?"
12    LIRE xA
13    LIRE yA
14    AFFICHER "Coordonnées de B ?"
15    LIRE xB
16    LIRE yB
17    AFFICHER "Coordonnées de C ?"
18    LIRE xC
19    LIRE yC
20    AFFICHER "Coordonnées de D ?"
21    LIRE xD
22    LIRE yD
23    SI (xB-xA==xC-xD et yB-yA==yC-yD ) ALORS
24      DEBUT_SI
25      SI (Sqrt((xB-xA)*(xB-xA)+ (yB-yA)*(yB-yA))==Sqrt( (xC-xB)*(xC-xB)+ (yB-yC)*(yB-yC))) ALORS
26        DEBUT_SI
27        SI ((xB-xA)*(xC-xB)+(yB-yA)*(yC-yB)==0) ALORS
28          DEBUT_SI
29          AFFICHER "Le quadrilatère ABCD est un carré"
30          FIN_SI
31          SINON
32            DEBUT_SINON
33            AFFICHER "Le quadrialtère ABCD est un losange"
34            FIN_SINON
35        FIN_SI
36        SINON
37          DEBUT_SINON
38          AFFICHER "Le quadrialtère ABCD est parallélogramme"
39          FIN_SINON
40      FIN_SI
41      SINON
42        DEBUT_SINON
43        AFFICHER "Le quadrialtère ABCD est quelconque"
44        FIN_SINON
45  FIN_ALGORITHME

 

  • E-Bahut
Posté(e)

Algorithme (à ne pas confondre avec programme)

Coordonnées de 4 points A, B, C , D
si AB=DC (relation vectorielle)
………si |AB|=|CD|
…………………si AB.CD=0 (produit scalaire)
………………………………ABCD est un carré  (car il a deux côtés opposés égaux et parallèles , deux côtés successifs égaux et un angle droit)
…………………si non
………………………………ABCD est un losange (car il a deux côtés opposés égaux et parallèles , deux côtés successifs égaux et pas d'angle droit)
…………………Fin de s
………..si non
…………………si AB.CD=0 (produit scalaire)
………………………………ABCD est un Rectangle (car il a deux côtés opposés égaux et parallèles , et unangle droit)
…………………si non
………………………………ABCD est un parallélogramme (car il a deux côtés opposés égaux et parallèles , et pas d'angle droit)
…………………Fin de si
………….Fin de si
si non
………ABCD est un quadrilatère quelconque (car n'a pas  deux côtés opposés égaux et parallèles )
Fin de si
--------------------------------------

Il faut modifier comme suit la ligne 38 de mon programme
38     SI ((xB-xA)*(xC-xB)+(yB-yA)*(yC-yB)==0) ALORS
39          DEBUT_SI
40          AFFICHER "Le quadrilatère ABCD est un rectangle"
41          FIN_SI
42          SINON
43            DEBUT_SINON
44            AFFICHER "Le quadrilatère ABCD est un parallélogramme"
45            FIN_SINON
46        FIN_SI 48    SINON 49        DEBUT_SINON 50       AFFICHER "Le quadrilatère ABCD est quelconque" 51       FIN_SINON 52  FIN_ALGORITHME
 

 

  • E-Bahut
Posté(e)

2.a) Comment vérifier si l'algorithme 1.a) fonctionne à l'aide de l'algorithme 1.b)?
---------------
On prend les cordonnées de  3 point A,B, E  que l'on introduit avec les coordonnées du point F fournies par l'algorithme 1b dans 1a. La réponse obtenue doit être que doit être ABFE est un parallélogramme
----------------
2.b) Comment vérifier si l'algorithme 1.b) fonctionne à l'aide de l'algorithme 1.a)?
 ---------------
On prend les cordonnées de  3 point A,B, E d'un parallélogramme  ABFE validé par m'algorithme 1a que 'on introduit dans l'algorithme 1b. On vérifie que les coordonnées du point obtenues sont celles du point F
----------------

 

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...
spam filtering
spam filtering