Problème d'algorithme

Résolu
Bonjour à tous j'ai un petit soucis pour realiser un algorithme basique qu'il m'est demandé de faire et j'aurais besoin de vos conseils

Voici le problème

Il me faut ecrire un algorithme donnant la solution d'une equation de 1er degré de type ax+b = 0
A et b sont des reels pouvant avoir n'importe quelle valeur y compris nulles..

Voici mon premier essai qui me laisse sceptique :

PROGRAME EQUA

CONST 0: entier
Var A,B,X : réel

Début
Afficher ("saisir la valeur de A et de B")
Saisir (A,B)

Si (a*x+b=0) alors x <- - b/a
Finsi

Afficher ("x=", x)
Fin

Je pense que le Si est incorrect et j'aurais besoin de vos conseil pour qu'il soit dans les normes

Avis aux experimentés (je ne cherche nullement a obtenir un algo le plus complet possible, je cherche juste la demarche necessaire a son bon fonctionnement pour repondre le plus simplement au problème)

Merci d'avance
Configuration: Windows XP
Firefox 2.0.0.6

7 réponses

  1. oui voila,

    je suis pas ton prof, mais tu peux faire pareil pour une équation du type
    ax² + bx + c = 0
    ?

    de toute facon, on te le demandera dans pas longtemps ^^

    1. variables a,b x en réel
      Début
      Ecrire "a="
      lire b
      ecrire"b="
      lire b
      si a=0 et b=0 alors
      Ecrire "la solution est l'ensemble R"
      si non
      si a=0 et b#0 alors
      Ecrire "l'ensemble vide"
      si non
      x<- -b/a
      Ecrire"la solution est:",x
      fin si
      fin si
      fin
      1. "Lire a" pour le premier ! :)
    2. bon alors en effet il est pas bien complet le code comme me l'as gentiment fais remarque Sacabouffe par PM

      Hello sfel!

      Tu voudrais pas apporter une petite correction au post probleme d algorithme#0 de PRK, please (si le coeur t'en dit :-))?

      Si a=0 et si b=0 tout réel est solution.

      Et je pense que si a est différent de 0 il y a pas besoin de disjonction de cas:
      que b soit ou non égal à zéro la solution c'est toujours -b/a

      Tu veux bien?


      donc en effet dans le cas ou a = 0, si b = 0, c'est l'ensemble des réels (tout nombre est solution)
      j'ai juste mal placé mon si b = 0, car en effet il sert a rien là (sniff et dire que j'ai eu mon BAC S spé maths ^^)

      ainsi

      PROGRAME EQUA
      
      CONST 0: entier
      Var A,B,X : réel
      
      Début
      Afficher ("saisir la valeur de A et de B")
      Saisir (A,B)
      
           si a = 0
              alors si b = 0
                       alors afficher ("Tout réel est solution")
                       sinon afficher ("impossible")
                    finsi
              sinon
                   x <- -b / a
                   afficher (" x = ", x)
          finsi
      
      Fin
      1. Voila disons la version finale

        Il me faut ecrire un algorithme donnant la solution d'une equation de 1er degré de type ax+b = 0
        A et b sont des reels pouvant avoir n'importe quelle valeur y compris nulles..

        PROGRAME EQUA
        
        CONST 0: entier
        Var A,B,X : réel
        
        Début
        Afficher ("saisir la valeur de A et de B")
        Saisir (A,B)
        
             si a = 0
                alors afficher ("impossible")
                sinon si b = 0
                alors x <- 0
                sinon x <- -b / a
            
                afficher (" x = ", x)
            finsi
        
        Fin
        1. pense a utiliser la balise de code sur un forum, pour garder tes espaces et tabulations (bouton a coté de souligner)
          1. En effet j'avais pensé procédé etape par etape mais n'etant pas très sur j'ai preferé demander assistance :)

            Merci beaucoup de ton aide tu viens d'apporter une grande aide a un novice :)

            pour cuex que ca pourrait interresser voici le programme complet :

            PROGRAME EQUA

            CONST 0: entier
            Var A,B,X : réel

            Début
            Afficher ("saisir la valeur de A et de B")
            Saisir (A,B)

            si a = 0
            alors afficher ("impossible")
            sinon si b = 0
            alors x <- 0
            sinon x <- -b / a
            finsi
            afficher (" x = ", x)
            finsi

            Fin
            1. bonjour,

              alors ton Si en effet présente un problème.

              il dfaut que tu prenne une variable après l'autre

              déjà tu test le a.

              si a = 0
                alors afficher ("impossible")
                sinon si b = 0
                            alors x <- 0
                            sinon x <- -b / a
                      finsi
                      afficher (" x = ", x)
              finsi
               
              1. Et pour faire ce programme sur la calculatrice on fait comment ??