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

Turbo Pascal Discussion :

[TP] Equation du second degré


Sujet :

Turbo Pascal

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    193
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Tunisie

    Informations forums :
    Inscription : Août 2006
    Messages : 193
    Points : 85
    Points
    85
    Par défaut [TP] Equation du second degré
    Salut,
    j'ai un probl7me dans un exercice qui me demande de resoudre dans R une 2quation de second degré. Le programme fonctionne mais il m'affiche un message d'erreur quand delta < 0
    Runtime error 207 at 0001:0137.
    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
    program exercice6 ;
     
    uses wincrt ;
     
    var x1,x2,a,b,c,d,x,d1 : real ;
     
    begin
    writeln('ecrire a :');
    readln(a);
    writeln('ecrire b :');
    readln(b);
    writeln('ecrire c :');
    readln(c);
    d1:=(b*b)-(4*a*c) ;
    d:= sqrt(d1) ;
     
    if d >=0
     then
      begin
      x1:=(-b-d)/(2*a) ; 
      x2:=(-b+d)/(2*a) ;
      writeln(x1 :0 :3);
      writeln(x2 :0 :3);
      end
    else  if d1 < 0
     then  writeln('l''equation n''admet pas de solution');  
     
    end.
    Merci d'avance pour votre réponse

  2. #2
    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 sais manifestement résoudre l'équation, tu interceptes bien le fait que delta puisse être négatif, alors, je me demande :

    Pourquoi calcules-tu sqrt(delta) avant d'avoir testé s'il est positif ou négatif ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    193
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Tunisie

    Informations forums :
    Inscription : Août 2006
    Messages : 193
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par thewho
    Bonjour,

    Tu sais manifestement résoudre l'équation, tu interceptes bien le fait que delta puisse être négatif, alors, je me demande :

    Pourquoi calcules-tu sqrt(delta) avant d'avoir testé s'il est positif ou négatif ?
    Merci pour ta réponse rapide, j'ai fait cette faute car je suis un newbie(17 ans" 2 mois d'experience avec le pascal")
    voila le bon 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
    program exercice6 ;
     
    uses wincrt ;
     
    var x1,x2,a,b,c,d,x,d1 : real ;
     
    begin
    writeln('ecrire a :');
    readln(a);
    writeln('ecrire b :');
    readln(b);
    writeln('ecrire c :');
    readln(c);
    d1:=(b*b)-(4*a*c) ;
     
     
    if d1 >= 0
     then
      begin
      d:= sqrt(d1) ;
      x1:=(-b-d)/(2*a) ; 
      x2:=(-b+d)/(2*a) ;
      writeln(x1 :0 :3);
      writeln(x2 :0 :3);
      end
    else  if  0 > d1
     then  writeln('l''equation n''admet pas de solution');  
     
    end.
    merci encore

  4. #4
    Membre confirmé
    Avatar de diden138
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    714
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 714
    Points : 589
    Points
    589
    Par défaut Re:
    Tu sais je vais te bombarder de remarque :
    1er -> ou est la gestion des erreurs si l'uilisateur entre une lettre au lieux d'un chiffre.
    2eme-> chose ajoute un readln a la fin de ton programme pour que tu puisse regarder le resultat directement sans réapuyer sur ctrl+F9
    3eme-> chose tu a oublié beacoup de cas possible par exemple si a=0 ton equation du 2eme degré deviendera une equation du premier degrés .

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    193
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Tunisie

    Informations forums :
    Inscription : Août 2006
    Messages : 193
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par diden138
    Tu sais je vais te bombarder de remarque :
    1er -> ou est la gestion des erreurs si l'uilisateur entre une lettre au lieux d'un chiffre.
    2eme-> chose ajoute un readln a la fin de ton programme pour que tu puisse regarder le resultat directement sans réapuyer sur ctrl+F9
    3eme-> chose tu a oublié beacoup de cas possible par exemple si a=0 ton equation du 2eme degré deviendera une equation du premier degrés .
    lol
    salut
    voila l'ennoncé de l'exercice
    résoudre dans IR une equation de second degré de la forme : ax*x*+b*x+c=0 ou a,b et c sont aussi réels
    dans l'exercice que je fait c'est ecrit dans l'ennoncé que a,b,c sont des réels donc normalement si quelqu'un tape une chaine de caractere "string" ou une chaine "char" c'est qu'il n'a pas lu l'ennonce .
    Pour la 2 éme remarque j'utilise turbo pascal version 1.5 qui marche sur windows donc ca sert a rien d'ecrire readln
    pour la 3 éme remarque l'exercice demande de resoudre dans R une equation de second degré et non une equation du 1 er degré
    La forme d'une equation de second degré est : a*x*x+b*x+c=0 telque a et b sont different de 0 (va voir ton livre de math) lol
    c'est un exercice simple et si on complique les choses on sortira jamais

  6. #6
    Membre confirmé
    Avatar de diden138
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    714
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 714
    Points : 589
    Points
    589
    Par défaut Re:
    Turbo pascal 1.5 ??? sauf si tu veux dire TPW.

    On te dit de résoudre une équation du deuxième degré dans IR - tu a bien dis IR (ça inclut le zéro) - alors, si l'utilisateur entre la valeur a = 0 ça devient quoi ton équation (1er degré non) ? Si l'utilisateur entre a = b = c = 0... bref il y a du boulot.

    Deuxième chose : on t'a dit de construire un programme qui résout une équation du deuxième degré; l'utilisateur ne va pas lire ton énoncé puis après il va utiliser ton programme...

    Dernière chose : une recherche sur le forum Pascal t'aurait fait gagner du temps car ce sujet a été abordé plusieurs fois.
    Tiens ce lien t'aidera :
    http://www.developpez.net/forums/sho...light=equation

    N'oublie pas le tag résolu

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    193
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Tunisie

    Informations forums :
    Inscription : Août 2006
    Messages : 193
    Points : 85
    Points
    85
    Par défaut
    slt,
    je vais changer le IR par IR* lol
    et je te remercie encore pour tes remarques

  8. #8
    Membre éclairé Avatar de Tuxico
    Profil pro
    Étudiant
    Inscrit en
    Août 2003
    Messages
    662
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2003
    Messages : 662
    Points : 770
    Points
    770
    Par défaut
    diden138, si dans un exercice on suppose que l'utilisateur ne se trompe pas, ce n'est pas un problème...c'est pas le but de l'énoncé. Maintenant, si le but est de résoudre une équation du second degré, a sera toujours différent de 0 . Aucune utilité de faire un programme qui résoud le premier degré .

    Il y à un proverbe qui dit "mieux vaut ne rien dire et..."

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 465
    Points : 4 312
    Points
    4 312
    Par défaut
    Citation Envoyé par Tuxico
    diden138, si dans un exercice on suppose que l'utilisateur ne se trompe pas, ce n'est pas un problème...c'est pas le but de l'énoncé. Maintenant, si le but est de résoudre une équation du second degré, a sera toujours différent de 0 . Aucune utilité de faire un programme qui résoud le premier degré .

    Il y à un proverbe qui dit "mieux vaut ne rien dire et..."
    LOL

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Equation différentielle second degré
    Par Minimonstre dans le forum MATLAB
    Réponses: 0
    Dernier message: 19/03/2012, 22h04
  2. equation du second degre
    Par Manudeparis dans le forum C
    Réponses: 5
    Dernier message: 06/11/2011, 14h42
  3. [Turbo Pascal] [Débutant] Equation du second degré
    Par MEGA-STORM dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 28/11/2008, 17h25
  4. [Turbo Pascal] Equation du second degré
    Par Zero_System dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 13/10/2008, 22h16
  5. Réponses: 6
    Dernier message: 17/11/2007, 13h17

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