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 Nadir SOUALEM

Keywords: , , .

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> \ENDIF

For-loops

There are two forms

\FOR{<condition>} <text> \ENDFOR

\FORALL{<condition>} <text> \ENDFOR

While-loops

\WHILE{<condition>} <text> \ENDWHILE

Repeat until condition

\REPEAT <text> \UNTIL{<condition>}

Infinite loops

\LOOP <text> \ENDLOOP

Precondition

\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.

Forum posts

Any message or comments?

pre-moderation

This forum is moderated before publication: your contribution will only appear after being validated by an administrator.

Who are you?
Your post
  • To create paragraphs, just leave blank lines.

If you want to help Math-Linux.com project , Send your contributions to our team. Thanks !!!

Links