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
    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.
    1. tu dis je suis désolé et puis tu renvoie la même fonction .. je comprends pas !!
      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. 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. 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
            pour ta boucle : tu boucles autant de fois que le nombre de la puissance
            1. je suis vraiment dzl
              je suis encore debutant dans les algorithme
              donc j ai essay a trouvai un solution
              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. 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. 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. 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
                        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. 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
                            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 ;-).