Algorithme

Résolu
Bonjour,
Je veux des éclaircissements dans la solution de cet exercice et non la solution :

Ecrire un algorithme qui lit un nombre x puis un entier n, puis calcule et affiche la puissance
nième de x .

et merci d avance
Configuration: Windows XP Internet Explorer 8.0

18 réponses

  1. Modérateur
    Salut,
    Quoi de compliquer par là ?
    Demander à l'utilisateur de saisir X
    Puis de saisir n
    Puis tu fais le calcule et l'affiche ...
    Tout est dans ta consigne ;-).
    1. merci
      mais est ce que je peut taravail avec le signe de puissance dans un algoritme
      c-à-d :
      variable x ; p : reel
      variable n : entier
      debut
      ecrire " taper un nbr "
      lire x
      ecrire " taper un entier"
      lire n
      p == x puissance n
      ecrire " resultat est" ; p
      fin
      1. Modérateur
        Il semblerait que l'opérateur puissance n'existe pas.
        Tu dois faire toi même le calcul de ce genre (avec une boucle) :
        fonction puissance(a:réel; n:entier):réel
        --(* calcule la valeur de a puissance n *)
        pour i de 1 à ta_puissance faire
        puissance <- puissance + (a × a)
        fin pour (ou fin faire)

        1. donc la solution de ce exercice est :

          variable x ; puissance : reel
          variable n ; i : entier
          debut
          ecrire " taper un nbr "
          lire x
          ecrire " taper un entier"
          lire n
          puissance <- 0
          pour i=1 A n
          puissance <- puissance + (x*x)
          fin pour
          ecrire" resultat est" ; puissance
          fin

          c est ça n est ce pas ???
          1. Modérateur
            Tu ne sembles pas déclarer tes variables x et n : elles sont de quel type ?
            i : pas besoin de le déclarer avec une boucle pour !
            pour i=1 A n
            Ta condition n'est pas bonne.
            a x a : tu n'as pas de a dans ton cas, ce n'est donc pas ça
            1. nn j ai pas fait a*a
              ce que je fait est :
              pour i=1 A n
              puissance <- puissance + (x*x)
              fin pour

              est ce que ça est faux ??
              1. bonjour,
                "fonction puissance(a:réel; n:entier):réel
                --(* calcule la valeur de a puissance n *)
                pour i de 1 à ta_puissance faire
                puissance <- puissance + (a × a)
                fin pour (ou fin faire)"
                ==> cette fonction calcule na² en non a^n
                1. je suis vraiment dzl
                  je suis encore debutant dans les algorithme
                  donc j ai essay a trouvai un solution
                  1. Modérateur
                    pour ta boucle : tu boucles autant de fois que le nombre de la puissance
                    1. ok pas grave,
                      fonction puissance (a,n:entier):entier
                      i,p:entier
                      p<-1
                      pour i de 1 à n faire
                      p<-p*a
                      fin pour
                      puissance<-p
                      fin puissance
                      1. Modérateur
                        fonction puissance (d nombre, puissance:entier):entier  --d pour dire que c'est une donnée (paramètre in : entrant)
                        p : entier;  --variable qui stockera la puissance (le résultat attendu)
                        p <- 0;
                        deb fonc  --début de la fonction
                             pour i <= puissance faire
                                  p <- p + (nombre x nombre)  --parenthèses facultatives mais c'est pour t'y retrouver
                             fin pour;   --fin de ta boucle. Incrémentation de i inutile avec un pour. (différent avec un tantque)
                          retour p;
                        fin fonc;


                        Après, dans ta procédure principale, tu dois appeler ta fonction puissance...
                        1. Modérateur
                          Pas de soucis.
                          A+.
                          1.    p <- p + (nombre x nombre)  --parenthèses facultatives 


                            ?????

                            une puissance c'est que des mutiplications, pas d'additions...
                        2. tu dis je suis désolé et puis tu renvoie la même fonction .. je comprends pas !!
                          1. Modérateur
                            i doit être initialisé à deux en fait : on commence à multiplier à partir du carré et pas à la puissance1 !

                            *******

                            une puissance c'est que des mutiplications, pas d'additions...

                            T'as raison !

                            p <- p x nombre


                            c'est mieux comme ça !!
                            Autant pour moi.