❗ Calcul de la Factorielle : Cours & Principes
📖 1. Définition
La factorielle d’un entier naturel n (notée n!) est le produit de tous les entiers strictement positifs inférieurs ou égaux à n. Par convention, 0! = 1.
Exemple : 7! = 1 × 2 × 3 × 4 × 5 × 6 × 7 = 5040
⚙️ 2. Méthode itérative de calcul
Le calcul itératif consiste à initialiser un accumulateur à 1 (f ← 1) et à le multiplier successivement par tous les entiers de 1 à n à l’aide d’une boucle Pour.
⚠️ Note très importante :
L’utilisation de fonctions mathématiques intégrées comme math.factorial() en Python est strictement hors programme. Vous devez obligatoirement implémenter la logique itérative du produit cumulé.
📝 3. Exercice d’application
Situation : Dans un laboratoire de statistiques combinatoires, un chercheur doit calculer le nombre de permutations possibles pour N objets alignés. Ce nombre correspond mathématiquement à la factorielle de N.
Écrire un programme modulaire permettant de saisir un entier N (compris entre 0 et 12), de calculer sa factorielle à l’aide d’une fonction, et d’afficher le résultat.
Donner la solution sous forme d’algorithme et sa traduction en programme Python, ainsi qu’une simulation interactive dédiée.
Correction détaillée
💻 Programme Principal (Algorithme)
Algorithme Calcul_Permutations
DEBUT
Répéter
Ecrire("Donner un entier N (0..12) : ")
Lire(N)
Jusqu'à N dans [0..12]
Res ← Factorielle(N)
Ecrire("Le nombre de permutations possibles est : ", Res)
FIN
📋 Table de Déclaration des Objets Globaux (TDOG)
| Objet |
Type / Nature |
| N, Res |
Entier |
| Factorielle |
Fonction |
⚙️ Fonction Factorielle & TDOL
Fonction Factorielle(n: Entier) : Entier
DEBUT
f ← 1
Pour i de 1 à n Faire
f ← f * i
Fin Pour
Retourner f
FIN
TDOL : i, f (Entiers)
🐍 Version Python (Traduction complète)
def factorielle(n):
f = 1
for i in range(1, n + 1):
f *= i
return f
# Programme Principal
n = int(input("Donner un entier N (0..12) : "))
while not (0 <= n <= 12):
n = int(input("Erreur. Entrer N entre 0 et 12 : "))
Res = factorielle(n)
print("Le nombre de permutations possibles est :", Res)