Ejercicio 6 — Calcular cantidad de horas y minutos

Introducción

Este es el ejer­ci­cio 6 de la serie de prob­le­mas bási­cos de pro­gra­mación en lengua­je C# para resolver en Uni­ty. En este prob­le­ma ten­emos como entra­da una can­ti­dad de min­u­tos y debe­mos con­ver­tir esta infor­ma­ción en una can­ti­dad de horas y los min­u­tos restantes.

Vídeo introductorio de la serie de ejercicios
🟢

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

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

MIRA ESTE DESCABELLADO EXPERIMENTO

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

El códi­go del algo­rit­mo que resuelve el prob­le­ma plantea­do debe ir den­tro de la fun­ción Algo­rit­moE­jer­ci­cio del Script cor­re­spon­di­ente, en este caso el script Ejercicio6. La fun­ción Algo­rit­moE­jer­ci­cio será eje­cu­ta­da al pul­sar el botón Eje­cu­tar Algo­rit­mo que hay en pantalla.

Lo que ten­emos que hac­er es tomar la entra­da ingre­sa­da por el usuario y con­ver­tir­la a un val­or numéri­co, de esta for­ma podremos hac­er opera­ciones matemáti­cas con ella. 

Una vez ten­emos el val­or ingre­sa­do que cor­re­sponde a la can­ti­dad total de min­u­tos, ten­emos que cal­cu­lar a cuan­tas horas equiv­ale y la can­ti­dad restante de minutos..

Luego defin­i­mos una vari­able tipo string lla­ma­da "resul­ta­do", gen­er­amos el men­saje de respues­ta con­ca­te­nan­do tex­tos jun­to con los val­ores cal­cu­la­dos y por últi­mo escribi­mos este resul­ta­do en pantalla.

Solución del ejercicio

El dato ingre­sa­do por el usuario estará alma­ce­na­do en las vari­able "dato1". Para con­ver­tir estas vari­ables tipo string a una vari­able tipo entera usamos la sigu­iente instrucción: 

int num1 = int.Parse(dato1);

De esta for­ma esta­mos definien­do una vari­able tipo int lla­ma­da num1 que se ini­cial­iza con el val­or de la entra­da con­ver­tido a int.

Es impor­tante aclarar que si el string dato1 no tiene for­ma­to numéri­co (por ejem­p­lo con­tiene letras), no se podrá hac­er la con­ver­sión y ten­dremos un error en tiem­po de eje­cu­ción. En este tipo de ejer­ci­cios se asume que la entra­da ingre­sa­da por el usuario estará en el for­ma­to correcto.

Aho­ra que hemos con­ver­tido el strings a int podemos hac­er cál­cu­los. Primero cal­cu­lam­os la can­ti­dad de horas toman­do la entra­da y dividién­dola por 60 (esto es así porque 60 min­u­tos equiv­alen a 1 hora), la parte entera de esta división será la can­ti­dad de horas. Esto lo podemos hac­er con la sigu­iente intrucción:

int h = num1 / 60;

Un dato intere­sante es que debido a que num1 y 60 son val­ores enteros, el resul­ta­do de la división será un val­or entero, aunque lo almacenemos en una vari­able tipo float. Osea que si real­izamos la operación 70 / 60 el resul­ta­do será 1.

Para cal­cu­lar los min­u­tos restantes hay que usar el oper­ador módu­lo (%), el cual vimos en el ejer­ci­cio 4 en el que deter­mi­namos si un número entero era par o impar. El oper­ador módu­lo nos dará el resto de la división, entonces podemos obten­er los min­u­tos restantes con la sigu­iente operación:

int m = num1 % 60;

Aho­ra que ten­emos cal­cu­ladas la can­ti­dad de horas y min­u­tos vamos a elab­o­rar el men­saje de respues­ta con­ca­te­nan­do un tex­to con los val­ores, esto lo podemos hac­er por ejem­p­lo con la sigu­iente instrucción:

string resul­ta­do = h.ToString() + " horas "+m.ToString()+ " min­u­tos";

Como vemos, en la instruc­ción ante­ri­or esta­mos con­vir­tien­do nue­va­mente los val­ores a string para poder concatenarlos.

Final­mente escribi­mos este resul­ta­do en el tex­to del Can­vas en pan­talla con la sigu­iente instrucción:

componenteTexto.text=resultado;

YouTube
Scroll al inicio
Secured By miniOrange