Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

algorithme quadrilatere

Posté par
bidonchondu77
28-02-14 à 12:09

salut tout le monde pour la rentree j'ai a faire un algorithme demontrant la nature d'un quadrilatere ou M(A,B) N(C,D) P(E,F) Q(G,H)
je bloque au niveau du trapeze voila ce que j'ai fait
-saisir A,B,C,D,E,F,G,H
-((C-A)²+(D-B)²) affecter a I
-((G-A)²+(H-B)²) affecter a J
-((E-C)²+(F-D)²) affecter a K
-((G-E)²+(H-F)²) affecter a L
-((E-A)²+(F-B)²) affecter a Y
-((G-C)²+(H-D)²) affecter a Z
-afficher I,J,K,L,Y,Z
-SI (I=J=K=L) et (Y²=I²+K²)
-alors
-afficher CARRE
-sinon
-si (I=J=K=L)
-alors
-afficher LOSANGE
-sinon
-si (I=L) et (K=J) et (Y²=I²+K²)
-alors
-afficher RECTANGLE
-sinon
-if (I=J) et (K=J)
-alors
-afficher PARALLELOGRAMME
-sinon
-............

Deja pourriez vous me dire si le debut est correct ? et ensuite m'indiquer comment proceder pour faire l'etape du trapeze
Merci d'avance et en esperant une reponse rapide c'est pour lundi

Posté par
Barney
re : algorithme quadrilatere 28-02-14 à 12:18

Bonjour,


tu imbriques trop tes conditions, sans FIN SI
et sans réellement comprendre c qui se passe dans tes conditions...

ta structure est lourde, peut être as tu vu les vecteurs ?

Posté par
bidonchondu77
re : algorithme quadrilatere 28-02-14 à 12:39

nan pas encore les vecteurs mais est ce que j'ai fait c'est bon stp ? pck j'ai pris exemple sur un algorithme fait en classe

Posté par
bidonchondu77
re : algorithme quadrilatere 28-02-14 à 13:19

le prof nous a donner les conditions donc je n'ai fait que les recopier mais il nous n'a pas donner la condition pour le trapeze sachant que je dois ecrire cette algorithme en langage naturel

Posté par
bidonchondu77
re : algorithme quadrilatere 28-02-14 à 14:45

UP les gens svp je galere vraiment pour la derniere etape je pense qui me manque juste la condition mais je ne la trouve pas

Posté par
mathafou Moderateur
re : algorithme quadrilatere 28-02-14 à 15:28

Bonjour,
tu peux laisser tes "sinon" ou alors fermer tes si à chaque fois et refaire les tests en entier tous à chaque fois sur toutes les conditions à chaque fois, je ne pense pas du tout que refaire tous les tests à chaque fois rende l'algorithme moins lourd.

-if (I=J) et (K=J)
-alors
-afficher PARALLELOGRAMME
faute de frappe ? c'est if (I=L) et (K=J)

quant au trapèze il te faut déja trouver une relation "métrique" entre les côtés d'un trapèze et ses diagonales, valable pour tous les trapèzes
(I,J,K,L sont sensés être les mesures des côtés et Y, Z des diagonales)
ce problème de géométrie pure est à résoudre avant de traduire ça en algorithme.

on peut utiliser Al-Kashi dans deux triangles MPQ et PMN en écrivant que les angles entre les cotés et une des diagonales sont les mêmes (donc ont le même cosinus) ce qui donne une relation plausible
algorithme quadrilatere
resterait à voir la réciproque : si les cosinus sont égaux est-ce que ça suffit.

pareil pour tes tests, tu supposes que MNPQ sont dans cet ordre un quadrilatère convexe, sinon tout les tests s'écroulent, les diagonales devenant des côtés etc.

Bien sûr avec des vecteurs tout cela serait bien plus simple ...

Posté par
bidonchondu77
re : algorithme quadrilatere 28-02-14 à 15:53

Oui c'est une erreur de frappe excuse moi donc pour le moment mon algorithme est correct je n'ai rien a changer ? Et je vient de m'apercevoir que j'ai fait les vecteurs enfin la base excuse moi d'avoir dis non je me suis tromper vraiment desoler
De plus j'ai touver un fichier que le prof a laisser pour le trapeze ou il dis que MNPQ est un trapeze <=>(MN)//(PQ) ou (MP)//(NQ) donc si je suis la fin de l'algorithme serais
- SI (MN)//(PQ) ou (MP)//(NQ)
-alors
- afficher TRAPEZE
- sinon
-fin

est ce que l'ensemble de mon algorithme serais correct ? en langage naturel je peut l'ecrire comme sa ? car je dois le rendre sur feuille ..

Posté par
mathafou Moderateur
re : algorithme quadrilatere 28-02-14 à 16:27

"en langage naturel" et correction des fautes de farppe (pourquoi aussi il y a un mélange de "si" et de "if" ??) ce me semble OK.

pour le trapèze tu peux "écrire comme ça" sachant que tant qu'à faire tu peux faire du même genre pour tous tes autres tests en écrivant des "côtés paralleles", "côtés égaux", "angles droit" textuellement en texte
mais je suis persuadé que ce n'est pas du tout ce qui est attendu !!

