Exercice en Algorithmique

Résolu
CALiiMERO Messages postés 77 Statut Membre -  
 Kahi nn -
Bonjour,

L'exercice est comme suite :

Ecrire un algorithme qui affiche le factoriel d'un nombre donner par l'utilisateur.


Je propose ceci comme solution, mais je crois qu'il y a quelque chose qui cloche que j'arrive pas à trouver :

Algorithme_Factoriel
Variables: n, i, Fact : entiers

Debut
   i <- 0;
   Fact <- 1;
   Ecrire ("Donner un nombre entier :");
   lire (n);
   Tant que (i<=n) faire
     Debut
       i<-i+1;
       Fact<-Fact*i;
     Fin Tant que
   Ecrire ("Le factoriel de",n ,"est", Fact);
Fin
Configuration: Internet

8 réponses

  1. calibos
     
    Salut,

    il manque la condition si n=0 alors Fact=1

    ...
    lire (n);
    si (n=0) alors
    Fact<-1;
    sinon
    ...
    ...
    fin si
    Ecrire ("Le factoriel de",n ,"est", Fact);
    FIN.
    2
    1. le neurone isolé
       
      nan!
      il manque certes la gestion des nombres négatifs ou à mantisse
      mais pas le 0 car on n'entre pas dans la boucle (1 n'est pas inférieur ou égal à 0) donc le résultat est 1
      0
  2. CALiiMERO Messages postés 77 Statut Membre 8
     
    Ok, Merci pour ton aide :)
    1
  3. le neurone isolé
     
    Salut

    à moi, ça me semble bon.

    C'est quoi qui te tracasse ?
    L'as-tu "joué" sur le papier ?
    0
  4. CALiiMERO Messages postés 77 Statut Membre 8
     
    La ligne qui me semble fausse c'est :

    Fact <- Fact*i ;


    Je viens de l'écrire sur un bout de papier avant de le taper sur Comment ça marche.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. le neurone isolé
     
    re
    quand je lis "Fact <- Fact * i" je comprends "multiplier le contenu de Fact par le contenu de i et stocker le résultat dans Fact"

    Quant à "jouer" l'algorithme sur papier revient à simuler son fonctionnement en écrivant sur papier le contenu des variables à la fin de chaque instruction
    0
  7. CALiiMERO Messages postés 77 Statut Membre 8
     
    Donc c'est correcte l'algorithme que j'ai proposer... ?
    0
  8. zasami19 Messages postés 15 Statut Membre 1
     
    oui c just mai normalement on le fait avec les fonctions récursives :)
    0
  9. Kahi nn
     
    On initialise pes le i dans la boucle suprime i=i+1
    0