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