IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Compréhension de l'algorithme de calcul de la factorielle


Sujet :

Algorithmes et structures de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2019
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2019
    Messages : 51
    Points : 16
    Points
    16
    Par défaut Compréhension de l'algorithme de calcul de la factorielle
    Bonsoir à tous je suis un étudiant débutant dans le domaine informatique
    Je suis tombé sur un exercice en-ligne sur l'algorithmique après plusieurs heures de réflexion dessus j'ai du mal à comprendre
    Pourriez vous m'expliquer ligne par ligne afin d'éclairer mes zones d'ombres svp!!

    Voici l'algorithme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Var n, i, f: entiers
    Début 
    Écrire  "entrez un nombre:" 
    Lire n
    f=1 
    Pour i=2 à n
    F=f*i
    I=i+1
     
    Écrire "la factorielle est:" F
     
    Fin pour
    Fin

  2. #2
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Compréhension de l'algorithme de calcul de la factorielle
    Bonjour,

    Citation Envoyé par FrancisTita Voir le message
    ... Var n, i, f: entiers
    Début
    Écrire "entrez un nombre:"
    Lire n
    f=1
    Pour i=2 à n
    F=f*i
    I=i+1

    Écrire "la factorielle est:" F

    Fin pour
    Fin
    Question: les variables (f et F) d'une part, (i et I) d'autre part sont-elles identiques ?
    Si oui, l'incrémentation est incompatible avec l'énoncé de la boucle .
    Si non, (f) restera égal à sa valeur initiale (1), et (F) prendra les valeurs successives (2, 3 ... n) ... et les variables (F, I) n'auront pas été déclarées.

    Le pseudo-code ne serait-il pas plus tôt:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Var n, i, f: entiers
    Début 
    Écrire  "entrez un nombre:" 
    Lire n
    f=1 
    Pour i=2 à n
    f=f*i
    Fin pour
    Écrire "la factorielle est:" F
    Fin


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

  3. #3
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2019
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2019
    Messages : 51
    Points : 16
    Points
    16
    Par défaut
    Ouais c'est ça

  4. #4
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Compréhension de l'algorithme de calcul de la factorielle
    En reprenant la nouvelle version du code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Début 
    Écrire  "entrez un nombre:" 
    Lire n on affecte à la variable (n) une valeur entière arbitraire (qui doit dépasser (1);
    f=1 on affecte à la variable (f) la valeur (1);
    Pour i=2 à n (i) prend successivement les valeurs: 2, 3, 4 ... n ;
    f=f*i c'est le coeur du programme: (f) se voit affecter la nouvelle valeur: f = fvaleur précédente*ivaleur actuelle
    Fin pour
    Écrire "la factorielle est:" F
    Fin
    À toi de détailler ce qui se passe ...


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

  5. #5
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 330
    Points : 4 151
    Points
    4 151
    Par défaut Traiter les cas particuliers
    Bonjour,

    1/ Les variables déclarée sont entières. Elles peuvent donc être négatives. Il faut s'en assurer et, le cas échéant, définir le retour.

    2/ Selon le langage qui sera utilisé, le comportement de la boucle peut être différent pour les valeurs 0 ou 1. Heureusement, la plupart ne passeront dans la boucle (quelques fois avec génération d'une erreur) mais c'est quelque chose à vérifier.

    Salutations
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  6. #6
    Invité
    Invité(e)
    Par défaut Organigramme (algorigramme)
    Visuellement, ça donne ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
                         .---------------------.
                         |        n = ?        |
                  D_PROG |        f = 1        |
                         |        n :: 1       |
                  n<= 1  .----------+----------.  n>1
               .-------------------<?>-------------------.
               |                              .----------+----------.
               |                     D_ENTIER |        i = 2        |
               |                              .----------+----------.
               |                                         |<------------------.  
               |                              .----------+----------.        |
    .----------+----------.                   |        f = f * i    |        |  
    |       MESSAGE       |          T_ENTIER |        i = i + 1    |        |  
    .----------+----------.                   |        i :: n       |        |
               |                              .----------+----------.  i<=n  |  
               |                                        <?>------------------.
               |                              .----------+----------.
               |                     F_ENTIER | « Factorielle = » f |
               |                              .----------+----------.
               .--------------------+--------------------.
                         .----------+----------.
                  F_PROG |          Ø          |
                         .---------------------.
    Dernière modification par Invité ; 08/11/2019 à 22h06.

  7. #7
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 330
    Points : 4 151
    Points
    4 151
    Par défaut Presque
    Bonjour,

    Ok pour n < 1 et n > 1 mais il reste n == 1.

    Salutations
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  8. #8
    Invité
    Invité(e)
    Par défaut C'est corrigé !
    Citation Envoyé par Guesset Voir le message
    Ok pour n < 1 et n > 1 mais il reste n == 1
    C'était pour voir si quelqu'un suivait…

    En fait, je vieillis, mes réflexes s'émoussent et j'ai eu la flemme de faire une simulation ! J'ai corrigé.

    Un organigramme, c'est terrible, on voit tout.

    Merci !

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/07/2015, 00h06
  2. Y-a t-il plusieurs algorithmes de calcul de l'amortissement d'un prêt?
    Par kouka dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 12/09/2007, 13h33
  3. Compréhension d'un algorithme sur le problème du sac à dos
    Par Treuze dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 18/12/2006, 15h26
  4. Recherche d'un algorithme pour calculer un Checksum
    Par noune40 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 23/11/2006, 10h46
  5. algorithme pour calcul de probabilité
    Par filsdugrand dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 14/12/2005, 14h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo