Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

compléter un algorithme équations de droites sous python

Posté par
Nelcar
15-05-19 à 14:00

Bonjour,
voilà j'ai un premier exercice à faire qui est :
1) on considère des points A et B d'un repère du plan. Les variables xA, xB, yA et yB contiennent les coordonnées des points A et B. Compléter l'algorithme suivant pour qu'après exécution, la variable a contienne, lorsqu'il existe, le coefficient directeur de la droite (AB).
Si ..... j'ai mis xA xb
   Alors a flèche inversée ........(yB-yA)/(Xb-xA)
Fin Si
2) Programmer cet algorithme à l'aide d'une fonction dont les arguments sont xA,xB,yA et yB et qui retourne la valeur de la variable a.
j'ai fait;
def coefdir(xA,xB,yA,yB)
    if xA!=xB
        a=(yB-yA)/(xB-xA)
   return(a)
Merci pour votre réponse.

Posté par
Nelcar
re : compléter un algorithme équations de droites sous python 15-05-19 à 14:03

attention à ma première réponse entre xA et xB il manque le signe différent.
Merci

Posté par
Barney
re : compléter un algorithme équations de droites sous python 15-05-19 à 14:22

Bonjour,

il n'y a pas d'entrée utilisateur pour les coordonnées de A et B ?
on ne profite pas de l'algo pour calculer l'ordonnée à l'origine
et afficher l'équation de la droite ?

Posté par
mathafou Moderateur
re : compléter un algorithme équations de droites sous python 15-05-19 à 14:26

Bonjour

le signe ≠ y est bien.
pb d'affichage ou d'internet "lent" chez toi ?

outre qu'il manque des ":" (erreur syntaxe !!)
le problème de ta fonction Python est que quand xA = xB, a n'est pas initialisé à quoi que ce soit et l'instruction "return a" va coincer fortement !!

le problème est dans l'énoncé lui même : comment pourrait on retourner une valeur qui n'existe pas ???
cette spécification fausse entraine fatalement un programme faux !

il faudrait compléter la demande par
une fonction dont les arguments sont xA,xB,yA et yB et qui retourne la valeur de la variable a si elle existe, cette valeur, et sinon retourne va savoir quoi (à définir) ...
c'était déja le cas dans la 1ère question.

on peut s'en sortir par une pirouette :

def coefdir(xA,xB,yA,yB): (ne pas oublier les ":" )
if xA!=xB: (et là non plus)
a=(yB-yA)/(xB-xA)
return(a)

j'ai juste change l'indentation de sorte que on ne retourne le coefficient directeur que si il existe et sinon ... on ne retourne rien du tout ! (c'est loin d'être propre ça !!)

Posté par
mathafou Moderateur
re : compléter un algorithme équations de droites sous python 15-05-19 à 14:43

Barney il n'y a pas d'entrée utilisateur pour les coordonnées de A et B ?
c'est normal vu l'énoncé :
une fonction (pas un programme !!) dont les arguments sont ..

on peut utiliser cette fonction en ligne de commande de la console Python en y tapant par exemple :
*** Console de processus distant Réinitialisée ***
>>>
>>> coefdir(1,2,3,4)
1.0
>>> coefdir(1,1,2,3)
(réponse rien du tout, c'est ma variante)
>>>

ou dans un programme (module) avec une batterie de Input et un print à la fin : mais ce n'est pas demandé

def coefdir(xA,xB,yA,yB):
if etc

xA = float(input("Xa"))
yA = float(input("Ya"))
etc
print(coefdir(xA,xB,yA,yB))

voire plus compliqué dans une boucle pour demander ça répétitivement pour des droites successives

Posté par
Nelcar
re : compléter un algorithme équations de droites sous python 15-05-19 à 15:38

Merci beaucoup pour vos réponses.
Super.
J'ai fait des essais dans la console ça marche.
MERCI



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