AlgoBox : Algorithme d'Euclide
Tester l'algorithme
Cliquer sur ce bouton pour exécuter l'algorithme : 

Résultats

Code de l'algorithme
1   VARIABLES
2     a EST_DU_TYPE NOMBRE
3     b EST_DU_TYPE NOMBRE
4     q EST_DU_TYPE NOMBRE
5     r EST_DU_TYPE NOMBRE
6   DEBUT_ALGORITHME
7     LIRE a
8     LIRE b
9     AFFICHER "PGCD("
10    AFFICHER a
11    AFFICHER " ; "
12    AFFICHER b
13    AFFICHER ") = "
14    r PREND_LA_VALEUR 1
15    TANT_QUE (r>0) FAIRE
16      DEBUT_TANT_QUE
17      //floor(a/b) est la partie entière de a/b
18 
     //Calcul du quotient de la division enclidienne de a par b
19 
     q PREND_LA_VALEUR floor(a/b)
20      //Calcul du reste de la division euclidienne de a par b
21 
     r PREND_LA_VALEUR a-b*q
22      a PREND_LA_VALEUR b
23      b PREND_LA_VALEUR r
24      FIN_TANT_QUE
25    AFFICHER a
26  FIN_ALGORITHME

Evolution des variables en mode pas à pas
Evolution des variables en mode pas à pas pour la saisie de a=429 b=210.

(ligne 7) -> a:429 | b:0   | q:0 | r:0
(ligne 8) -> a:429 | b:210 | q:0 | r:0
(ligne 14)-> a:429 | b:210 | q:0 | r:1
Entrée dans le bloc DEBUT_TANT_QUE/FIN_TANT_QUE : condition vérifiée (ligne 16)
(ligne 19) -> a:429 | b:210 | q:2 | r:1
(ligne 21) -> a:429 | b:210 | q:2 | r:9
(ligne 22) -> a:210 | b:210 | q:2 | r:9
(ligne 23) -> a:210 | b:9   | q:2 | r:9
Sortie du bloc DEBUT_TANT_QUE/FIN_TANT_QUE (ligne 24)
Entrée dans le bloc DEBUT_TANT_QUE/FIN_TANT_QUE : condition vérifiée (ligne 16)
(ligne 19) -> a:210 | b:9 | q:23 | r:9
(ligne 21) -> a:210 | b:9 | q:23 | r:3
(ligne 22) -> a:9   | b:9 | q:23 | r:3
(ligne 23) -> a:9   | b:3 | q:23 | r:3
Sortie du bloc DEBUT_TANT_QUE/FIN_TANT_QUE (ligne 24)
Entrée dans le bloc DEBUT_TANT_QUE/FIN_TANT_QUE : condition vérifiée (ligne 16)
(ligne 19) -> a:9 | b:3 | q:3 | r:3
(ligne 21) -> a:9 | b:3 | q:3 | r:0
(ligne 22) -> a:3 | b:3 | q:3 | r:0
(ligne 23) -> a:3 | b:0 | q:3 | r:0
Sortie du bloc DEBUT_TANT_QUE/FIN_TANT_QUE (ligne 24)

Affichages : PGCD( 429 ; 210) = 3