![]() ![]() » un programme plus "fonctionnel" , un programme plus esthétique à télécharger |
Le programme est ici très simple à mettre en œuvre :
Ligne 1 : ligne d'en-tête.
Ligne 2 : a et b sont donnés. Le quotient entier (ENT) est calculé ainsi que le reste de cette division euclidienne : fonction MOD (modulo); on peut remplacer par a - bq, soit A2 - B2*C2.
A3 : si le reste
précédent est nul, c'est fini et le PGCD est le
dernier reste non nul; sinon b
prend la place de
a.
B3 : dans les mêmes conditions, r prend la place de
b.
C3 et D3 : dans les mêmes conditions, on effectue la division euclidienne de A3 par B3, le reste est en D3.
Puis on recopie vers le bas tant que nécessaire : i.e. tant qu'un reste obtenu ne s'est pas avéré nul.
Les formules :
Exemple d'exécution :
➔ Si r = 0 est obtenu, le programme affiche "fini". On a ici : PGCD(1988,1554) = 14.
!
Ne
pas entrer des nombres de plus de 15 chiffres, sinon le tableur affichera,
sans vous le signaler des erreurs dues à un dépassement de capacité
comme, par exemple
: a =
12345678910111213 b = 10000000000000007 pgcd =
800 !!!
! Ce dernier résultat est aberrant : le tableur à remplacé les deux derniers chiffres par 00 !!!
fantaisies dues à un dépassement de capacité non traité par les micro-ordinateurs de bureau (plus de 15 chiffres significatifs)...
L'inconvénient de la méthode précédente est d'afficher des résultats parasites en fin de calcul. La méthode suivante rend plus propre l'affichage des résultats et est à rapprocher des résultats affichés par le programme en JavaScript :