Bonjour,
J'ai eu comme exercice à faire sur algobox ce sujet :
Faire un algorithme en donnant 2 points, il faut que le programme donne l'équation de droite, il faut utiliser "si...alors" et voir si ils ont la mêle abscosse.
J'ai commencé à faire ça, mais je ne suis pas sure du tout :
:Xa EST_DU_TYPE NOMBRE
Xb EST_DU_TYPE NOMBRE
Ya EST_DU_TYPE NOMBRE
Yb EST_DU_TYPE NOMBRE
m EST_DU_TYPE NOMBRE
p EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
LIRE Xa
LIRE Ya
LIRE Xb
LIRE Yb
m PREND_LA_VALEUR Yb-Ya/Xb-Xa
p PREND_LA_VALEUR Ya-m*Xa
FIN_ALGORITHME
Ayant été absente lorsque le prof a expliqué cet exo, j'ai du mal à comprendre ce qu'il demande et ce qu'est l'équiation de droite...
Merci d'avance si vous prenez le temps de lire et répondre a ce post !
avant de penser à l'algorithme,
apprends ta leçon sur l'équation d'une droite
passant par 2 points.
exercice 4 -> Quatorze problèmes sur les équations de droite
oui c'est la forme y=ax+b , mais est-ce que mes calculs me permettent de définir a et b pour trouver x ? et le coup de la même abscisse je n'ai pas compris non plus.
Bonjour,
1. Vous devez traiter le cas Xa=Xb (avec un "si...alors")
-> dans le cas où Xa<>Xb :
Votre calcul de la pente m (Yb-Ya/Xb-Xa) est correct
Votre calcul de la constante p ( Ya-m*Xa) est également correct
C'est une droite de formule Y = mX + p
-> dans le cas où Xa=Xb : c'est une droite // 0 l'axe des y. de formule x=cste
PS: le choix des noms m et p sont perturbantes car inhabituels. Il aurait été mieux de les appeler alpha et beta.
-> dans le cas où Xa=Xb : c'est une droite // 0 l'axe des y. de formule x=cste
la constante est bien évidemment Xa (qui est aussi Xb)
Les calculs de la fin sont donc justes ? Il faut dont que je rajoute le si alors :
Xa EST_DU_TYPE NOMBRE
Xb EST_DU_TYPE NOMBRE
Ya EST_DU_TYPE NOMBRE
Yb EST_DU_TYPE NOMBRE
m EST_DU_TYPE NOMBRE
p EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
SI (Xa=Xb) alors
LIRE Xa
LIRE Ya
LIRE Xb
LIRE Yb
m PREND_LA_VALEUR Yb-Ya/Xb-Xa
p PREND_LA_VALEUR Ya-m*Xa
FIN_ALGORITHME
c'est comme ca donc ?
"SI (Xa=Xb) alors"
doit être faite après la lecture.
Relire mes explications ci-dessus et essayez de le retranscrire en langage algobox
Désolé, je ne vais plus pouvoir poursuivre à t'accompagner dans cet exercice. Mais je pense que quelqu'un d'autre le fera.
Bonne continuation
Xa EST_DU_TYPE NOMBRE
Xb EST_DU_TYPE NOMBRE
Ya EST_DU_TYPE NOMBRE
Yb EST_DU_TYPE NOMBRE
m EST_DU_TYPE NOMBRE
p EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
LIRE Xa
LIRE Ya
LIRE Xb
LIRE Yb
SI (xA == xB) et (yA == yB)
alors pas de droite car points confondus
ELSE IF (xA == xB)
alors droite verticale d'équation x = xA
ELSE IF (yA == YB)
alors droite horizontale d'équation y = yA
ELSE
m PREND_LA_VALEUR Yb-Ya/Xb-Xa
p PREND_LA_VALEUR Ya-m*Xa
droite d'équation y = mx + p
FIN
FIN_ALGORITHME
merci beaucoup abou-salma !
Dons, en plaçant mon "si...alors", mon algorithme donne ca :
Xa EST_DU_TYPE NOMBRE
Xb EST_DU_TYPE NOMBRE
Ya EST_DU_TYPE NOMBRE
Yb EST_DU_TYPE NOMBRE
m EST_DU_TYPE NOMBRE
p EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
LIRE Xa
LIRE Ya
LIRE Xb
LIRE Yb
SI (Xa=Xb) ALORS
DEBUT_SI
m PREND_LA_VALEUR Yb-Ya/Xb-Xa
p PREND_LA_VALEUR Ya-m*Xa
FIN_SI
FIN_ALGORITHME
Sauf que lorsque je lance l'algorithme maintenant on me demande d'entrer Xa, Xb, Ya et Yb et quoi que je mette ça ne me donne rien
dans ton algo
remplace SI (Xa=Xb) ALORS
par SI (Xa != Xb) ALORS
puis complète par :
afficher m
aficher p
ce qui donne donc :
SI (Xa !=Xb) ALORS
DEBUT_SI
m PREND_LA_VALEUR Yb-Ya/Xb-Xa
p PREND_LA_VALEUR Ya-m*Xa
AFFICHER m
AFFICHER p
FIN_SI
FIN_ALGORITHME
ou
SI (Xa !=Xb) ALORS
DEBUT_SI
m PREND_LA_VALEUR Yb-Ya/Xb-Xa
p PREND_LA_VALEUR Ya-m*Xa
FIN_SI
AFFICHER m
AFFICHER p
FIN_ALGORITHME
car dans les deux cas on me demande quand même d'entrer des données pour Xa, Xb, Ya et Yb. (désolée je suis longue à la détente, mais tout ce qui est mathématiques est ma bête noire..)
on ne peut afficher la valeur m et p que
si on a effectivement calculé m et p.
l'une des deux versions que tu viens d'écrire est correcte
l'autre non.
donc la seconde version est correcte car j'ai calculé m et p. Mais même lorsque je lance l'algorithme ensuite on me demande d'entrer des coordonnées
dans la 2° version, tu affiches m et p
même lorsque tu ne calcules pas m et p
c'est le cas quand xA == xB
car tu affiches m et p
une fois que tu es sorti de la condition SI (Xa !=Xb) ALORS ... FIN_SI
voila pourquoi, cette 2° version n'est pas correcte.
D'accord, merci pour les explications ! je comprend mieux algobox du coup. Donc même si je n'ai pas de valeurx pour mes X et Y, mon algorithme est juste ?
x et y sont les coordonnées de tous les points de la droite recherchée.
m et p sont les coefficients de la droite.
ce sont ces coefficients qui sont demandés.
ton algo est bon.
mais lorsque je lance l'algorithme aucuns chiffres n'apparaissent, comment je fais pour les obtenir ?
oui mais ca me marque *algorithme lancé* *algorithme fini* sans aucuns résultats et je n'ai pas de valeurs données par mon prof, donc je les ai choisi moi
comme Xa=Xb par exemple je prend 4, puis pour Ya et Yb j'en prend deux différents comme 6 et 8 par exemple. Je suppose que c'est faux ?
évidemment c'est faux.
il faut prendre une valeur de xB différente de celle de xA
sinon l'algorithme n'affiche rien, car la droite y = mx + p n'existe pas.
bon, je sais c'est jamais fini, sauf qu'on m'a dit que je devais trouver une équation y=ax+b, or avec l'algorithme que j'ai je ne tombe pas sur ça. Je peux trouver un moyen d'afficher ax+b avec mon algorithme ?
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :