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