Pregunta: | 49252 - COMO PUEDO CALCULAR LA DIFERENCIA HORARIA EN PASCAL |
Autor: | mary perez |
les cuento tengo que realizar un programa que dado dos horas de llegada, calcule la diferencia horaria entre esas dos horas, el problema es que las variables de las horas tienen que ser integer |
Respuesta: | Miguel Salas |
Tienes que repasar un poquito las operaciones sexagesimales (no confundir con la hexadecimal que es un sistema numérico), tendrás tambien que utilizar la división para números enteros (DIV y MOD) que te da como resultados el cociente y residuo respectivamente.
Puedes convertir la hora de llegada a un valor numérico entero único, lo que equivale a convertir una hora dada a segundos: Ejemplo: Hora de salida (hh:mm:ss): 10:45:13 = (10*3600)+(45*60)+13 = 38713 segundos Hora de llegada(hh:mm:ss): 13:12:25 = (13*3600)+(12*60)+25 = 47585 segundos De esta manera al mayor le restas el menor y te da 8832 y enseguida realizas las operaciones de manera inversa utilizando DIV y MOD 8832 DIV 3600 = 2 horas y sobran 8832 MOD 3600 = 1632 segundos ahora 1632 DIV 60 = 27 minutos y sobran 1632 MOD 60 = 12 segundos Por loq ue la diferencia es de 2 Horas 27 Minutos y1 2 Segundos Puedes comprobar tus resultados con exel, dandole el formato de horas a las celdas y restádolas como cualquier otro número, de hecho así maneja las horas y las fechas Excel Deseo sea de utilidad, hasta pronto...! |