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

Pascal Discussion :

Equation du 2ème degré


Sujet :

Pascal

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 14
    Points : 5
    Points
    5
    Par défaut Equation du 2ème degré
    Bonjour

    Je suis nouveau dans ce forum ...
    Je peux entrer direct dans le sujet

    Je veux faire un programme qui permet d'afficher le résultat d'une équation de 2ème degré, c'est-à-dire d'afficher
    x'
    x''

    Je pense ça

    on a
    --------------
    ∆ = b*b - 4 ac
    x' = -b - √∆ / 2
    x'' = -b + √∆ / 2

    ∆ , x' , x'' sont constants et E , a , b , c sont des variables

    Comment on peut faire cet algo et prog ????

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Citation Envoyé par vip4e
    comment on peut faire cet algo et prog ????
    En se creusant la tête et en cherchant par soi-même Pose des questions précises sur des problèmes précis et on t'aidera.
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Points : 711
    Points
    711
    Par défaut
    Bonjour,

    Tu veux sans doute qu'en plus j'aille te border ce soir ?

    Réfléchi.

    Tu connais les formules, tu n'as qu'à les traduire en algorithme. Comme tu sais résoudre ces équations à la main, tu connais au moins un algorithme pour le faire.

    Écris-le, et il ne te restera plus qu'à le traduire en Pascal.
    Compilation sans erreur ne signifie pas programme sans erreur.
    L'indentation n'a pas été imaginée pour faire beau, mais pour faciliter la lecture des programmes.

  4. #4
    Expert confirmé
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Points : 4 015
    Points
    4 015
    Par défaut
    Bonjour,
    Citation Envoyé par vip4e
    comment on peut faire cet algo et prog ????
    Vu que tu sais deja resoudre cette equation et tu connais les formules maintenant pour obtenir l'algo pense à comment on fait pour obtenir a,b et c et quand on les a comment on fait pour connaitre l'existence de et sa valeur et ce qu'on peut en faire par la suite et sous quellles conditions il marche et comme c'est une equation de 2 eme degre tu dois aussi penser a certaines conditions;
    Alors ça fait beaucoup de choses auxquels tu dois penser mais quand t'auras fini tu veras qu'il fallait pas trop penser pour trouver,
    lis tes cours d'algo et des pascal et reviens poser tes questions quand tu auras avancé(j'espere que mes indication t'aurons aidé)
    Bon courage
    Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !

    Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells

  5. #5
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    ok ok

    l`analyse est

    resultat : ecrire(''x' = '');
    ecrire('' x'' = '');
    traitement :
    E <-- a*x*x + b*x + c = 0 ;

    ∆ = b*b - 4 ac ecrire (''∆ = '');
    si ∆ = 0 alors
    x= -b / 2a ecrire ('' l`equation a une seule racine x = '');
    si ∆ > 0 alors
    x' = -b - √∆ / 2 ;
    x'' = -b + √∆ / 2 ;
    ecrire ('' l`equation a deux racines x'= et x''= '');
    sinon ecrire ('' l`equation n`a pas de racine '');

    finsi;

    a= donne ecrire ('' donner a'');
    b= donne ecrire ('' donner b'');
    c= donne ecrire ('' donner c'');

    fin equa...
    l`algo est

    debut
    ecrire ('' donner a'');
    lire (a);
    ecrire ('' donner b'');
    lire (b);
    ecrire ('' donner c'');
    lire (c);
    ecrire (e);

    ∆=b*b-4*a*c ecrire (''∆ = '');
    si ∆=0 alors
    x= -b div 2*a ecrire('' l`equation a une seule racine x = '');
    lire(x);
    si ∆>0 alors
    x'=(-b - racine(∆)) div 2*a ;
    x''=(-b + racine(∆)) div 2*a ;
    ecrire('' l`equation a deux racines'');
    ecrire(''x'= '');
    lire(x');
    ecrire(''x''= '');
    lire(x'');

    sinon ecrire('' l`equation n`a pas de racine '');

    finsi;

    fin equa..
    le prog est

    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
    program calcul
    Uses wincrt
     
    var
    e,a,b,c:integer
    x,x',x'',D:real
     
    begin
     
    write('donner a');
    readln(a);
    write('donner b');
    readln(b);
    write('donner c');
    readln(c);
    E:=a*x*x+b*x+c=0
    read(E);
     
    D=b*b-4*a*c write ('D = '); 
    readln(D);
    if D=0 then 
                     x=-b div 2*a write(' l`equation a une seule racine x = ');
    readln(x);
     
    if D>0 than 
                   x'=(-b-(SQRT(D)) div 2*a ;
                   x''=(-b+(SQRT(D)) div 2*a ;
    write(' l`equation a deux racines ');
    wirite('x'= ');
    readln(x');
    wirite('x''= ');
    readln(x'');
    else  write(' l`equation n`a pas de racine ');
     
    end if;
     
    end.
    ok et maintenant est ce qu`il est vrai ??

    merci

  6. #6
    ALT
    ALT est déconnecté
    Membre émérite
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 234
    Points : 2 338
    Points
    2 338
    Par défaut
    Y a déjà une erreur flagrante :
    x=(-b +/-racine(delta))/2*a
    Et non
    x=(-b +/-racine(delta))/2 !
    « Un peuple qui est prêt à sacrifier un peu de liberté contre un peu de sécurité, ne mérite ni l'une, ni l'autre, et finira par perdre les deux. »
    Attribué indistinctement à :
    Thomas Jefferson
    Benjamin Franklin
    Albert Einstein !

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Points : 711
    Points
    711
    Par défaut
    Bonjour,

    Réfléchi un peu, et relis ce que tu proposes comme code !!

    Tes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ...
    write(E); // qui, au passage n'est pas initialisé
    ...
    Readln(D); // alors que tu viens de le calculer
    ...
    c'est quoi tout ça ?

    Il faut quand même essayer d'être sérieux, au moins un peu

    Citation Envoyé par vip4e
    ok et maintenant est ce qu`il est vrai ??
    Pourquoi poser la question ?

    En testant, tu as bien vu que non
    Compilation sans erreur ne signifie pas programme sans erreur.
    L'indentation n'a pas été imaginée pour faire beau, mais pour faciliter la lecture des programmes.

  8. #8
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Tes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ...
    write(E); // qui, au passage n'est pas initialisé
    ...
    Readln(D); // alors que tu viens de le calculer
    ...
    c'est quoi tout ça ?
    je ne sais pas

    Il faut quand même essayer d'être sérieux, au moins un peu
    je suis tres serieux

    mais je suis un nouveau dans cette langauge de programmation

    Pourquoi poser la question ?
    pardant je tester il a un erreur 26 type msmatch

  9. #9
    Expert confirmé
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Points : 4 015
    Points
    4 015
    Par défaut
    Bonjour
    quand on dit d'etre un peu serieux c'est pour te dire ne pas envoyé un code vite fait et qui respecte rien ,relis ton code et pose des question la ou tu bloques
    E:=a*x*x+b*x+c=0
    read(E);
    tu sais ce que ça fait ça?
    aussi pourkoi utiliserdivn'oublis pas que les x peuvent etre des reels aussi
    x'=(-b - racine(∆)) div 2*a ;
    x''=(-b + racine(∆)) div 2*a ;
    ecrire('' l`equation a deux racines'');
    ecrire(''x'= '');
    lire(x');
    ecrire(''x''= '');
    lire(x'');
    si x' et x'' sont deja calculé pourkoi les lire ?
    est ce que tu sais ce que veut dire lire et ecrire?
    Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !

    Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells

  10. #10
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    je fait ca et j`ai un erreur 26 type msmtach

    dans cette ligne

    D=b*b-4*a*c;
    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
    program calcul;
    Uses wincrt;
     
    var
    e,a,b,c:integer;
    x,x1,x2,D:real;
     
    begin
     
    write('donner a');
    readln(a);
    write('donner b');
    readln(b);
    write('donner c');
    readln(c);
     
    E:=a*SQR(x)+b*x+c=0
    D=b*b-4*a*c;
     
    if D=0 then 
                     x=-b div 2*a write('l`equation a une seule racine x=');
    readln(x);
     
    if D>0 than 
                   x1=(-b-(SQRT(D)) div 2*a ;
                   x2=(-b+(SQRT(D)) div 2*a ;
    write('l`equation a deux racines');
    write('x1= ');
    readln(x1);
    write('x2= ');
    readln(x2);
    else
     
    write('l`equation n`a pas de racine');
     
    end if;
     
    end.

  11. #11
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    [QUOTE=krachik]Bonjour
    quand on dit d'etre un peu serieux c'est pour te dire ne pas envoyé un code vite fait et qui respecte rien ,relis ton code et pose des question la ou tu bloques

    tu sais ce que ça fait ça?
    non

    aussi pourkoi utiliser div n'oublis pas que les x peuvent etre des reels aussi
    j`utiluse div pour la division

    x est un reel je sais

    si x' et x'' sont deja calculé pourkoi les lire ?
    pour l`afficher sur l`ecran

    est ce que tu sais ce que veut dire lire et ecrire?
    oui je sais

  12. #12
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    ok

    Quelles sont mes fautes et où sont-elles ?

    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
    program calcul;
    Uses wincrt;
     
    var
    e,a,b,c:integer;
    d,x,x1,x2:real;
     
    begin
     
    write('donner a');
    readln(a);
    write('donner b');
    readln(b);
    write('donner c');
    readln(c);
     
    E:=a*SQR(x)+b*x+c=0
    d=SQR(b)-4*a*c;
     
    if a+b+c=0 then
     
    x1=1;
    x2=c/a;
     
    else if D=0 then 
                   x=-b/2*a write('l`equation a une seule racine x=');
    readln(x);
     
    if D>0 then 
                   x1=(-b-(SQRT(D))/2*a ;
                   x2=(-b+(SQRT(D))/2*a ;
    write('l`equation a deux racines');
    else
     
    write('l`equation n`a pas de racine');
     
    end if;
     
    end.

  13. #13
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    moi non plus je comprend pas pourquoi tu veut lire x et x', effectivement elles sont déjà calculées!!

    peut être que je me trompe, dans ce cas la fais le moi savoir!

    Mais dans un programme
    Ecrir signifie afficher à l'écran
    Lire signifie lire les données entrées au clavier!

    si tu le savais déjà bah ca nous fait à tous un rappel^^

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Points : 711
    Points
    711
    Par défaut
    Bonjour,

    Tu persistes et signes ?

    On te l'a déjà fait remarquer.

    Sais-tu ce que tu écris quand tu fais
    Si tu as vu ça quelque part dans un cours/bouquin ou n'importe quelle doc Pascal, donne moi la référence.

    Et tu persistes à lire x après l'avoir calculé, etc...

    C'était ma dernière réponse à ta demande.

    Pour obtenir de l'aide, il faut quand même faire un effort, et, pour le moins, tenir compte des réponses déjà faites.

    Ciao
    Compilation sans erreur ne signifie pas programme sans erreur.
    L'indentation n'a pas été imaginée pour faire beau, mais pour faciliter la lecture des programmes.

  15. #15
    Expert confirmé
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Points : 4 015
    Points
    4 015
    Par défaut
    Bonjour
    Citation Envoyé par vip4e
    E:=a*SQR(x)+b*x+c=0
    D=b*b-4*a*c;
    l'erreur que tu dis n'est pas à la ligne que tu pense mais la ligne precedente
    c'est a dire
    E:=a*SQR(x)+b*x+c=0
    a*SQR(x)+b*x+c=0
    cec est une expression booléenne donc non affectable à un entier car tu a declarer E comme etant entier
    pour que ça marche il faut que la variable a laquelle tu affectes l'expression soit de type Boolean
    Citation:
    E:=a*x*x+b*x+c=0
    read(E);

    tu sais ce que ça fait ça?
    eh bien tu affectes une expression booleenne à un entier et ensuite tu essaie de le lire

    Alors tout d'abord pour commencer,commences par jeter un coup d'oeil sur le cours de CyberZoide à http://cyberzoide.developpez.com/info/turbo/chap1.php3


    j`utiluse div pour la division
    x est un reel je sais
    div retourne une valeur entiere c'est a dire que tel que tu l'avais fait avant les valeurs de x' et x'' seront toujours entieres et seront tronqué ds fois

    Bon voila ton code:
    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
     
    program calcul;
    {n'oublies pas que le Compilateur pascal ne respecte pas la casse donc que 
      tu ecrives en miniscule ou majuscule c'est pareille mais tu peux le faire ça 
      rend aussi le code lisible}
    Uses wincrt;
    var
       e,a,b,c:integer;
       d,x,x1,x2:real;
    begin
    {Penses a indenter ton code }
    {Il est preferable de faire write('donner a:'); pour ne pas que le nombre entré 
      par l'utilisateur ne soit pas collé avec la chaine écrite }
        write('donner a');
        readln(a);
        write('donner b');
        readln(b);
        write('donner c');
        readln(c);
    {pas de saut de ligne inutile }
    {Ici pas d'affectation possible E est un entier et l'expression que tu affectes
      est booléenne et il manque un point virgule a la fin , en plus il te sert  pas    cette instruction ,je pense que tu voudrais l'afficher}
    {  writeln('Equation  ax²+bx+c =0');}
        E:=a*SQR(x)+b*x+c=0
    {il manque ":"apres le d}
    {  d:=SQR(b)-4*a*c;}
        d=SQR(b)-4*a*c;
    {C'est mieux de mettre des parenthese meme si c'est inutile if (a+b+c=0) then..}
        if a+b+c=0 then
            x1=1;
        x2=c/a;
       else 
       if D=0 then 
            x=-b/2*a 
            write('l`equation a une seule racine x=');
    {Comme je l'ai dit cette instruction est totalement inutile}
            readln(x);
    {Si tu veux que plusieurs instructions concerne ton "if" il faut mettre ces 
      instructions entre un "begin" et un "end"}
            if D>0 then 
                {begin}
                 x1=(-b-(SQRT(D))/2*a ;
                 x2=(-b+(SQRT(D))/2*a ;
                 {end}
           write('l`equation a deux racines');
           else
                 write('l`equation n`a pas de racine');
    {Ca n'est existe pas en pascal "end if" }
           end if;
    end.
    Bon bref meme les indication ne suufiront pas a faire compiler ton code il te faut le revoir et refaire certaines instructions pour que ça marche neamoins je vais te refaire un code basé sur le tien juste pour te montrer le chemin
    Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !

    Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells

  16. #16
    Expert confirmé
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Points : 4 015
    Points
    4 015
    Par défaut
    revois ton algo pour mieux avancer
    voila ton algo partiellement corrigé

    debut
    ecrire ('' donner a'');
    lire (a);
    ecrire ('' donner b'');
    lire (b);
    ecrire ('' donner c'');
    lire (c);
    ∆=b*b-4*a*c
    si ∆=0 alors
    x= -b / 2*a
    ecrire('' l`equation a une seule racine x = '',x);
    si ∆>0 alors
    x'=(-b - racine(∆)) / 2*a ;
    x''=(-b + racine(∆)) / 2*a ;
    ecrire('' l`equation a deux racines'');
    ecrire(''x'= '',x');
    ecrire(''x''= '',x'');
    sinon
    ecrire('' l`equation n`a pas de racine dans R, mais dans C oui'');

    fin
    Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !

    Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells

  17. #17
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par krachik
    revois ton algo pour mieux avancer
    voila ton algo partiellement corrigé
    merci beaucoup

    le programm marche mais n`est pas bien

    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
    program calcul;
    Uses wincrt;
     
    var
    a,b,c:integer;
    d,x,x1,x2,x3:real;
    e:boolean;
     
    begin
     
    write('donner a ---> '); readln(a);
    write('donner b ---> '); readln(b);
    write('donner c ---> '); readln(c);
     
    writeln('Equation  ',a*x*x+b*x+c =0);
    E:=a*SQR(x)+b*x+c=0;
    d:=SQR(b)-4*a*c;
     
    if (a+b+c=0) then
                    begin 
                    x1:=1;
                    write('x1= ',x1);
                    x2:=c/a;
                    write('x1= ',x1);
                    end
    else if (D=0) then
                   begin
                   x3:=-b/2*a;
                   write('l`equation a une seule racine x= ',x3);
                   end
    else if D>0 then
                   begin
                   x1:=(-b-(SQRT(D))/(2*a));
                   x2:=(-b+(SQRT(D))/(2*a));
                   write('l`equation a deux racines');
                   write('x1= ',x1);
                   write('x2= ',x2);
                   end
    else
                   write('l`equation n`a pas de racine dans R');
    end.

  18. #18
    Expert confirmé
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Points : 4 015
    Points
    4 015
    Par défaut
    Bonjour
    E:=a*SQR(x)+b*x+c=0;
    Et toujours indente bien ton code
    T'as avancer un peu t'a toujours pas compris ce que tu fais en ecrivant cette instruction, et je crois que t'a toujours pas bien cherché
    Alors je t'explique un peu
    a ,b et c sont des variables auxquels tu affectes des valeurs en les lisant( readln(a); etc)
    je te rapppel que E est declarer et reçoit une valeur booleenne que tu n'utilise plus apres dans ton programme donc il est inutile de le declarer
    a*SQR(x)+b*x+c=0
    et au passage tu n'initialise pas x
    retiens que c'est x que tu cherche à calculer et pas E. Quand on écrit ax²+bx+c=0 la variable dans cette equation est x et on suppose que a,b et c sont connus alors faireE:=a*SQR(x)+b*x+c=0 E ne sera jamais vrai pourquoi?
    Dis moi ce que tu cherches à faire en faisant cette instruction;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (a+b+c=0) then
                    begin 
                       x1:=1;
                       write('x1= ',x1);
                       x2:=c/a;
                       write('x1= ',x1);
                    end
    n'est pas nécessaire car tu le fait de toutes les façons en calculant x1 et x2 avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    x1:=(-b-(SQRT(D))/(2*a));
                     x2:=(-b+(SQRT(D))/(2*a));
    n'oublie pas de metre un readln avant le dernier end (tu sais pouquoi?)
    Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !

    Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells

  19. #19
    Expert confirmé
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Points : 4 015
    Points
    4 015
    Par défaut
    J'avais oublier fais attention ou tu mets les parentheses dans les inustructions
    Ca n'est pas la bonne formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     x1:=(-b-(SQRT(D))/(2*a));
     x2:=(-b+(SQRT(D))/(2*a));
    Voici la bonne formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     x1:=(-b-(SQRT(D)))/(2*a);
     x2:=(-b+(SQRT(D)))/(2*a);
    il y'a bien une difference entre ces deux code
    Bon cette fois tu devrait y arriver et avoir les bon resultats
    Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !

    Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells

  20. #20
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par krachik
    J'avais oublier fais attention ou tu mets les parentheses dans les inustructions
    Ca n'est pas la bonne formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     x1:=(-b-(SQRT(D))/(2*a));
     x2:=(-b+(SQRT(D))/(2*a));
    Voici la bonne formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     x1:=(-b-(SQRT(D)))/(2*a);
     x2:=(-b+(SQRT(D)))/(2*a);
    il y'a bien une difference entre ces deux code
    Bon cette fois tu devrait y arriver et avoir les bon resultats
    merci beaucoup

    je pense maintenant que le programm est bien

    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
    program calcul;
    Uses wincrt;
     
    var
    a,b,c:integer;
    d,x,x1,x2,x3:real;
     
    begin
     
    write('donner a ---> '); readln(a);
    write('donner b ---> '); readln(b);
    write('donner c ---> '); readln(c);
     
    d:=SQR(b)-4*a*c;
     
    if (D=0) then
                   begin
                   x3:=-b/2*a;
                   write('l`equation a une seule racine x= ',x3);
                   end
    else if D>0 then
                   begin
                   x1:=(-b-(SQRT(D)))/(2*a);
                   x2:=(-b+(SQRT(D)))/(2*a);
                   writeln('l`equation a deux racines ...');
                   writeln('x= ',x1);
                   writeln('Y= ',x2);
                   end
    else
                   write('l`equation n`a pas de racine dans R');
                   readln;
    end.
    et vous ??? il est bien ou il ya des fautes
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Turbo Pascal] Equation du second degré
    Par Zero_System dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 13/10/2008, 22h16
  2. Resolution d'equation du quatrieme degré
    Par Lucie Mor dans le forum Mathématiques
    Réponses: 6
    Dernier message: 03/04/2008, 00h31
  3. Réponses: 6
    Dernier message: 17/11/2007, 13h17
  4. prbleme de resolution d'equation de 2eme degres ds builder c++
    Par nabilfaouzi dans le forum C++Builder
    Réponses: 8
    Dernier message: 07/11/2007, 19h36
  5. [TP] Equation du second degré
    Par WhiteTigerZ dans le forum Turbo Pascal
    Réponses: 8
    Dernier message: 08/11/2006, 22h00

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