Le PGCD (Plus Grand Commun Diviseur) de deux entiers positifs a et b est le plus grand entier qui divise à la fois a et b. Cet algorithme permet de déterminer rapidement le PGCD de deux entiers en utilisant la méthode d’Euclide.
Dans un premier temps, le programme demande à l’utilisateur de saisir deux entiers positifs a et b. La fonction saisie() vérifie que chaque valeur saisie est supérieure à 1. La saisie est répétée jusqu’à obtenir une valeur valide.
Ensuite, la fonction pgcd(a,b) applique successivement la méthode d’Euclide. Elle calcule le reste r de la division de a par b à l’aide de l’opérateur %. Les valeurs sont ensuite remplacées : a prend la valeur de b et b prend la valeur du reste r.
Cette opération est répétée tant que b est différent de zéro. À chaque étape, le problème est ainsi réduit à la recherche du PGCD de deux nombres plus petits. Lorsque b devient égal à zéro, la valeur de a correspond au PGCD des deux entiers initiaux.
Enfin, le programme principal affiche le résultat obtenu. Par exemple, pour a = 48 et b = 18, les restes successifs sont 12, puis 6, puis 0. Le dernier reste non nul est donc 6, qui est le PGCD de 48 et 18.

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 10 11 12 13 |
Algorithme PGCD_Euclidienne Debut # Appeler la fonction saisie() pour demander # et récupérer le premier entier a supérieur à 0. a <-- saisie() # Appeler la fonction saisie() pour demander # et récupérer le deuxième entier b supérieur à 0. b <-- saisie() # Appeler la fonction pgcd(a, b) pour calculer # le PGCD des deux entiers a et b. # Afficher ensuite le résultat obtenu. Ecrire("Le PGCD de a et b est ", pgcd(a, b)) Fin |
Déclaration des objets
| Objet | Type / Nature |
|---|---|
| a | 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