iteratives
Répondre à la discussion
Affichage des résultats 1 à 23 sur 23

iteratives



  1. #1
    invite78fecfbb

    iteratives


    ------

    bonjour est ce quelque peut m aider a faire cet exo (itératives imbriquées)

    écrire un algorithme permettant de calculer X^y avec X et Y entiers positifs.
    seul l'addition des possible

    merci

    -----

  2. #2
    invite69d38f86

    Re : iteratives

    Bonjour,

    Avec un nombre de Y chiffres en base X on a X^Y valeurs possibles
    exemple en base 3 avec 2 chiffres
    00
    01
    02
    10
    11
    12
    20
    21
    22
    On prend donc un tableau de Y postes initialisés a 0 et on compte tous les possibilités (en remettant a zero les postes a droite chaque fois qu'on incremente un poste)

  3. #3
    archeos
    Modérateur*

    Re : iteratives

    Hello!
    Et pourquoi ce sujet est en "Logiciel-software-open-source"?
    Veuillez contacter l'administrateur si votre date de naissance a changé
    (Futura Sciences)

  4. #4
    invite78fecfbb

    Re : iteratives

    je n'ai pas vraiment compris

  5. A voir en vidéo sur Futura
  6. #5
    invite69d38f86

    Re : iteratives

    Citation Envoyé par archeos Voir le message
    Hello!
    Et pourquoi ce sujet est en "Logiciel-software-open-source"?
    Et la bonne place c'est où?

  7. #6
    invite69d38f86

    Re : iteratives

    Citation Envoyé par slk Voir le message
    je n'ai pas vraiment compris
    Dans mon exemple tu vois comment on obtient 3^2 = 9 avec un tableau à 2 cases.
    pour avoir 3^3 essaie avec 3 cases
    de
    000
    001
    002
    010
    à
    222
    tu as 27 cas
    Quand tu en es à 022 par exemple Il faut incrémenter la case 1 remettre à 0 les cases à sa droite et recommencer:
    100
    101
    102 etc

  8. #7
    invite78fecfbb

    Re : iteratives

    en programme en C

    #include <stdio.h>
    int main(void)

    {

    /*DONNEES D'ENTREE*/

    int X, Y, P;

    while (X>0 && Y>0)
    {
    printf("Entrez un nombre entier");
    scanf("%d" ,&X) ;
    printf("Entrez une puissance entière") ;
    scanf("%d", &Y) ;
    }
    for() >>> je sais pas koi mettre dans for ?
    {
    P=X^Y
    printf("^ , = : %d\n" , X , Y , P) ;
    }
    return (0);
    }
    vous pouvez m dire si c'est bon

  9. #8
    invite69d38f86

    Re : iteratives

    Citation Envoyé par slk Voir le message
    seul l'addition des possible
    Pour revenir à ton premier post ca voulait dire quoi en bon français ?
    J'ai répondu en supposant qu'il ne fallait utiliser que l'addition.
    De nombreux intervenants n'ont pas de réponses à cause de leur style sms.

  10. #9
    invite4ad25ccf

    Re : iteratives

    De meme en partant du principe que c'est qu'avec l'addition, il suffit de décomposer à la main et mettre des parenthèses comme il faut pour voir ce qu'il faut mettre dans tes for :

    3^3 =
    3 * 3 * 3 =
    (3 * 3 ) * 3 =
    ( 3 + 3 + 3 ) * 3 =
    ( 3 + 3 + 3 ) + (3 + 3 + 3 ) + ( 3 + 3 + 3 )


    3 ^ 4 =
    3 * 3 * 3 * 3 =
    ((3 * 3) * 3) * 3 =
    ((3 + 3 + 3) *3) * 3 =
    (( 3 + 3 + 3 ) + (3 + 3 + 3 ) + ( 3 + 3 + 3 )) * 3 =
    (( 3 + 3 + 3 ) + (3 + 3 + 3 ) + ( 3 + 3 + 3 )) + ((3 + 3 + 3) *3) * 3 =
    (( 3 + 3 + 3 ) + (3 + 3 + 3 ) + ( 3 + 3 + 3 )) + (( 3 + 3 + 3 ) + (3 + 3 + 3 ) + ( 3 + 3 + 3 )) + (( 3 + 3 + 3 ) + (3 + 3 + 3 ) + ( 3 + 3 + 3 ))

    Avec ca, tu devrais voir facilement les bornes à mettre et la facon d'implémenter ton algo

  11. #10
    invite69d38f86

    Re : iteratives

    Bonjour,
    As tu trouvé avec la méthode de Towl
    Au lieu de toujours ajouter des 1, tu ajoutes avec des 1 pour le 1er poste et tu trouves x^1
    tu mets le resultat en reserve. x->W
    pour le deuxieme poste tu ajoutes avec W
    tu touive ainsi x*x qe tu mets dans W etc.
    Il faut 2 boucjes imbriquées
    For i de 1 a Y
    .For j de 1 a X

  12. #11
    invite78fecfbb

    Re : iteratives

    tu peut monter comment faire pour mettre dans for en programme c
    merci

  13. #12
    invite69d38f86

    Re : iteratives

    je suis de retour ce soir;
    salut
    cherche entretemps
    n'hésite pas a donner tes idees.

  14. #13
    invite78fecfbb

    Re : iteratives

    int P=0;
    for(i=1; i<=Y; i++)
    {P+=X;
    for (j=1; j<=X; j++)
    {P+=Y;
    }
    printf("X ^ Y = P: %d\n", X,Y,P);
    }

  15. #14
    invite4ad25ccf

    Re : iteratives

    Si on prends ton algo, on a, pour 2^3 (x=2, y=3):
    - for j ... nous donne 3+3
    - for i ... nous donne 2 + [for j] + 2 + [for j] + 2 + [for j] = 2*3 + 3*(3+3) = 3 * (2 + (3 + 3))
    Or 2^3 = (2+2) + (2 + 2).

    Pour ma part, je te conseillerais de faire 2 fonctions :
    - une qui prend 2 parametre et te ressort sa multiplication
    - une qui prend 2 parametre et te ressort sa puissance.

    Code:
    int mul(x, y)
    {
     .... [code de x*y]
    }
    
    int pow(x, y)
    {
     .... [ code de x*y, soit mul(..., ...) ]
    }
    Indice : chaque fonction dispose d'une boucle for.

  16. #15
    invite69d38f86

    Re : iteratives

    Ma réponse (en Pascal)

     Cliquez pour afficher

  17. #16
    invite78fecfbb

    Re : iteratives

    j'ai pas encore fait en pascal

  18. #17
    invite78fecfbb

    Re : iteratives

    p=?
    je dois avoir que des additions et non des multiplication
    par ex:2^3=(2+2)+(2+2)=8
    5^2=(5+5)+(5+5)+5=25
    qu est ce que je dois mettre dans p en fonction de x et y

  19. #18
    invite17a570c1

    Re : iteratives

    Je ne comprends pas trop pourquoi tu te mets à écrire un programme en C alors qu'on te demande un algo C'est un peu ce qu'alovesupreme t'a écrit.


    P.S. Par ailleurs, si je ne m'abuse, il te faut mettre
    Code:
    #include <math.h>
    si tu veux te servir de la puissance... Et ne pas oublier qu'elle admet deux paramètres : pow(nombre à élever à la puissance, puissance elle-même), comme Towl l'a précisé plus haut.

  20. #19
    invite78fecfbb

    Re : iteratives

    je veux pas utiliser la puissance je veux que des addition
    apres je dois en c

  21. #20
    invite4ad25ccf

    Re : iteratives

    Si tu souhaites suivre mon exemple d'architecture de code (pas la plus "rapide", mais plus réutilisable ), essaye déjà d'écrire la fonction "int mul(x, y)" qui va multiplier x par y qu'avec des additions.
    Pour faire un algorithme, il faut apprendre à diviser en "petit" probleme le probleme énnoncé : tu souhaites faire des puissances avec des additions.
    Une puissance, c'est une répétition de multiplication. Répétition signifie généralement boucle. Il ne te reste plus qu'a déterminer ce qu'est une multiplication
    une multiplication c'est une répétition d'addition, donc une boucle d'addition.

    Et voila, tu as obtenu ton schéma : boucle de boucle d'addition (pour reprendre l'algo d'alveosupreme). Ou alors, c'est une boucle de multiplication (et on se fiche de savoir ce qu'est une multiplication à ce niveau la), et une multiplication est une boucle d'addition. Et la tu retombes sur mon algo avec deux fonctions

  22. #21
    invite78fecfbb

    Re : iteratives

    je suis vraiment perdu
    est ce que tu pourer me donner la reponse stp

  23. #22
    JPL
    Responsable des forums

    Re : iteratives

    Il est contraire à l'usage de ce forum de fournir la solution toute prête d'un exercice. C'est à toi à le faire avec les aides qui t'ont été apportées.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  24. #23
    invite78fecfbb

    Re : iteratives

    merci quand meme j'ai reusis a faire

Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...