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. 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 ??
    2. 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. pense a utiliser la balise de code sur un forum, pour garder tes espaces et tabulations (bouton a coté de souligner)
        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. 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. 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 ! :)