 \documentclass[12pt,a4paper]{report}
    \usepackage{amsthm,amssymb,amsmath,enumerate,mathtools}
    \usepackage{algorithm}
    \usepackage{algcompatible}
    \renewcommand{\algorithmicrequire}{\textbf{ورودی:}}
    \renewcommand{\algorithmicensure}{\textbf{خروجی:}}
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \usepackage{xepersian}
    \settextfont{Yas}
    \begin{document}
    \section{نمونه یک الگوریتم}\label{algsec}
    \textbf{نمونه اول:}
    الگوریتم
        \ref{malgcg}
        یک الگوریتم با دستورات فارسی است.
        \begin{algorithm}[htb!]
            \caption{روش گرادیان مزدوج.}
            \label{malgcg}
            \begin{algorithmic}[1]
                \REQUIRE
                ماتریس متقارن معین مثبت  $A\in\mathbb{R}^{n\times n}$ و بردارهای $b$ و   $x_0$.
                \ENSURE
                جواب دستگاه $Ax=b$.
                \STATE محاسبه کنید $r_0:=b-Ax_0$ و قرار دهید $p_0:=r_0$.
                \STATE
                برای $j=0,1,2,\ldots$، انجام دهید:
                \STATE $\alpha_j=\frac{\langle r_j,r_j \rangle}{\langle Ap_j,p_j \rangle}$
                \STATE $x_{j+1}=x_j+\alpha_jp_j$
                \STATE $r_{j+1}=r_j-\alpha_jAp_j$
                \STATE
                بررسی معیار توقف: اگر $\Vert r_{j+1}\Vert_2< \epsilon$، آنگاه توقف کنید.
                \STATE $\eta_j=\frac{\langle r_{j+1},r_{j+1} \rangle}{\langle r_j,r_j \rangle}$
                \STATE $p_{j+1}=r_{j+1}+\eta_jp_j$
            \end{algorithmic}
        \end{algorithm}

        ********************************

        ********************************

        *********************************

            ********************************

        ********************************

        *********************************

                ********************************

        ********************************

        *********************************

            ********************************

        ********************************

        *********************************

                ********************************

        ********************************

        *********************************

    \textbf{نمونه دوم:}
        شکستن الگوریتم
        \ref{malgcg}
        از یک صفحه به صفحه دیگر.
        \begin{algorithm}[htb!]
            \caption{روش گرادیان مزدوج.}
            \label{malgcg1}
            \begin{algorithmic}[1]
                \REQUIRE
                ماتریس متقارن معین مثبت  $A\in\mathbb{R}^{n\times n}$ و بردارهای $b$ و   $x_0$.
                \ENSURE
                جواب دستگاه $Ax=b$.
                \STATE محاسبه کنید $r_0:=b-Ax_0$ و قرار دهید $p_0:=r_0$.
                \STATE
                \FOR {I=1:N}
                \sTATE m=M+1
%                برای $j=0,1,2,\ldots$، انجام دهید:
                \ENDFOR
                \algstore{myalg}%page break
                \end{algorithmic}
                \end{algorithm}
                \begin{algorithm}
                \begin{algorithmic}[1]
                \algrestore{myalg}
                \STATE $\alpha_j=\frac{\langle r_j,r_j \rangle}{\langle Ap_j,p_j \rangle}$
                \STATE $x_{j+1}=x_j+\alpha_jp_j$
                \STATE $r_{j+1}=r_j-\alpha_jAp_j$
                \STATE
                بررسی معیار توقف: اگر $\Vert r_{j+1}\Vert_2< \epsilon$، آنگاه توقف کنید.
                \STATE $\eta_j=\frac{\langle r_{j+1},r_{j+1} \rangle}{\langle r_j,r_j \rangle}$
                \STATE $p_{j+1}=r_{j+1}+\eta_jp_j$
            \end{algorithmic}
        \end{algorithm}
    \end{document}