# do-while loop in pseudo code

The algorithmic package lets me make a while loop as

\begin{algorithmic}
\While{$u\neq v$}
\State Something
\EndWhile
\end{algorithmic}


which results in a

while(u is not v) do
something
end while


How can I make a do-while loop which result in

do
something
while(u is not v)


(Sorry for the lack of output. I don't know how to add that to my question. I hope the question and the intention is clear enough) I use document class memoir and packages algpseudocode and algorithm.

• There's a \Repeat <text> \Until{<condition>} construct, if that helps. Same meaning as do...while, just different words. – John Wickerson May 23 '13 at 9:03
• @JohnWickerson Well, strictly speaking, those two constructs do not have the same meaning, since, for the two loops to be equivalent, the condition used after "until" would have to be the negated version of that used after "while". – jub0bs May 23 '13 at 9:35
• Whoops! Good spot :) – John Wickerson May 23 '13 at 10:12

You have to define the do-while construct yourself; see below.

Note: you tagged your question with algorithmicx, not algorithmic, so I produced an answer using the algorithmicx package.

\documentclass{article}
\usepackage{algorithmicx}
\usepackage{algpseudocode}

\algdef{SE}[DOWHILE]{Do}{doWhile}{\algorithmicdo}[1]{\algorithmicwhile\ #1}%

\begin{document}
\begin{algorithmic}
\Do
\State Something
\doWhile{$u \neq v$} % <--- use \doWhile for the "while" at the end
\end{algorithmic}
\end{document}