le problème est que "MN//PQ" n'est pas directement lié aux coordonnées en entrée de ton algorithme !
il s'agit bien de traduire ce "parallèles" en relations métriques (avec des mesures) à partir des seules données : les coordonnées
et de ce qu'on a déja calculé avec ces coordonnées (ici les mesures des côtés et des diagonales)
une condition du genre I(J² - L² - Y²) = L(K² - I² - Y²) pour traduire que MN//PQ (sauf erreurs)

mais si tu as vu les vecteurs ...
et surtout si tu as vu comment écrire que deux vecteurs sont colinéaires à partir de leurs coordonnées
ce MN//PQ se traduit par \vec{MN} et \vec{PQ} colinéaires
et donc la condition correspondante sur leurs coordonnées. (xy' = x'y)
c'est à dire puisque \vec{MN} = (C-A; D-B) et \vec{PQ} = (H-F; G-E)
la condition s'écrit donc
si (C-A)(G-A)=(D-B)(H-F) etc
ce qui est tout de même beaucoup plus simple (et "robuste")

après .. à quel niveau de détail "en langage naturel" (sic) le prof attend ton algorithme, c'est uniquement à toi de voir.

Posté par
bidonchondu77
re : algorithme quadrilatere 28-02-14 à 17:06

okok merci je vais ecrire la condition de facon vecteurielles donc je recopie cs que tu ma dis je met "ou" et (MP)//(NQ) en vecteurs s'écrit (E-A)(F-B)=(G-C)(H-D) c'est bon ça ?
mon prof veut que enfaite je l'ecrive avec les etapes DECLARATION DES VARIABLES/ENTREE/TRAITEMENT/SORTIE donc je peut l'ecrire comme sa ou je dois changer quelque trucs ? merci de ton aide

Posté par
mathafou Moderateur
re : algorithme quadrilatere 28-02-14 à 18:07

une remarque d'abord : le découpage d'un algorithme avec la partie "sortie" est totalement artificiel et à mon sens aberrant
"sortie" c'est "on donne le résultat" mais ici le résultat (le type de quadrilatère) est effectué au sein du traitement (dans les chaines de "SI")
il sera donc impossible de respecter ce genre de "contrainte" artificielle héritée de l'age du COBOL...

DECLARATION DES VARIABLES/ENTREE/TRAITEMENT OK
mais la partie 'SORTIE" ne veut généralement rien dire du tout, lorsqu'on la met ça ne fait en fait pas partie de l'algorithme, c'est du commentaire sans signification
on "déclare" que l'algorithme a pour but de "sortir" le type de quadrilatère
c'est purement "déclaratif" et n'a rien à voir avec ce que fait réellement l'algorithme.

ou alors tu ne mets aucun "afficher" nulle part et tu définis une variable "TYPE'"
et à la place de tous tes "afficher" au fil de l'eau tu mets des
TYPE prend la valeur "carré" etc
puis tout à la fin dans "SORTIE" tu mets le seul "afficher" de ton algorithme :
afficher TYPE

(c'est bien pour faire plaisir au prof va ...)

sinon non, (MP)//(NQ) ne s'écrira pas comme tu le fais. (mélange de coordonnées)

le problème ici c'est que sortir un truc (cette relation) sans l'avoir vue en cours et sans la comprendre, tu vas avoir du mal à le justifier auprès du prof !!!

d'ailleurs il y a une faute de frappe dans ce que j'avais écrit
le défilement arrière pour aller vérifier les noms données à chaque variable y est pour quelque chose
ainsi que appeller ses variables A,B,C,D, etc par ordre alphabétique sans aucun rapport avec leur signification est tout aussi aberrant que de faire une section "SORTIE" artificielle

on choisit des noms de variables qui ont un sens.
coordonnées de M : Xm, Ym et pas A, B
ça évite de devoir se reporter à un "dictionnaire" à chaque fois qu'on écrit quelque chose !

vérifier ainsi que les coordonnées de PQ seraient (Yq - Yp; Xq - Xp) est immédiatement visiblement faux
alors qu'il faut se reporter au dictionnaire pour voir que (H-F; G-E) est la même chose et donc faux.

les vraies sont (G-E; H-F) et la condition donc
(C-A)(H-F) = (D-B)(G-E)

d'ailleurs dans mon truc faux (C-A)(G-A)=(D-B)(H-F) que ce soit faux saute aux yeux : il n'y a pas de E !

(et puis recopier ce que j'ai écrit sans le comprendre .. tout le monde peut faire des erreurs. recopier les erreurs d'un autre (mes erreurs) n'est pas malin)

Posté par
bidonchondu77
re : algorithme quadrilatere 01-03-14 à 16:50

je te rassure j'avais vu ton erreur je ne l'ai pas recopier donc le prof nous donne la conditions suivant (MN)//(PQ) ou (NP)//(MQ) donc dans mon algorithme je traduis ça par (C-A)(H-F)=(G-E)(D-B) ou (E-C)(H-B)=(G-A)(F-D) ??
Je croit que j'ai bien compris il fallais s'apppuyer sur xy'=x'y le prof nous la donné cette formule
confirme moi que j'ai compris en tout cas je te remercie de ton aide qui ma ete precieuse

Posté par
mathafou Moderateur
re : algorithme quadrilatere 01-03-14 à 17:04

Oui. c'est tout bon. (d'autant plus si le prof a donné la formule !)



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 1741 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 !