53 lines
1.4 KiB
Plaintext
53 lines
1.4 KiB
Plaintext
|
Algorithmique
|
||
|
=============
|
||
|
|
||
|
Al-Kharezmi, auteur du traité "Kitab al jabr w'al-muqabala", est l'inventeur
|
||
|
des manipulations algébriques (algèbre = al jabr).
|
||
|
C'est Léonard de Pise, dit Fibonacci, qui emprunta le nom du célèbre
|
||
|
mathématicien arabe du 9ème siècle.
|
||
|
|
||
|
.. glossary::
|
||
|
|
||
|
|
||
|
algorithme
|
||
|
|
||
|
terme désignant une suite d'opérations constituant un schéma de calcul
|
||
|
ou de résolution d'un problème.
|
||
|
|
||
|
.. raw:: latex
|
||
|
|
||
|
\begin{algorithm}
|
||
|
\caption{My algorithm}\label{euclid}
|
||
|
\begin{algorithmic}[1]
|
||
|
\Procedure{MyProcedure}{}
|
||
|
\State $\textit{stringlen} \gets \text{length of }\textit{string}$
|
||
|
\State $i \gets \textit{patlen}$
|
||
|
\BState \emph{top}:
|
||
|
\If {$i > \textit{stringlen}$} \Return false
|
||
|
\EndIf
|
||
|
\State $j \gets \textit{patlen}$
|
||
|
\BState \emph{loop}:
|
||
|
\If {$\textit{string}(i) = \textit{path}(j)$}
|
||
|
\State $j \gets j-1$.
|
||
|
\State $i \gets i-1$.
|
||
|
\State \textbf{goto} \emph{loop}.
|
||
|
\State \textbf{close};
|
||
|
\EndIf
|
||
|
\State $i \gets
|
||
|
i+\max(\textit{delta}_1(\textit{string}(i)),\textit{delta}_2(j))$.
|
||
|
\State \textbf{goto} \emph{top}.
|
||
|
\EndProcedure
|
||
|
\end{algorithmic}
|
||
|
\end{algorithm}
|
||
|
|
||
|
|
||
|
|
||
|
Comment rendre un algorithme lisible
|
||
|
------------------------------------
|
||
|
|
||
|
- Le bon algorithme utilise des identifiants explicites.
|
||
|
- Le bon algorithme est structuré.
|
||
|
- Le bon algorithme est indenté.
|
||
|
|
||
|
|