IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Équation quadratique


Sujet :

Python

  1. #1
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2020
    Messages : 9
    Par défaut Équation quadratique
    bonsoir, j'ai écrit une code qui permet de trouver les solutions d'une équation quadratique. je veux le vérifier. merci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    # solve a quadratic equation 
    from math import sqrt
     
    # here is for the user to give values to a,b and c     
    a = int(input('enter the first  coefficient : a = '))
    b = int(input('enter the second coefficient : b = '))
    c = int(input('enter the third  coefficient : c = '))
     
    # the form of quadratic equations is ax^2 + bx + c
    print('the equation you want to solve is :  ', a,'x² + ',b,'x + ',c,' = 0') 
     
    # well now we  have to case the first one is when a = 0 and the second is a not equal 0 
    # let's begging whith the first one a = 0
    if a == 0 :
        # so here the equation is writting like this 
        print('the new form of the equation is ',b,'*x +', c,' = 0')
        # the solution is 
        x = (-c)/b
        print('the solution is : x = ',x)
    else :
        # this is discriminant of the equation
        delta = b**2 - (4*a*c)
        # we have here three cas 
        # the first one is: 
        if delta > 0:
            x1 = (-b + sqrt(delta))/(2*a) 
            x2 = (-b - sqrt(delta))/(2*a) 
            print("the two solution of the equation are :  x = ",x1,'  or  x = ', x2)
        # the second cas :
        elif delta < 0 :
            print('there is no solutions of this equation in the real numbers set')
        # the last cas :
        else :
            x0 = -b/(2*a)
            print('there is only one solution of this equation, it is : x = ',x0)
     
    #  the end of the programme

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 679
    Par défaut
    Salut,

    Citation Envoyé par MOHAMED2020 Voir le message
    j'ai écrit une code qui permet de trouver les solutions d'une équation quadratique. je veux le vérifier.
    Vous choisissez une suite de a, b, c pour lesquels vous connaissez les solutions qui vous feront passer dans les différentes branches du code et vous vérifiez que çà donne le résultat attendu.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre Expert

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par défaut
    Si a et b valent 0 vous avez un problème.

    Sinon, pour tester votre code :
    1) prenez vous des équations dont vous avez calculer les solutions à la main et vérifier que ça correspond. Arranger pour avoir des exemples variés qui explorent tous les cas de figure
    2) faites des test également avec des valeurs extrêmes ou particulière, ici ca serait surtout 0. Si a vaut 0 ? Si b vaut 0 ? Si c vaut 0 ? Si 2 d'entre eux valent 0 ? Si les 3 valent 0 ? (ca vous fait 7 cas là)

  4. #4
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2020
    Messages : 9
    Par défaut equation quadratique
    j'ai modifié mon code.
    j'espère maintenant que mon code est correct.
    et merci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    # solve a quadratic equation in the real numbers set
     
    from math import sqrt
     
    # here is for the user to give values to a,b and c
    a = int(input('enter the first coefficient : a = '))
    b = int(input('enter the second coefficient : b = '))
    c = int(input('enter the third coefficient : c = '))
     
    # the form of quadratic equations is ax^2 + bx + c
    print('the equation you want to solve is : ', a,'x² + ',b,'x + ',c,' = 0')
     
    # well now we have tow cases the first one is when a = 0 and the second is a not equal 0
    # let's begging whith the first one a = 0
    if a == 0 :
    # so here the equation is writting like this
    print('the new form of the equation is ',b,'*x +', c,' = 0')
    # here if b = 0
    if b == 0:
    # here if c = 0
    if c == 0 :
    print('there are infinity of solutions')
    # here if c is not equal 0
    else :
    print('there are no solutions')
    # here if b is not equal 0
    else :
    if c == 0 :
    print('x = 0')
    # here if c is not equal 0
    else :
    x = (-c)/b
    print('the solution is : x = ',x)
    # here if is a isn't equal 0
    else :
    # if b = 0
    if b == 0 :
    # if c = 0
    if c == 0:
    print('x = 0')
    # if c isn't equal 0
    else :
    y = -c/a
    # here if y is positive
    if y > 0 :
    print('x = ', sqrt(-c/a), 'ou x = ', -sqrt(-c/a) )
    # here if y is not positive so the sqrt of y doesn't exist in the real numbers set
    else :
    print('there is no solutions')
    # if b isn't equal 0
    else :
    if c == 0 :
    print('x = 0 ou x = ',-b/a )
    #here if c isn't equal 0
    else :
    # this is discriminant of the equation
    delta = b**2 - (4*a*c)
    # the first case :
    if delta > 0:
    x1 = (-b + sqrt(delta))/(2*a)
    x2 = (-b - sqrt(delta))/(2*a)
    print("the two solution of the equation are : x = ",x1,' or x = ', x2)
    # the second case :
    elif delta < 0 :
    print('there is no solutions of this equation in the real numbers set')
    # the last case :
    else :
    x0 = -b/(2*a)
    print('there is only one solution of this equation, it is : x = ',x0)
     
    # the end of the programme

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 679
    Par défaut
    Salut,

    Citation Envoyé par MOHAMED2020 Voir le message
    j'ai modifié mon code.
    j'espère maintenant que mon code est correct.
    Sans indentation, votre code est incorrect.
    Et si vous ne prenez pas plus de soin à relire votre code qu'à relire vos réponses, çà ne va pas le faire.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre éprouvé Avatar de olivier1969
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 153
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,
    Sans indentation, votre code est incorrect.
    Et si vous ne prenez pas plus de soin à relire votre code qu'à relire vos réponses, çà ne va pas le faire.

    - W
    Même avec , je doute que ça fonctionne ; extrait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    # here if c is not equal 0
    else :
    print('there are no solutions')
    # here if b is not equal 0
    else :
    if c == 0 :
    print('x = 0')
    # here if c is not equal 0

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 679
    Par défaut
    Citation Envoyé par olivier1969 Voir le message
    Même avec , je doute que ça fonctionne ; extrait :
    De toutes façons, c'est pas si compliqué de faire un tableau pour lister les différents cas possibles et un jeu de tests qui validera qu'on passe bien dans les différents cas et que çà affiche la bonne solution. Sûr que pour tester, il serait moins fastidieux d'écrire une fonction qui prenne a, b, c en arguments et qui retourne la liste (éventuellement vide) des solutions.

    Par contre, pour savoir si le code est "juste", difficile de le faire sans le tableau de départ pour s'assurer que le code prend en compte les différents cas et fabriquer le jeu de tests pour valider que çà le fait... Ce qui n'a aucun intérêt si le boulot a déjà été fait "proprement". Là où on pourrait éventuellement aider, c'est lorsqu'on a un résultat inattendu pour certaines valeurs de (a, b, c) et qu'on n'arrive pas à relire son code pour comprendre pourquoi.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  8. #8
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2020
    Messages : 9
    Par défaut eauqtion quadratique
    salut,
    j'ai encore essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    # solve a quadratic equation 
     
    from math import sqrt
    # here is for the user to give values to a,b and c
    a = int(input('enter the first coefficient : a = '))
    b = int(input('enter the second coefficient : b = '))
    c = int(input('enter the third coefficient : c = '))
     
    # the form of quadratic equations is ax^2 + bx + c
    print('the equation you want to solve is : ', a,'x² + ',b,'x + ',c,' = 0')
     
    # well now we have tow cases the first one is when a = 0 and the second is a not equal 0
    # let's begin whith the first one a = 0
    if a == 0 :
        print('the new form of the equation is ',b,'*x +', c,' = 0')
        if b == 0:
            if c == 0 :
                print('there are infinity of solutions')
            else :
                print('there are no solutions')
        # here i2f b is not equal 0
        else :
            x = (-c)/b
            print('the solution is : x = ',x)
    # here if is a isn't equal 0
    else :
        # this is discriminant of the equation
        delta = b**2 - (4*a*c)
        if delta >= 0:
            if delta == 0 :
                x0 = -b/(2*a)
                print('x = ',x0)
            else :    
                x1 = (-b + sqrt(delta))/(2*a)
                x2 = (-b - sqrt(delta))/(2*a)
                print("x = ",x1,' or x = ', x2)
     
        else :
            y1 = complex(-b,sqrt(-delta))/(2*a)
            y2 = complex(-b,-sqrt(-delta))/(2*a)
            print('y = ',y1,' or y = ', y2)
    # the end of the programme

  9. #9
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 679
    Par défaut
    Bravo! Votre code ressemble à quelque chose. Vous avez pu le tester: soit il fonctionne et vous avez fini, soit vous avez une question spécifique (qu'il faudrait exprimer).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  10. #10
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2020
    Messages : 9
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Bravo! Votre code ressemble à quelque chose. Vous avez pu le tester: soit il fonctionne et vous avez fini, soit vous avez une question spécifique (qu'il faudrait exprimer).

    - W
    merci beaucoup.

  11. #11
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut


    Il manque une condition, tester le cas suivant : a = 0, b = 2 et c = 0

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  12. #12
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 679
    Par défaut
    Citation Envoyé par danielhagnoul Voir le message
    Il manque une condition, tester le cas suivant : a = 0, b = 2 et c = 0
    Si a = 0 et b différent de 0, la solution sera toujours - c / b (qui pourra être 0 si c = 0).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  13. #13
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2020
    Messages : 9
    Par défaut
    Citation Envoyé par danielhagnoul Voir le message


    Il manque une condition, tester le cas suivant : a = 0, b = 2 et c = 0
    salut,
    merci d'avance, alors j'ai testé le cas que tu m'as indiqué et ça marche pes de problem.
    interpretation: si a =0 et b <> 0 alors alors x = -c /b.
    et même si c = 0 alors on obtient que x = 0 donc le cas que tu m'as indiqué est inclus dans le cas général qui est a =0 et b<> 0.
    et encore merci.

  14. #14
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    @wiztricks et @MOHAMED2020 : vous avez raison, désolé pour le dérangement inutile.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

Discussions similaires

  1. [Math]resoudre un système de N équation à N inconnus
    Par Shiryu44 dans le forum Mathématiques
    Réponses: 9
    Dernier message: 15/02/2005, 17h41
  2. Déterminer les coefficients moyens d'une équation linéaire
    Par Oliveuh dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 11/01/2005, 23h23
  3. Calcul d'équation y=0.125*x+4 en Assembleur 8086
    Par makohsarah dans le forum Assembleur
    Réponses: 14
    Dernier message: 15/12/2004, 02h05
  4. équation d'une chaine
    Par khayyam90 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 20/11/2004, 14h58
  5. Maths : équations
    Par Anonymous dans le forum Mathématiques
    Réponses: 5
    Dernier message: 02/05/2002, 16h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo