xlop (exemples 1)

[
Niveau supérieur ]

Exemple 1

exemple01
 
% Jeudi 27 Mai 2004 à 23:18:16

\opset{decimalsepsymbol={,}}
\newcommand\NbOr[1]{%
  \opcopy{1}{phi}%
  \count255=#1\relax
  \loop
  \ifnum\count255>1
    \opexpr{1+1/phi}{phi}%
    \advance\count255 by-1
  \repeat
}
Nombre d'or calculé par fraction continue:
\begin{itemize}
\item \NbOr{2}Deux itérations $\to$ \opprint{phi}
\item \NbOr{5}Cinq itérations $\to$ \opprint{phi}
\item \NbOr{10}Dix itérations $\to$ \opprint{phi}
\item \NbOr{15}Quinze itérations $\to$ \opprint{phi}
\item \NbOr{20}Vingt itérations $\to$ \opprint{phi}
\end{itemize}

Télécharger l'exemple

Exemple 2

exemple02
 
% Vendredi 28 Mai 2004 à 04:08:49

% je suis français : j'utilise la virgule !
\opset{decimalsepsymbol={,}}
\begin{center}
  \fbox{Addition avec le comportement par défaut}
\end{center}
\verb+\opadd{9.4572}{2.25}+ donne:
\[\opadd{9.4572}{2.25}\]


Télécharger l'exemple

Exemple 3

exemple03
 
% Vendredi 28 Mai 2004 à 04:09:43

% je suis français : j'utilise la virgule !
\opset{decimalsepsymbol={,}}
\begin{center}
  \fbox{Soustraction avec le comportement par défaut}
\end{center}
\verb+\opsub{9.4572}{2.25}+ donne:
\[\opsub{9.4572}{2.25}\]


Télécharger l'exemple

Exemple 4

exemple04
 
% Vendredi 28 Mai 2004 à 04:10:29

% je suis français : j'utilise la virgule !
\opset{decimalsepsymbol={,}}
\begin{center}
  \fbox{Multiplication avec le comportement par défaut}
\end{center}
\verb+\opmul{9.4572}{2.25}+ donne:
\[\opmul{9.4572}{2.25}\]


Télécharger l'exemple

Exemple 5

exemple05
 
% Vendredi 28 Mai 2004 à 04:11:32

% je suis français : j'utilise la virgule !
\opset{decimalsepsymbol={,}}
\begin{center}
  \fbox{Division avec le comportement par défaut}
\end{center}
\verb+\opdiv{9.4572}{2.25}+ donne:
\[\opdiv{9.4572}{2.25}\]


Télécharger l'exemple

Exemple 6

exemple06
 
% Vendredi 28 Mai 2004 à 04:13:25

\begin{center}
  \fbox{Divisions avec ou sans soustractions}
\end{center}

\opdiv[displayintermediary=all,dividendbridge]
{32656}{157}
\quad
\opdiv[displayintermediary=nonzero,dividendbridge]
{32656}{157}
\quad
\opdiv[displayintermediary=none,dividendbridge]
{32656}{157}


Télécharger l'exemple

Exemple 7

exemple07
 
% Vendredi 28 Mai 2004 à 04:26:22

\begin{center}
  \fbox{Une opération ecossaise}

  \bigskip
  \opadd[carrystyle.1=\scriptsize\color{red},
         carrystyle.2=\scriptsize\color{blue},
         carrystyle.3=\scriptsize\color{red},
         carrystyle.4=\scriptsize\color{blue},
         carrystyle.5=\scriptsize\color{red},
         operandstyle.1.1=\color{blue},
         operandstyle.1.2=\color{red},
         operandstyle.1.3=\color{blue},
         operandstyle.1.4=\color{red},
         operandstyle.1.5=\color{blue},
         operandstyle.2.1=\color{red},
         operandstyle.2.2=\color{blue},
         operandstyle.2.3=\color{red},
         operandstyle.2.4=\color{blue},
         operandstyle.2.5=\color{red},
         resultstyle.1=\color{blue},
         resultstyle.2=\color{red},
         resultstyle.3=\color{blue},
         resultstyle.4=\color{red},
         resultstyle.5=\color{blue}]{12345}{67890}
\end{center}


Télécharger l'exemple

Exemple 8

exemple08
 
% Vendredi 28 Mai 2004 à 04:27:22

\begin{center}
  \fbox{Multiplication à l'anglo-saxonne (à confirmer)}
  
  \bigskip
  \opmul[shiftintermediarysymbol=x,
         displayshiftintermediary=all]{2491}{205607}
\end{center}


Télécharger l'exemple

Exemple 9

exemple09
 
% Vendredi 28 Mai 2004 à 04:29:46

\begin{center}
  \fbox{La division par étape}

\bigskip
\opset{decimalsepsymbol={,},displayintermediary=all}
\opdiv[maxdivstep=1]{1267}{5}\qquad
\opdiv[maxdivstep=2]{1267}{5}\qquad
\opdiv[maxdivstep=3]{1267}{5}\qquad
\opdiv[maxdivstep=4]{1267}{5}
\end{center}


Télécharger l'exemple

Exemple 10

exemple10
 
% Vendredi 28 Mai 2004 à 04:30:44

\begin{center}
  \fbox{Petite performance}

  \bigskip
  \opdiv[style=text,period]{1}{49}
\end{center}


Télécharger l'exemple

Exemple 11

exemple11
 
% Vendredi 28 Mai 2004 à 04:31:59

\begin{center}
  \fbox{Euclide, Bezout, pgcd, Fibonacci et compagnie}
\end{center}
% valeurs de départ
\newcommand\SuiteBezout[2]{%
  \opcopy{#1}{r0}
  \opcopy{#2}{r1}
  \loop
    \opidiv*{r0}{r1}{q}{r}%
    \opcmp{r}{0}
  \ifopneq
    \opidiv[style=text]{r0}{r1}\endgraf
    \opcmp{r}{0}%
    \endgraf
    \opcopy{r1}{r0}
    \opcopy{r}{r1}
  \repeat
}
\begin{minipage}{3.5cm}
\SuiteBezout{273}{29}
\end{minipage}\hfill
\begin{minipage}{3.5cm}
\SuiteBezout{55}{34}
\end{minipage}\hfill
\begin{minipage}{3.5cm}
\SuiteBezout{104}{65}
\end{minipage}


Télécharger l'exemple

Exemple 12

exemple12
 
% Vendredi 28 Mai 2004 à 04:35:18

% toutes les opérations seront en ligne
\opset{style=text}
\begin{center}
\fbox{Cours sur la preuve par neuf}
\end{center}

% un autre exemple sera composé en
% ne modifiant que les trois lignes
% suivantes.
\opcopy{1838}{a}%
\opcopy{52}{b}%
\opcopy{94576}{abtest} % ici c'est faux

Pour vérifier que la multiplication:
\[\opprint{a}\times\opprint{b} =
\opprint{abtest}\]
est peut-être correcte, on fait la somme des
chiffres de \opprint{a}. Si la somme est
supérieure a~10, on recommence, jusqu'a obtenir
un nombre entre~0 et~9. Ici, cela donne~%
\opcastingoutnines{a}{mod9a}\opprint{mod9a}.

On fait de même avec \opprint{b} et on trouve~%
\opcastingoutnines{b}{mod9b}\opprint{mod9b}.

On multiplie ces deux nombres:
\begin{center}
  \opmul{mod9a}{mod9b}
\end{center}
et on ajoute alors les chiffres du résultat
(comme précédemment), ce qui donne~%
\opmul*{a}{b}{ab}\opcastingoutnines{ab}{mod9ab}%
\opprint{mod9ab}.

Enfin, on ajoute les chiffres du produit \opprint{abtest}
(toujours comme précédemment) et on trouve alors~%
\opcastingoutnines{abtest}{mod9abtest}\opprint{mod9abtest}.

La preuve par neuf est vérifiée si les deux derniers
calculs donnent le même résultat.
% Ici, on dit que l'opération est fausse
Dans l'exemple, la preuve par neuf indique que le résultat
est faux. En fait, l'opération juste est:
\begin{center}
  \opmul{a}{b}
\end{center}


Télécharger l'exemple

Exemple 13

exemple13
 
% Vendredi 28 Mai 2004 à 04:36:53

\opset{decimalsepsymbol={,}}
\newcommand\dfrac[2]{{\displaystyle\frac{#1}{#2}}}
\begin{center}
  \fbox{Règles sur les puissances}
\end{center}
\begin{enumerate}
\item $a^{-m}=\left(\dfrac{1}{a}\right)^m$.
  
  Exemple :
  \opcopy{4}{a}%
  \opcopy{2}{m}%
  \opneg{m}{mm}%
  \oppower{a}{m}{p1}%
  \oppower{a}{mm}{p2}%
  \opunzero{p2}%
  $\opprint{a}^{\opprint{mm}} =
  \dfrac{1}{\opprint{a}^{\opprint{m}}} =
  \dfrac{1}{\opprint{p1}} = \opprint{p2}$
  
\item $a^m \times a^n = a^{m+n}$.
  
  Exemple :
  \opcopy{3}{a}%
  \opcopy{4}{m}%
  \opcopy{5}{n}%
  \oppower{a}{m}{am}%
  \oppower{a}{n}{an}%
  \opadd*{m}{n}{m+n}%
  \oppower{a}{m+n}{a(m+n)}%
  $\opprint{a}^{\opprint{m}} \times
  \opprint{a}^{\opprint{n}} =
  \opprint{am} \times \opprint{an} = \opprint{a(m+n)}$
  et $\opprint{a}^{\opprint{m+n}} = \opprint{a(m+n)}$
  
\item $\dfrac{a^m}{a^n} = a^{m-n}$.
  
  Exemple :
  \opcopy{2}{a}%
  \opcopy{5}{m}%
  \opcopy{2}{n}%
  \oppower{a}{m}{am}%
  \oppower{a}{n}{an}%
  \opsub*{m}{n}{m-n}
  \oppower{a}{m-n}{a(m-n)}%
  $\dfrac{\opprint{a}^{\opprint{m}}}
         {\opprint{a}^{\opprint{n}}} =
  \dfrac{\opprint{am}}{\opprint{an}} = \opprint{a(m-n)}$
  et $\opprint{a}^{\opprint{m}-\opprint{n}} =
  \opprint{a}^{\opprint{m-n}} = \opprint{a(m-n)}$

\item $a^m \times b^m = (ab)^m$.

  Exemple :
  \opcopy{3}{a}%
  \opcopy{4}{b}%
  \opcopy{3}{m}%
  \oppower{a}{m}{am}%
  \oppower{b}{m}{bm}%
  \opmul*{a}{b}{ab}%
  \oppower{ab}{m}{abm}%
  $\opprint{a}^{\opprint{m}} \times
  \opprint{b}^{\opprint{m}} =
  \opprint{am} \times \opprint{bm} =
  \opprint{abm}$
  et $(\opprint{a} \times \opprint{b})^{\opprint{m}} =
  \opprint{ab}^{\opprint{m}} = \opprint{abm}$
\end{enumerate}


Télécharger l'exemple

Exemple 14

exemple14
 
% Vendredi 28 Mai 2004 à 04:40:07

\opset{decimalsepsymbol={,}}
\opcopy{3}{a}
\opcopy{-7}{b}
\opdiv*{a}{b}{q}{r}%
Soit le quotient $\opprint{a} \div \opprint{b}$.

Sa valeur arrondie à $10^{-4}$ près
est égale à
\opround{q}{4}{Q}$\opprint{Q}$.

Sa valeur approchée par défaut à $10^{-3}$ près
est gale à
\opfloor{q}{3}{Q}$\opprint{Q}$.

Sa valeur approchée par excès à $10^{-3}$ près
est égale à
\opceil{q}{3}{Q}$\opprint{Q}$.

Sa valeur arrondie à $10^{-3}$ près
est égale à
\opround{q}{3}{Q}$\opprint{Q}$.

\medskip
\opcopy{3}{a}
\opcopy{7}{b}
\opdiv*{a}{b}{q}{r}%
Soit le quotient $\opprint{a} \div \opprint{b}$.

Sa valeur arrondie à $10^{-4}$ près
est égale à
\opround{q}{4}{Q}$\opprint{Q}$.

Sa valeur approchée par défaut à $10^{-3}$ près
est égale à
\opfloor{q}{3}{Q}$\opprint{Q}$.

Sa valeur approchée par excès à $10^{-3}$ près
est égale à
\opceil{q}{3}{Q}$\opprint{Q}$.

Sa valeur arrondie à $10^{-3}$ près
est égale à
\opround{q}{3}{Q}$\opprint{Q}$.


Télécharger l'exemple

Exemple 15

exemple15
 
% Vendredi 28 Mai 2004 à 04:42:33

\newcommand\binome[3]{%
  \opcopy{#1}{a}
  \opcopy{#2}{b}
  \opcopy{#3}{c}
  L'equation $\opprint{a}x^2+\opprint{b}x+\opprint{c}$
  à un discriminant égal à :
  \opexpr{b^2-4*a*c}{Delta}%
  \opunzero{Delta}
  $\Delta = \opprint{Delta}$.
  
  \opadd*{a}{a}{aa}
  \opcmp{Delta}{0}
  \ifoplt
    Comme le discriminant est strictement négatif,
    l'équation n'a pas de solution réelle.
  \else\ifopeq
    Comme le discriminant est nul, l'équation à
    une solution réelle (double) :
    \[x=-\frac{\opprint{b}}{\opprint{aa}}\]
  \else
    Comme le discriminant est strictement positif,
    l'équation a deux solutions réelles distinctes:
    \[x=\frac{-\opprint{b} \pm \sqrt{\opprint{Delta}}}
    {\opprint{aa}}\]
  \fi\fi
}
\binome{3}{5}{2}

\binome{2}{-8}{8}

\binome{2}{3}{2}


Télécharger l'exemple

Exemple 16

exemple16
 
% Vendredi 28 Mai 2004 à 04:44:21

\begin{center}
  Syracuse
\end{center}
Il aurait été criminel de ne pas donner cet exemple sur le site de Syracuse!

La commande \verb+\Syracuse{n}+ donne la suite de Syracuse du nombre $n$ 
jusqu'à l'obtention d'un~1.

Si le programme ne devait pas se terminer, merci de signaler ce \og bogue \fg{} 
à l'auteur qui transmettra à qui de droit :-)
\newcommand\Syracuse[1]{%
  \opcopy{#1}{un}%
  \loop
  \opprint{un}%
  \opcmp{un}{1}%
  \ifopneq
    ,
    \opidiv*{un}{2}{un1}{r}%
    \opcmp{r}{0}%
    \ifopneq
      \opexpr{3*un+1}{un1}%
    \fi
    \opcopy{un1}{un}%
  \repeat
}

\medskip
\Syracuse{5}

\medskip
\Syracuse{97}


Télécharger l'exemple