domingo, 9 de octubre de 2011

Java básico aplicando el método de los 4 pasos.

Autor: Cristian Lara
Competencia: Desarrollo de Software

Descripción de la Actividad


Se  presentaron en clases los elementos básicos relacionados con el lenguaje de programación Java. En la presente actividad se busca  haber revisado la presentación publicada en la semana 1 (Presentación del curso y elementos base) y su comprensión, específicamente en lo que se refiere al Método de los 4 pasos para la resolución de problemas de programación, mas los ejercicios hechos en clases.


Solución




Paso 1: Ejemplos Entrada/Salida

5 ->[Proceso]-> v
A ->[Proceso]-> Error
-1 ->[Proceso]-> El numero es:
S ->[Proceso]-> Error
@@ ->[Proceso]-> Error
5+5->[Proceso]-> Error
0 ->[Proceso]-> El numero es:
1 ->[Proceso]-> I
20 20 ->[Proceso]-> XX
10A ->[Proceso]-> Error
3_3->[Proceso]-> Error
~.~ ->[Proceso]-> Error
NN ->[Proceso]-> Error
___->[Proceso]-> Error
!!!! ->[Proceso]-> Error

Paso 2: Análisis y Diseño

while(numero>0){
 
Una solución para este problema es que el numero ingresado por el usuario (numero) hacer un while donde (numero) sea mayor a 0





Para poder realizar el programa tube que tener varias cosas en cuenta por ejemplo:
En ningún número se puede poner una misma letra más de tres veces seguidas (XIII = 13;)
Si entre dos cifras cualesquiera existe otra menor, ésta restará su valor a la siguiente (XIX = 19;)



Paso 3: Especificación en DA



Paso 4: Implementación en Java

package numerosromano;

import java.io.*;
import java.util.*;

public class Numerosromano
{
    public static void main (String[]args)throws IOException{
    //variables a utilizar
    int miles;
    int centenas;
    int decenas;
    int unidades;
    int num;
    String numeroromano;
   
    System.out.println("Ingrese numero a convertir");

    Scanner leer = new Scanner(System.in);
    System.out.print("... ");
     try
    {  
        numeroromano = leer.nextLine();
        num = Integer.parseInt(numeroromano);
    }
    catch(NumberFormatException e)
    {
        System.out.println("ERROR");
       
        numeroromano = leer.nextLine();
        num = Integer.parseInt(numeroromano);
       
    }
            
  
    if((num>0)&&(num<5001))
    {
            //Calculo para poder llegar al resultado
        miles=num/1000;
        centenas=num/100;
        decenas=(num%100)/10;
        unidades=(num%100)%10;

        System.out.println();
        System.out.print(" En numeros romanos: ");

        switch(miles)//ocupamos pa variable miles
        {
            case 1:
            System.out.print("M");
            centenas=(num%1000)/100;
            break;
            case 2:
            System.out.print("MM");
            centenas=(num%1000)/100;
            break;
            case 3:
            System.out.print("MMM");
            centenas=(num%1000)/100;
            break;
            case 4:
            System.out.print("_IV_");
            centenas=(num%1000)/100;
        }

        switch(centenas)//ocupamos pa variable centenas
        {
            case 1:
            System.out.print("C");
            break;
            case 2:
            System.out.print("CC");
            break;
            case 3:
            System.out.print("CCC");
            break;
            case 4:
            System.out.print("CD");
            break;
            case 5:
            System.out.print("D");
            break;
            case 6:
            System.out.print("DC");
            break;
            case 7:
            System.out.print("DCC" );
            break;
            case 8:
            System.out.print("DCCC");
            break;
            case 9:
            System.out.print("CM");
            break;
        }
        switch(decenas)//ocupamos pa variable decenas
        {
            case 1:
            System.out.print("X");
            unidades=(num%100)%10;
            break;
            case 2:
            System.out.print("XX");
            unidades=(num%100)%10;
            break;
            case 3:
            System.out.print("XXX");
            unidades=(num%100)%10;
            break;
            case 4:
            System.out.print("XL");
            unidades=(num%100)%10;
            break;
            case 5:
            System.out.print("L");
            unidades=(num%100)%10;
            break;
            case 6:
            System.out.print("LX");
            unidades=(num%100)%10;
            break;
            case 7:
            System.out.print("LXX");
            unidades=(num%100)%10;
            break;
            case 8:
            System.out.print("LXXX");
            unidades=(num%100)%10;
            break;
            case 9:
            System.out.print("XC");
            unidades=(num%100)%10;
            break;
        }
        switch(unidades)//ocupamos pa variable unidades
        {
            case 1:
            System.out.print("I");
            break;
            case 2:
            System.out.print("II");
            break;
            case 3:
            System.out.print("III");
            break;
            case 4:
            System.out.print("IV");
            break;
            case 5:
            System.out.print("V");
            break;
            case 6:
            System.out.print("VI");
            break;
            case 7:
            System.out.print("VII");
            break;
            case 8:
            System.out.print("VIII");
            break;
            case 9:
            System.out.print("IX");
            break;
        }
     System.out.println();

   }
  }
}//fin de la clase

Captura de pantalla


Reflexión

En esta actividad aplique lo que previamente nos pasaron en clases complementándolo con recursos encontrados en Internet.

No hay comentarios:

Publicar un comentario