Ejercicio 6 – Calcular cantidad de horas y minutos

Introducción

Este es el ejercicio 6 de la serie de problemas básicos de programación en lenguaje C# para resolver en Unity. En este problema tenemos como entrada una cantidad de minutos y debemos convertir esta información en una cantidad de horas y los minutos restantes.

Vídeo introductorio de la serie de ejercicios
👉

POR FAVOR CONSIDERA SUSCRIBIRTE AL CANAL

Solución del ejercicio 6 en formato vídeo:

Solución del ejercicio 3
👉
Calcular la hipotenusa de un triángulo rectángulo

POR FAVOR CONSIDERA SUSCRIBIRTE AL CANAL

UNA BREVE INTERRUPCIÓN CON LAS ÚLTIMAS NOVEDADES

CONSIDERA SUSCRIBIRTE!


CONTINUAMOS CON EL ARTÍCULO

Descripción del problema y estrategia para la resolución

El código del algoritmo que resuelve el problema planteado debe ir dentro de la función AlgoritmoEjercicio del Script correspondiente, en este caso el script Ejercicio6. La función AlgoritmoEjercicio será ejecutada al pulsar el botón Ejecutar Algoritmo que hay en pantalla.

Lo que tenemos que hacer es tomar la entrada ingresada por el usuario y convertirla a un valor numérico, de esta forma podremos hacer operaciones matemáticas con ella.

Una vez tenemos el valor ingresado que corresponde a la cantidad total de minutos, tenemos que calcular a cuantas horas equivale y la cantidad restante de minutos..

Luego definimos una variable tipo string llamada «resultado», generamos el mensaje de respuesta concatenando textos junto con los valores calculados y por último escribimos este resultado en pantalla.

Solución del ejercicio

El dato ingresado por el usuario estará almacenado en las variable «dato1». Para convertir estas variables tipo string a una variable tipo entera usamos la siguiente instrucción:

int num1 = int.Parse(dato1);

De esta forma estamos definiendo una variable tipo int llamada num1 que se inicializa con el valor de la entrada convertido a int.

Es importante aclarar que si el string dato1 no tiene formato numérico (por ejemplo contiene letras), no se podrá hacer la conversión y tendremos un error en tiempo de ejecución. En este tipo de ejercicios se asume que la entrada ingresada por el usuario estará en el formato correcto.

Ahora que hemos convertido el strings a int podemos hacer cálculos. Primero calculamos la cantidad de horas tomando la entrada y dividiéndola por 60 (esto es así porque 60 minutos equivalen a 1 hora), la parte entera de esta división será la cantidad de horas. Esto lo podemos hacer con la siguiente intrucción:

int h = num1 / 60;

Un dato interesante es que debido a que num1 y 60 son valores enteros, el resultado de la división será un valor entero, aunque lo almacenemos en una variable tipo float. Osea que si realizamos la operación 70 / 60 el resultado será 1.

Para calcular los minutos restantes hay que usar el operador módulo (%), el cual vimos en el ejercicio 4 en el que determinamos si un número entero era par o impar. El operador módulo nos dará el resto de la división, entonces podemos obtener los minutos restantes con la siguiente operación:

int m = num1 % 60;

Ahora que tenemos calculadas la cantidad de horas y minutos vamos a elaborar el mensaje de respuesta concatenando un texto con los valores, esto lo podemos hacer por ejemplo con la siguiente instrucción:

string resultado = h.ToString() + » horas «+m.ToString()+ » minutos»;

Como vemos, en la instrucción anterior estamos convirtiendo nuevamente los valores a string para poder concatenarlos.

Finalmente escribimos este resultado en el texto del Canvas en pantalla con la siguiente instrucción:

componenteTexto.text=resultado;

Secured By miniOrange