Programa 3

   a) Planteamiento del problema
      Pedir un número de 0 a 99 y mostrarlo escrito. Por ejemplo, para 56 mostrar: cincuenta y seis.

b) Análisis de datos (datos de: entrada / salida, condiciones y diccionario de
Datos).


Primero le pido un valor de entrada al (Num) usuario después, la primera condicionante que tengo es que el
valor tiene que ser mayor o igual a cero y luego que sea menor o igual a 99, luego los primeros números si se
deben escribir porque son únicos del 1 al 15 entonces pongo 15 condicionantes
si Num=1 se imprime “uno”
si Num=2 se imprime “dos”
………
……
..
Si Num=15 se imprime “quince”

 Después, separamos los dígitos del número en decenas y unidades ya que solo estos pueden contener por
ser un número entre 0 y 99, los separamos de la siguiente manera
Valor1= Num mod 10
Valor2=Num – Valor1
Valor3= Valor2/10
De tal manera que el Valor1 son las unidades y el Valor3 son las decenas
Después sigue una serie de condiciones donde dice que si decenas es igual a uno y unidad es cero
Se imprime 10
Pero si decena es 10 y unidad es 6 se imprime 16
………….
…………..
Si decena es igual a 2 y unidad es igual a cero se imprime veinte
Si decena es igual a 2 y unidad es igual a uno se imprime veintiuno
…..
Hasta llegar a la decena 9 y unidad 9 que es noventa y nueve

DICCIONARIO
Num= dato entero que ingresara el ususario
Valor1= para obtener el residuo de las decenas y obtener las unidades
Valor2= obtener un numero que al dividir entre 10 no sea decimal
Valor3= decenas
b) Diseño de solución (Diagrama de flujo usando el programa DFD)




c) Prueba de escritorio.

   Num= 11
   Num>=0     SI
   Num<=99    SI
   Num=1      NO
   Num=2      NO
   Num=3      NO
   Num=4      NO
   Num=5      NO
   Num=6      NO
   Num=7      NO
   Num=8      NO
   Num=9      NO
   Num=10      NO
   Num=11      SI
   “ONCE”




d) Programa fuente (codificación en java)
   /*
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    */
   package ejercicio.pkg3;

   /**
*
 * @author Eduardo Avila
 */
import javax.swing.*;
public class Ejercicio3 {

