Home > Latex > FAQ > Latex - FAQ > How to write algorithm and pseudocode in Latex ?\usepackagealgorithm,\usepackage
How to write algorithm and pseudocode in Latex ?\usepackage{algorithm},\usepackage{algorithmic}
Friday 31 December 2010, by
Keywords: algorithm , algorithmic , Latex .
All the versions of this article: [English] [français]
We must use the following packages
\usepackage{algorithm}
\usepackage{algorithmic}Here is an exemple:
\begin{algorithm}
\caption{Calculate $y = x^n$}
\begin{algorithmic}
\REQUIRE $n \geq 0 \vee x \neq 0$
\ENSURE $y = x^n$
\STATE $y \leftarrow 1$
\IF{$n < 0$}
\STATE $X \leftarrow 1 / x$
\STATE $N \leftarrow -n$
\ELSE
\STATE $X \leftarrow x$
\STATE $N \leftarrow n$
\ENDIF
\WHILE{$N \neq 0$}
\IF{$N$ is even}
\STATE $X \leftarrow X \times X$
\STATE $N \leftarrow N / 2$
\ELSE[$N$ is odd]
\STATE $y \leftarrow y \times X$
\STATE $N \leftarrow N - 1$
\ENDIF
\ENDWHILE
\end{algorithmic}
\end{algorithm}

Here are useful commands
Single line statements
\STATE <text>If-statements
\IF{<condition>} <text> \ENDIF
\IF{<condition>} <text> \ELSE <text> \ENDIF
\IF{<condition>} <text> \ELSIF{<condition>} <text> \ELSE <text> \ENDIFFor-loops
There are two forms
\FOR{<condition>} <text> \ENDFOR
\FORALL{<condition>} <text> \ENDFORWhile-loops
\WHILE{<condition>} <text> \ENDWHILERepeat until condition
\REPEAT <text> \UNTIL{<condition>}Infinite loops
\LOOP <text> \ENDLOOPPrecondition
\REQUIRE <text>Postcondition
\ENSURE <text>Returning variables
\RETURN <text>Printing variables
\PRINT <text>Note: Due to a bug, the algorithmic package is not compatible with hyperref.
