Cet algorithme permet de calculer le factoriel d’un entier positif supérieur à 1. Le factoriel d’un nombre entier n, noté n!, correspond au produit de tous les entiers compris entre 1 et n. Par exemple, pour 5, on a : 5! = 1 × 2 × 3 × 4 × 5 = 120.
Dans un premier temps, le programme utilise la fonction saisie() pour demander à l’utilisateur de saisir un entier n. Une boucle while permet de répéter la saisie tant que la valeur entrée n’est pas supérieure à 1. La variable test sert à contrôler la validité de la saisie.
Ensuite, la fonction factoriel(n) réalise le calcul. Elle initialise une variable f à 1, puis utilise une boucle for pour parcourir les entiers de 2 jusqu’à n. À chaque passage, la valeur de f est multipliée par l’entier courant i.
À la fin de la boucle, la variable f contient le factoriel de n. La fonction retourne cette valeur au programme principal grâce à l’instruction return f.
Enfin, le programme principal affiche le résultat à l’aide de la fonction Ecrire(). Ainsi, l’algorithme suit trois étapes principales : saisir un entier valide, calculer son factoriel, puis afficher le résultat.


L’algorithme principal Factoriel assure l’exécution générale du programme.
Il commence par appeler la fonction saisie() afin de demander à l’utilisateur une valeur n supérieure à 1 et de la mémoriser dans la variable n.
Ensuite, il appelle la fonction factoriel(n) en lui transmettant la valeur saisie. Cette fonction calcule le factoriel de n.
Enfin, l’algorithme principal affiche le résultat obtenu à l’aide de l’instruction Ecrire.
|
1 2 3 4 5 6 7 8 9 |
Algorithme Factoriel Debut # Appeler la fonction saisie() pour demander # et récupérer une valeur n supérieure à 1. n <-- saisie() # Appeler la fonction factoriel(n) pour calculer # le factoriel de n, puis afficher le résultat. Ecrire("Le factoriel est ", factoriel(n)) Fin |
Déclaration des objets
| Objet | Type / Nature |
|---|---|
| n | entier |
La fonction saisie() permet de saisir et de contrôler un entier n. Elle oblige l’utilisateur à entrer une valeur strictement supérieure à 1.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Fonction saisie():entier Début # La variable test permet de contrôler # la validité de la valeur saisie par l'utilisateur. test <-- Faux # Répéter la saisie tant que la valeur de n # n'est pas supérieure à 1. Tant que test = Faux faire # Demander à l'utilisateur de saisir un entier n. Ecrire("donner n>1 : ")) Lire(n) # Vérifier que la valeur saisie est supérieure à 1. Si n > 1 alors # La valeur saisie est correcte. # On change test à True pour arrêter la boucle. test <-- True Fin si Fin Tant que # Retourner la valeur de n au programme principal. Retourner n Fin |
Déclaration des objets
| Objet | Type / Nature |
|---|---|
| ch | chaîne des caractères |
La fonction fact(n) permet de calculer le factoriel de l’entier n.
Elle initialise la variable f à 1, puis parcourt les entiers de 2 jusqu’à n. À chaque étape, elle multiplie f par l’entier courant i. À la fin de la boucle, f contient le résultat du calcul du factoriel de n.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Fonction fact(n:entier):entier Début # Initialiser la variable f à 1. # f contiendra progressivement le résultat du factoriel. f <-- 1 # Parcourir les entiers de 2 jusqu'à n. # Le dernier entier n est inclus grâce à n+1. Pour i de 2 à n faire # Multiplier le résultat précédent par i. # À chaque étape, f contient le produit des entiers # parcourus jusqu'à présent. f <-- f * i Fin pour # Retourner la valeur finale de f, # qui représente le factoriel de n. Retourner f Fin |
Déclaration des objets
| Objet | Type / Nature |
|---|---|
| i | entier |
| f | entier |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# ========================================================== # Fonction de saisie # ========================================================== def saisie(): # La variable test permet de contrôler # la validité de la valeur saisie par l'utilisateur. test = False # Répéter la saisie tant que la valeur de n # n'est pas supérieure à 1. while test == False: # Demander à l'utilisateur de saisir un entier n. n = int(input("donner n>1 : ")) # Vérifier que la valeur saisie est supérieure à 1. if n > 1: # La valeur saisie est correcte. # On change test à True pour arrêter la boucle. test = True # Retourner la valeur de n au programme principal. return n # ========================================================== # Fonction factoriel # ========================================================== def factoriel(n): # Initialiser la variable f à 1. # f contiendra progressivement le résultat du factoriel. f = 1 # Parcourir les entiers de 2 jusqu'à n. # Le dernier entier n est inclus grâce à n+1. for i in range(2, n + 1): # Multiplier le résultat précédent par i. # À chaque étape, f contient le produit des entiers # parcourus jusqu'à présent. f = f * i # Retourner la valeur finale de f, # qui représente le factoriel de n. return f # ========================================================== # Programme principal # ========================================================== # Appeler la fonction saisie() pour demander # et récupérer une valeur n supérieure à 1. n = saisie() # Appeler la fonction factoriel(n) pour calculer # le factoriel de n, puis afficher le résultat. print("Le factoriel est ", factoriel(n)) |
Exécution du programme :

La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.
Zaouiet Kontech-Jemmel-Monastir-Tunisie
Site robotique réalisé par Mohamed Ali Haj Salah - Prof Info