Autor: Manuel Vidal Jaque
Competencia: Desarrollo de Software (Nivel 1): Desarrolla soluciones de software aplicando procesos de análisis, diseño y prueba a problemas simples; centrados en la programación, los datos y las Interfaces Humano/Computador (IHM).
Competencia: Desarrollo de Software (Nivel 1): Desarrolla soluciones de software aplicando procesos de análisis, diseño y prueba a problemas simples; centrados en la programación, los datos y las Interfaces Humano/Computador (IHM).
Palabras Clave: Programación, Java, BlueJ.
En esta entrada les mostrare el primer programa en java que tuve que implementar como respuesta a una actividad del ramo Programación 1. El programa que debí crear tenía que responder al siguiente enunciado:Crear un programa que haga la conversión de cierta cantidad de años a su equivalencia en las siguientes medidas de tiempo: Meses, Semanas, Días, Horas, Minutos, Segundos y Mili segundos.
Solución
Resolví el problema planteado utilizando un método de análisis de varios pasos: primero analice cuales eran los datos de entrada y salida para el programa, también desarrolle la solución usando un ejemplo concreto paso a paso y a partir del hice una generalización mediante un diagrama de flujo para finalmente implementar el programa en el lenguaje java.
Ejemplo 1:
Si se ingresan 2 años la salida debiera ser:
Meses | Semanas | Días | Horas | Minutos | Segundos | Milisegundos |
24 | 104 | 730 | 17532 | 1051920 | 63115200 | 63115200000 |
Ejemplo 2:
Si se ingresan 5 años las salidas debieran ser:
Meses | Semanas | Días | Horas | Minutos | Segundos | Milisegundos |
60 | 260 | 1825 | 43830 | 2629800 | 157788000 | 157788000000 |
Ejemplo 3:
Si se ingresaran 10 años las salidas debieran ser:
Meses | Semanas | Días | Horas | Minutos | Segundos | Milisegundos |
120 | 520 | 3650 | 87660 | 5259600 | 315576000 | 315576000000 |
Ejemplo 4 :
Si se ingresan 0,5 años las salidas debieran ser:
Meses | Semanas | Días | Horas | Minutos | Segundos | Milisegundos |
6 | 26 | 182,5 | 4383 | 262980 | 15778800 | 15778800000 |
Generalización con diagrama de flujo
Código Fuente de la Solución:
/**
* Programa que transforma una cantidad de años en otras unidades de tiempo.
*
* Autor: Manuel Vidal J.
* @Versión 24.03.2011
*/
import java.math.*;
import java.util.*;
public class Tiempo
{
static void main()
{
int meses, semanas, días, Hrs, min, s, n; // variables
// Entrada de datos
Scanner read= new Scanner(System.in);
System.out.println ("Ingrese cantidad de años a transformar (únicamente números enteros positivos o negativos)");
n= read.nextInt();
// proceso de transformación
if(n>=0){
meses= n*12;
semanas= n*52;
días= n*365;
Hrs= n*8766;
min= n*525960;
s= n*31557600;
// salida de datos
System.out.println("meses: "+meses);
System.out.println("días: "+días);
System.out.println("horas: "+Hrs);
System.out.println("minutos: "+min);
System.out.println("segundos: "+s);
}
else
System.out.println("datos ingresados no son validos");
}
}
Reflexión
Con esta actividad fue uno de mis primeros acercamientos a la programación en el lenguaje java y a la programación en general gracias a actividades aprendí el razonamiento que se debe llevar a cabo para programar y algunos métodos para analizar los problemas y ser capaz de llegar a la solución.
Los invito a comentar sus inquietudes o experiencias similares en sus inicios en la programación.

No hay comentarios:
Publicar un comentario