jueves, 10 de noviembre de 2011

Laboratorio Decisiones Anidadas

Autor: Felipe Andres Lagos Morapasten
Competencia: Aplica las Ciencias de la ingeniería. (Nivel 1)
Palabras Clave: Programación I, Java, if anidados, Scanner.
Descripción de la Actividad

Reanudando, quiero nuevamente compartir con ustedes mi experiencia con las decisiones anidadas en Java que he realizado corresponde al curso Programación I, este programa que realizó para “familiarizarse” con las decisiones ( if), bueno el programa consta de pedir una hora por teclado al usuario y a esta hora ingresada sumarle un segundo, esto puede provocar cambios, variaciones en los minutos y segundos, que veremos más adelante.
Solución

Lo primero para la programación de este problema es hacer el pseudocódigo que nos dará la resolución ideal de la actividad, que luego se lleva, traspasa al código fuente en Java con una mayor claridad por parte del programador.
Pseudocódigo.

Declarar las variables para la hora, minuto, segundo.
Declarar el escáner.
Pedir que el usuario ingrese tres valores enteros ( hora, minuto y segundo).
Mostrar los valores que ingresó el usuario.
Sumar uno a los segundos.
Si ( segundos es mayor que 59)
   { Segundos=0;
     Sumar uno a los minutos
      Si (los minutos es mayor que 59)
        {  minutos=0
           Sumar uno a la hora
           Si la hora es mayor que 23
           { Hora=0;}
        }
    }
Mostrar la nueva hora ya sumada. 


Ejemplo paso a paso


Entrada : Números Enteros.

Hora=11;
Minutos=45;
Segundos=59

Proceso:

Sumar uno a los segundos
Segundos=60;
¿Los segundos son igual o mayor que 60?
Si, los segundos serán 0 y se le suma uno a los minutos
Minutos=46;
¿Los minutos son mayor o igual que 60?
No
Hora=11;

Salida: Un mensaje en pantalla, con numeros enteros
Mostrar la nueva hora: 11.46.0


  Como se puede apreciar se le ha sumado un segundo a la hora.

Código del laboratorio de if anidados en Java.

import java.util.Scanner;
public class LabPrograI {

    public static void main(String[] args) {
        int hora, minuto, segundo;
        Scanner leer = new Scanner(System.in);
        System.out.print("Ingrese la hora :");
        hora = leer.nextInt();
        System.out.print("Ingrese también el minuto :");
        minuto = leer.nextInt();
        System.out.print("Y por último el segundo :");
        segundo = leer.nextInt();
        System.out.println("Ahora se le sumará un 1 segundo a la hora ingresada");
        System.out.print("Hora ingresada: " + hora + "." + minuto + "." + segundo);
        System.out.println("");

        segundo++; // Sumar un segundo a lo que el usuario ingresó
        if (segundo >= 60) { // Si el segundo es mayor o igual que 60
            segundo = 0;
            minuto++; // Se suma uno a los minutos
            if (minuto >= 60) { // Si los minutos son mayor o igual que 60
                minuto = 0;
                hora++; // Se le suma uno a la hora
                if (hora > 23) { // Si la hora es mayor a 23
                    hora = 0; // Hora es igual a 0

                } // Cierre if de la hora
            }// Cierre if del minuto
          } // Cierre if del segundo
        System.out.println("La nueva hora es :" + hora + "." + minuto + "." + segundo);
    }// Cierre metodo main
} // Cierre Clase  

 Se puede destacar de este código fuente el ingreso de datos enteros por parte del usuario mediante el escáner que corresponden a la hora, minuto y segundo. Agregando el uso de decisiones anidadas donde la primera decisión es importante para ver si se efectúan las demás decisiones siguientes.

Captura en Pantalla sobre la Aplicación:
 
En esta imagen al agregar un segundo, sufrió variaciones de incremento los minutos y también la hora.

 
En esta otra imagen al agregar un segundo, solo sufrió variaciones de incremento los minutos, la hora se mantuvo.
Reflexión



  Para ser mi primera experiencias con las decisiones anidadas( if) me tomé más tiempo analizar este problema ya que me tuve que poner a pensar en todas las situaciones de las decisiones como cuando la hora es 15.59.59, que pasaba cuando se le suma un segundo, que ocurre con la hora y minutos, entre otras situaciones. 

  Te invito a que si tienes dudas o quieres complementar esta actividades mediante opiniones, otras informaciones no tengas miedo de emitir tus comentarios, a participar donde cada comentario hará que se haga más interactivo este espacio.

No hay comentarios:

Publicar un comentario