  /**
   * @param args the command line arguments
   */
  public static void main(String[] args) {
      // TODO code application logic here
  int Num, valor1, valor2, valor3;
    java.lang.String r1 = null,r3 = null;
  Num=Integer.parseInt(JOptionPane.showInputDialog(null, "Dame un numero del 1 al 99"));
  if(Num>0)
  {
      if(Num<100)
      {
        if(Num>15)
        {
           valor1= Num%10;
           valor2=Num-valor1;
           valor3= valor2/10;
           if(valor3==1)
           {
              if(valor1==0)
              {
                  r1= "Diez";
              }
              else
                  r1= "Dieci";
           }
           else
               if(valor3==2)
               {
                   if(valor1==2)
                   {
                       r1= "Veinte";
                   }
               else
                       r1= "Veinti";
               }
           else
                   if(valor3==3)
                   {
                       if(valor1==0)
                       {
                           r1= "Treinta";
                       }
                       else
                           r1= "Treinta y ";
}
       else
          if(valor3==4)
              {
                 if(valor1==0)
                 {
                     r1= "Cuarenta";
                 }
              else
                     r1= "Cuarenta y ";
              }
else
            if(valor3==5)
            {
                if(valor1==0)
                {       r1= "Cincuenta";


              }
              else
         r1= "Cincuenta y ";

            }
else
                if(valor3==6)
                {
                    if(valor1==0)
                    {
                        r1= "Sesenta";
                    }
                    else
                        r1="Sesenta y ";
                }
else
                  if(valor3==7)
                  {
                      if(valor1==0)
                      {
                          r1= "Setenta";
                      }
                  else
                          r1= "Setenta y ";
                  }
else
                     if(valor3==8)
                     {
                         if(valor1==0)
                         {
                             r1= "Ochenta" ;
                         }
                         else
r1= "Ochenta y ";
                       }
else
                           if(valor3==9)
                           {
                               if(valor1==0)
                               {
                                   r1="Noventa";
                               }
                               else
                                    r1 = "Noventa y ";
                           }
if(valor1==9)
{
    r3="nueve";
}
else
    if(valor1==8)
    {
        r3="ocho";
    }
else
        if(valor1==7)
        {
            r3="siete";
        }
else
            if(valor1==6)
            {
                r3="seis";
            }
else
                if(valor1==5)
                {
                    r3="cinco";
                }
                    else
                    if(valor1==4)
                    {
                        r3="cuatro";
                    }
else
                        if(valor1==3)
                        {
                            r3="tres";
                        }
else
                            if(valor1==2)
                            {
                                r3="dos";
                            }
else
                         if(valor1==1)
                         {r3="uno";

                      }
     JOptionPane.showMessageDialog(null, "Numero: "+r1+r3);
}


else
   if(Num==9)
   {
      JOptionPane.showMessageDialog(null, "Nueve");

   }
else
    if(Num==8)
   {
       JOptionPane.showMessageDialog(null, "Ocho");

   }
else
          if(Num==7)
     {
         JOptionPane.showMessageDialog(null, "Siete");

   }
if(Num==6)
   {
     JOptionPane.showMessageDialog(null, "Seis");

  }
else
    if(Num==5)
  {
      JOptionPane.showMessageDialog(null, "Cinco");

  }
else
            if(Num==4)
     {
         JOptionPane.showMessageDialog(null, "Cuatro");

      }
    if(Num==3)
      {
        JOptionPane.showMessageDialog(null, "Tres");

     }
    if(Num==2)
     {
JOptionPane.showMessageDialog(null, "Dos");

           }
          else
             if(Num==1)
           {
             JOptionPane.showMessageDialog(null, "Uno");

           }
          else
                  if(Num==10)
           {
                JOptionPane.showMessageDialog(null, "Diez");

           }
          else
                     if(Num==11)
           {
                JOptionPane.showMessageDialog(null, "Once");

           }
           if(Num==12)
           {
              JOptionPane.showMessageDialog(null, "Doce");

           }
            if(Num==13)
           {
               JOptionPane.showMessageDialog(null, "Trece");

           }
               if(Num==14)
           {
                JOptionPane.showMessageDialog(null, "Catorce");

           }
               if(Num==15)
           {
                JOptionPane.showMessageDialog(null, "Quince");

             }
          }
        else
            JOptionPane.showMessageDialog(null, "Tiene que ser un numero menor o igual a 99");
    }
    else
       JOptionPane.showMessageDialog(null, "Tiene que ser un numero positivo");

    }

}
f) Depuración.- La forma de comprobar que su programa es funcional será
imprimiendo sus pantallas de salida, las cuales deberán estar previamente
diseñadas con presentación en su JOptionPane ver material de clases.




g) Conclusión de su práctica.

Este es el programa que considero que mas trabajo dio por que se requiere un gran nivel de abstracción, para
tener el cuenta cada una de las condiciones, ya que todo el programa esta basado en condiciones.

