Calcul du PGCD de deux nombres entiers publié le 18/03/2011  - mis à jour le 19/03/2011

Rédaction d'un document écrit en LaTeX

Une introduction

Cette macro a été écrite pour automatiser le calcul du PGCD de deux nombres entiers dans un document LaTeX.
Cela peut être très utile lors de l’élaboration de corrigés d’exercices ou d’évaluations par exemple.
La méthode utilisée est celle de l’algorithme d’EUCLIDE et bien sûr, certains paquets particuliers se chargent d’effectuer les calculs intermédiaires et de mener à bien l’algorithme.

 

Les paquets utilisés

Pour son fonctionnement, cette macro utilise les deux paquets ci-dessous, qui devront être chargés dans le préambule du document de la façon suivante :

\usepackage{xlop}
\usepackage{ifthen}

Ce sont des commandes du paquet "xlop" qui permettent d’effectuer les calculs et ce sont celles du paquet "ifthen" qui permettent de mener à bien l’algorithme.

 

Le texte de la macro

Le texte de la macro peut être écrit dans le préambule du document ou dans un fichier qui sera appelé dans ce préambule.

\newcounter{arret}%
\setcounter{arret}{0}%
\newcommand{\algoeucl}[2]%
{%
\opcopy{#1}{a}%
\opcopy{#2}{b}%
\opcopy{#1}{A}%
\opcopy{#2}{B}%
\opgcd{A}{B}{PGCD}%
\noindent%
Calculons par l'algorithme d'\textsc{Euclide} le PGCD des nombres $ \opprint{A} $ et $ \opprint{B} $.\\%
\whiledo{\equal{\thearret}{0}}%
{\opidiv*{a}{b}{q}{r}%
$ \opprint{a} = \opprint{b} \times \opprint{q} + \opprint{r} $\\%
\opcmp{r}{0}%
\ifopeq%
        \refstepcounter{arret}%
\fi%
\opcopy{b}{a}%
\opcopy{r}{b}}%
Le PGCD des nombres $ \opprint{A} $ et $ \opprint{B} $ est le dernier reste non nul du procédé,
c'est-à-dire $ \opprint{PGCD} $.%
}%

 


Mon document LaTeX

On considèrera que le texte de la macro est écrit dans un fichier nommé "algoeucl.tex" qui se trouve dans le même répertoire que le document LaTeX que l’on écrit.
On appelle ce fichier dans le préambule du document de la façon suivante :

\input{algoeucl.tex}
% La classe du document
%
\documentclass[a4paper,12pt]{article}%
%
% Les paquets
%
\usepackage[francais]{babel}% Typographie
\usepackage[T1]{fontenc}% Saisie
\usepackage[latin1]{inputenc}% en français
%
\usepackage{xlop}% Calculs
\usepackage{ifthen}% Tests
%
% La macro
%
\input{algoeucl.tex}%
%
% Le document
%
\begin{document}%

Je n'ai plus besoin de calculatrice pour réaliser mes corrigés \ldots

\algoeucl{836}{345}

\end{document}%

Pour utiliser la macro qui calcule le PGCD de deux nombres entiers m et n, il suffit dans le corps du document d’écrire :

\algoeucl{m}{n}

 

Le résultat obtenu

Après compilation du document LaTeX, on obtient le résultat suivant :

Je n’ai plus besoin de calculatrice pour réaliser mes corrigés ...
Calculons par l’algorithme d’EUCLIDE le PGCD des nombres 836 et 345.
836 = 345 × 2 + 146
345 = 146 × 2 + 53
146 = 53 × 2 + 40
53 = 40 × 1 + 13
40 = 13 × 3 + 1
13 = 1 × 13 + 0
Le PGCD des nombres 836 et 345 est le dernier reste non nul du procédé, c’est-à-dire 1.
Documents joints
un document Macro pour calculer un PGCD (LaTeX de 691 octets)

Macro qui permet de calculer le PGCD de deux nombres entiers dans un document LaTeX.

un document Utilisation d'une macro (LaTeX de 438 octets)

Exemple d’utilisation d’une macro qui calcule le PGCD de deux nombres entiers dans un document LaTeX.

Impression

  Imprimer
  L'article au format pdf

Auteur

 PEYROT Sébastien

Dans la même rubrique

 Calcul du PGCD de deux nombres entiers