예제 #1
0
 private void ResolucionPeriodicoMixto()
 {
     if (paso == 20)
     {
         lbExplicacion.Text += "\nComenzamos construyendo un número con la parte entera, el anteperiodo y el periodo. ";
         label1.Show();
         string parteenteras = tbFilas.Text.Substring(0, tbFilas.Text.IndexOf(','));
         parteentera = Int64.Parse(parteenteras);
         Racional numeror = (Racional)(numero);
         anteperiodo = numeror.AntePeriodo();
         string anteperiodos = anteperiodo.ToString();
         periodo = numeror.Periodo();
         string periodos = periodo.ToString();
         string aux      = parteenteras + anteperiodos + periodos;
         auxi1       = Int64.Parse(aux);
         label1.Text = aux;
         paso++;
     }
     else if (paso == 21)
     {
         lbExplicacion.Text += "\nAhora construimos otro número con la parte entera seguida del anteperiodo y se lo restamos al número contruido anteriormente, obteniendo así el numerador de la fracción:";
         string aux = parteentera.ToString() + anteperiodo.ToString();
         auxi2        = Int64.Parse(aux);
         numerad      = auxi1 - auxi2;
         label1.Text += " - " + aux + " = " + numerad.ToString();
         paso++;
     }
     else if (paso == 22)
     {
         lbExplicacion.Text += "\nPara obtener el denominador de la fracción, construimos un número compuesto por tantos nueves como digitos tenga el periodo, y tantos ceros como digitos tenga el anteperiodo:";
         string denominads = "";
         for (int i = 0; i < periodo.ToString().Length; i++)
         {
             denominads += "9";
         }
         for (int i = 0; i < anteperiodo.ToString().Length; i++)
         {
             denominads += "0";
         }
         denominad    = Int64.Parse(denominads);
         label1.Text += "\n Denominador = " + denominads;
         paso++;
     }
     else if (paso == 23)
     {
         lbExplicacion.Text += "\nPor último construimos el racional simplificando numerador y denominador:";
         label2.Show();
         label2.Location = new Point(label1.Location.X, label1.Location.Y + label1.Height + 5);
         label2.Text     = new Racional(numerad, denominad).ToString();
         btContinuar.Hide();
         lbExplicacion.Focus();
     }
 }