Exemplo n.º 1
0
        private Par Mult(Par A, Par B)
        {
            Par C = new Par();
            Par D = new Par();

            C.name  = "C";
            C.value = new int[] { 0, 0 };
            D.name  = "D";
            D.value = new int[] { 0, 0 };


            while (!Zero(A))
            {
                C = Inc(C);
                A = Dec(A);
            }
            while (!Zero(C))
            {
                while (!Zero(B))
                {
                    A = Inc(A);
                    D = Inc(D);
                    B = Dec(B);
                }
                while (!Zero(D))
                {
                    B = Inc(B);
                    D = Dec(D);
                }
                C = Dec(C);
            }
            return(A);
        }
Exemplo n.º 2
0
 private Par Soma(Par A, Par B)
 {
     while (!Zero(B))
     {
         A = Inc(A);
         B = Dec(B);
     }
     return(A);
 }
Exemplo n.º 3
0
 private bool Zero(Par X)
 {
     if (X.value[1] == 0)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemplo n.º 4
0
        private Par Initialize(Par par)
        {
            Par reg = new Par();

            reg.name  = par.name;
            reg.value = new int[] { 0, 0 };

            while (par.value[1] != 0)
            {
                txtConsole.AppendText("Inicializando o registrador " + reg.name + " // valor atual: " + reg.value[1] + "\n" + Environment.NewLine);
                Dec(par);
                Inc(reg);
            }
            txtConsole.AppendText("Registrador " + reg.name + " inicializado como: " + reg.value[1] + "\n" + Environment.NewLine);
            return(reg);
        }
Exemplo n.º 5
0
        private void btnMult_Click(object sender, EventArgs e)
        {
            txtConsole.Text = "";
            Par A = new Par();

            A.name  = "A";
            A.value = new int[] { 0, Convert.ToInt32(txtA.Text) };
            Par B = new Par();

            B.name  = "B";
            B.value = new int[] { 0, Convert.ToInt32(txtB.Text) };
            A       = Initialize(A);
            B       = Initialize(B);
            var result = Mult(A, B);

            txtConsole.AppendText("-- Multiplicação finalizada --" + "\n" + Environment.NewLine);
            txtConsole.AppendText("Resultado: [" + result.value[0] + "," + result.value[1] + "]\n" + Environment.NewLine);
        }
Exemplo n.º 6
0
        private Par Sub(Par A, Par B)
        {
            while (!Zero(B))
            {
                if (Zero(A))
                {
                    A.value[0] = 1;
                    while (!Zero(B))
                    {
                        Inc(A);
                        Dec(B);
                    }
                    return(A);
                }
                else
                {
                    Dec(A);
                    Dec(B);
                }
            }

            return(A);
        }
Exemplo n.º 7
0
 private Par Dec(Par par)
 {
     txtConsole.AppendText("Reg" + par.name + " Dec(" + par.value[1] + "), seu valor agora é: " + (par.value[1] - 1) + "\n" + Environment.NewLine);
     par.value[1]--;
     return(par);
 }