la factorielle
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

la factorielle



  1. #1
    dalida1111

    la factorielle


    ------

    salut
    on veut calculer et afficher la factorielle d un entier positif.
    Code:
    Algorithme : factorielle;
    
    var n,compteur,f<-1 : entiers;
    
    Debut 
    
    faire 
    afficher ( "donner un entier");
    lire (n);
    tant que (n<=0);
    
    pour i de 1 à n pas de 1 faire
    f<- f * i ;
    fin pour 
    
    afficher ("la factorielle vau :",f);
    fin :Bravo1::Bravo1:
    c juste ?? Merci d avance

    -----

  2. #2
    dalida1111

    Re : la factorielle

    pour le cas de o! = 1
    je ne l ai pas traité parce que j'ai initialisé f par 1 dés le départ !

  3. #3
    whoami

    Re : la factorielle

    Bonjour,

    C'est presque bon, sauf que tu utilises i comme compteur de boucle, alors que tu as déclaré compteur.


    Et il faudrait prendre l'habitude d'indenter ton code, par exemple :
    Code:
    Algorithme : factorielle;
    
    var n,compteur,f<-1 : entiers;
    
    Debut 
    
        faire 
            afficher ( "donner un entier");
            lire (n);
        tant que (n<=0);
    
        pour i de 1 à n pas de 1 faire
            f<- f * i ;
        fin pour 
    
        afficher ("la factorielle vau :",f);
       
    fin :Bravo1::Bravo1:
    Comme tu peux le constater, ça rend le code nettement plus lisible et compréhensible. :

  4. #4
    invite4492c379

    Re : la factorielle

    Hello,

    Tu peux aussi commencer à modulariser, un grand mot pour dire écrire des fonctions. Au lieu de toujours avoir à demander un nombre à l'utilisateur, tu écris simplement une fonction qui prend en paramètre un entier et qui renvoie la factorielle du paramètre.

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

    Re : la factorielle

    Merci whoami.
    Photon57 : ca sera plus facile en utilsant les fonctions mais tant que je suis encore débutante je préfère utiliser cette méthode .

    mnt je veux ecrire un algorithme qui lit un entier positif et vérifie si ce nombre est parfait ou non .
    ( un nombre parfait est un nombre présentant la particularité d etre egal à la somme de tous ses diviseurs excepté lui -meme ,exemple 6 est parfait car
    6= 1+2+3 )
    Code:
    Algorithme : parfait;
    
    var            n,somdiviseur<-0,i  : entiers;
    
    Debut 
    
    afficher ("un entier svp ");
    lire (n);
    pour i de 1 à n-1 pas de 1 faire 
    si (n mod i = 0 ) alors 
    somdiviseur <-somdiviseur +1;
    fin si 
    fin pour 
    si (n=somdiviseur ) alors 
    afficher ("le nombre est parfait ");
    sinon 
    afficher ("le nombre n'est pas parfait ");
    fin si 
    fin
    merci de m avoir aidée pour corriger ce code

  7. #6
    invite4492c379

    Re : la factorielle

    Citation Envoyé par dalida1111 Voir le message
    Merci whoami.
    Photon57 : ca sera plus facile en utilsant les fonctions mais tant que je suis encore débutante je préfère utiliser cette méthode .

    mnt je veux ecrire un algorithme qui lit un entier positif et vérifie si ce nombre est parfait ou non .
    ( un nombre parfait est un nombre présentant la particularité d etre egal à la somme de tous ses diviseurs excepté lui -meme ,exemple 6 est parfait car
    6= 1+2+3 )
    Code:
    Algorithme : parfait;
    
    var            n,somdiviseur<-0,i  : entiers;
    
    Debut 
    
    afficher ("un entier svp ");
    lire (n);
    pour i de 1 à n-1 pas de 1 faire 
    si (n mod i = 0 ) alors 
    somdiviseur <-somdiviseur +1;
    fin si 
    fin pour 
    si (n=somdiviseur ) alors 
    afficher ("le nombre est parfait ");
    sinon 
    afficher ("le nombre n'est pas parfait ");
    fin si 
    fin
    merci de m avoir aidée pour corriger ce code
    As-tu testé ton algo (je vais dire non) ?
    Les deux lignes en gras ci-dessus sont-elles équivalentes ?

  8. #7
    dalida1111

    Re : la factorielle

    à vrai dire je ne vois pas la différence...!

    soit n un entier , pour chaque nombre allant de 1 à n-1 on fait la division de n par ce nombre si le reste de la division euclidienne est nul on ajoute ce nombre à la somme de diviseurs ,
    soit n =6
    on répete l operation 5 fois
    6/ 1 = 6 et reste =0
    6/ 2 =3 et reste =0
    6/3 = 2 et reste =0
    mais 6/4 =1 et reste != 0

    donc on prend 1 +2+3 = 6 c gagné !
    je me trompe?!normalement faut repeter l operation 5 fois , il y a klk chose qui manque dans mon code je crois
    !

  9. #8
    invite4492c379

    Re : la factorielle

    Citation Envoyé par dalida1111 Voir le message
    à vrai dire je ne vois pas la différence...!

    soit n un entier , pour chaque nombre allant de 1 à n-1 on fait la division de n par ce nombre si le reste de la division euclidienne est nul on ajoute ce nombre à la somme de diviseurs ,
    soit n =6
    on répete l operation 5 fois
    6/ 1 = 6 et reste =0
    6/ 2 =3 et reste =0
    6/3 = 2 et reste =0
    mais 6/4 =1 et reste != 0

    donc on prend 1 +2+3 = 6 c gagné !
    je me trompe?!normalement faut repeter l operation 5 fois , il y a klk chose qui manque dans mon code je crois
    !
    Ton algo fait-il ce que j'ai mis en gras ?

  10. #9
    dalida1111

    Re : la factorielle

    il prend juste les nombre qui vérifie la condition si ( nombre % i = 0) !
    mais ne prend pas en consideration le fait que 1<= i <=nombre -1
    donc ne fais pas ce que tu as mis en gras

  11. #10
    invite4492c379

    Re : la factorielle

    Je ne comprends pas trop ce que tu me dis, mais en gros il ne faut pas ajouter 1 mais le diviseur trouvé.

  12. #11
    dalida1111

    Re : la factorielle

    OUI OUI excat i

  13. #12
    dalida1111

    Re : la factorielle

    merci de m avoir aidée à chaqu e fois

Discussions similaires

  1. factorielle??
    Par neo62950 dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 26/10/2010, 17h11
  2. La factorielle !!
    Par nicozeyo dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 15/10/2010, 19h40
  3. factorielle
    Par mentosfraise dans le forum Mathématiques du supérieur
    Réponses: 6
    Dernier message: 08/09/2010, 10h51
  4. factorielle
    Par invite3e7de3b6 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 13/11/2008, 21h36
  5. factorielle
    Par invitec12706a7 dans le forum Mathématiques du supérieur
    Réponses: 10
    Dernier message: 22/04/2004, 17h16