Programa 3

  • 1.
    Programa 3 a) Planteamiento del problema Pedir un número de 0 a 99 y mostrarlo escrito. Por ejemplo, para 56 mostrar: cincuenta y seis. b) Análisis de datos (datos de: entrada / salida, condiciones y diccionario de Datos). Primero le pido un valor de entrada al (Num) usuario después, la primera condicionante que tengo es que el valor tiene que ser mayor o igual a cero y luego que sea menor o igual a 99, luego los primeros números si se deben escribir porque son únicos del 1 al 15 entonces pongo 15 condicionantes si Num=1 se imprime “uno” si Num=2 se imprime “dos” ……… …… .. Si Num=15 se imprime “quince” Después, separamos los dígitos del número en decenas y unidades ya que solo estos pueden contener por ser un número entre 0 y 99, los separamos de la siguiente manera Valor1= Num mod 10 Valor2=Num – Valor1 Valor3= Valor2/10 De tal manera que el Valor1 son las unidades y el Valor3 son las decenas Después sigue una serie de condiciones donde dice que si decenas es igual a uno y unidad es cero Se imprime 10 Pero si decena es 10 y unidad es 6 se imprime 16 …………. ………….. Si decena es igual a 2 y unidad es igual a cero se imprime veinte Si decena es igual a 2 y unidad es igual a uno se imprime veintiuno ….. Hasta llegar a la decena 9 y unidad 9 que es noventa y nueve DICCIONARIO Num= dato entero que ingresara el ususario Valor1= para obtener el residuo de las decenas y obtener las unidades Valor2= obtener un numero que al dividir entre 10 no sea decimal Valor3= decenas
  • 2.
    b) Diseño desolución (Diagrama de flujo usando el programa DFD) c) Prueba de escritorio. Num= 11 Num>=0 SI Num<=99 SI Num=1 NO Num=2 NO Num=3 NO Num=4 NO Num=5 NO Num=6 NO Num=7 NO Num=8 NO Num=9 NO Num=10 NO Num=11 SI “ONCE” d) Programa fuente (codificación en java) /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package ejercicio.pkg3; /**
  • 3.
    * * @authorEduardo Avila */ import javax.swing.*; public class Ejercicio3 { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here int Num, valor1, valor2, valor3; java.lang.String r1 = null,r3 = null; Num=Integer.parseInt(JOptionPane.showInputDialog(null, "Dame un numero del 1 al 99")); if(Num>0) { if(Num<100) { if(Num>15) { valor1= Num%10; valor2=Num-valor1; valor3= valor2/10; if(valor3==1) { if(valor1==0) { r1= "Diez"; } else r1= "Dieci"; } else if(valor3==2) { if(valor1==2) { r1= "Veinte"; } else r1= "Veinti"; } else if(valor3==3) { if(valor1==0) { r1= "Treinta"; } else r1= "Treinta y ";
  • 4.
    } else if(valor3==4) { if(valor1==0) { r1= "Cuarenta"; } else r1= "Cuarenta y "; } else if(valor3==5) { if(valor1==0) { r1= "Cincuenta"; } else r1= "Cincuenta y "; } else if(valor3==6) { if(valor1==0) { r1= "Sesenta"; } else r1="Sesenta y "; } else if(valor3==7) { if(valor1==0) { r1= "Setenta"; } else r1= "Setenta y "; } else if(valor3==8) { if(valor1==0) { r1= "Ochenta" ; } else
  • 5.
    r1= "Ochenta y"; } else if(valor3==9) { if(valor1==0) { r1="Noventa"; } else r1 = "Noventa y "; } if(valor1==9) { r3="nueve"; } else if(valor1==8) { r3="ocho"; } else if(valor1==7) { r3="siete"; } else if(valor1==6) { r3="seis"; } else if(valor1==5) { r3="cinco"; } else if(valor1==4) { r3="cuatro"; } else if(valor1==3) { r3="tres"; } else if(valor1==2) { r3="dos"; }
  • 6.
    else if(valor1==1) {r3="uno"; } JOptionPane.showMessageDialog(null, "Numero: "+r1+r3); } else if(Num==9) { JOptionPane.showMessageDialog(null, "Nueve"); } else if(Num==8) { JOptionPane.showMessageDialog(null, "Ocho"); } else if(Num==7) { JOptionPane.showMessageDialog(null, "Siete"); } if(Num==6) { JOptionPane.showMessageDialog(null, "Seis"); } else if(Num==5) { JOptionPane.showMessageDialog(null, "Cinco"); } else if(Num==4) { JOptionPane.showMessageDialog(null, "Cuatro"); } if(Num==3) { JOptionPane.showMessageDialog(null, "Tres"); } if(Num==2) {
  • 7.
    JOptionPane.showMessageDialog(null, "Dos"); } else if(Num==1) { JOptionPane.showMessageDialog(null, "Uno"); } else if(Num==10) { JOptionPane.showMessageDialog(null, "Diez"); } else if(Num==11) { JOptionPane.showMessageDialog(null, "Once"); } if(Num==12) { JOptionPane.showMessageDialog(null, "Doce"); } if(Num==13) { JOptionPane.showMessageDialog(null, "Trece"); } if(Num==14) { JOptionPane.showMessageDialog(null, "Catorce"); } if(Num==15) { JOptionPane.showMessageDialog(null, "Quince"); } } else JOptionPane.showMessageDialog(null, "Tiene que ser un numero menor o igual a 99"); } else JOptionPane.showMessageDialog(null, "Tiene que ser un numero positivo"); } }
  • 8.
    f) Depuración.- Laforma de comprobar que su programa es funcional será imprimiendo sus pantallas de salida, las cuales deberán estar previamente diseñadas con presentación en su JOptionPane ver material de clases. g) Conclusión de su práctica. Este es el programa que considero que mas trabajo dio por que se requiere un gran nivel de abstracción, para tener el cuenta cada una de las condiciones, ya que todo el programa esta basado en condiciones.