\begin{algorithm}
\caption{Binary Search}
\begin{algorithmic}
\PROCEDURE{BinSearch}{$A, p, q, v$}
\IF{$p > q$}
\RETURN $NIL$
\ENDIF
\STATE $m = \lfloor\frac{p + q}2\rfloor$
\IF{A[m] = v}
\RETURN $m$
\ENDIF
\IF{A[m] < v}
\RETURN \CALL{BinSearch}{$A, m + 1, q, v$}
\ENDIF
\RETURN \CALL{BinSearch}{$A, p, m - 1, v$}
\ENDPROCEDURE
\STATE \CALL{BinSearch}{$A, 1, n, v$}
\end{algorithmic}
\end{algorithm}