Skip to content

Tarea: Hora de llegada

Tema: Resolución de problemas secuenciales (4.1.2)

Instrumento: Hoja de trabajo de propuesta algorítmica


CampoInformación
Nombre
Grupo
Fecha
EjercicioHora de llegada

Una línea de autobuses quiere mostrar en su pantalla de andén la hora estimada de llegada de cada corrida.

El operador proporciona la hora de salida (hora y minutos, en formato de 24 horas) y la duración estimada del viaje en minutos. El algoritmo debe mostrar la hora de llegada en formato de 24 horas.

Ejemplo: un autobús que sale a las 22:45 y viaja 150 minutos llega a la 1:15 del día siguiente.

Restricciones:

  • La hora de salida es un entero de 0 a 23.
  • Los minutos de salida son un entero de 0 a 59.
  • La duración es un entero mayor que cero.

Realiza el análisis, desarrolla el pseudocódigo, escribe la pantalla esperada, haz la prueba de escritorio y verifica en PSeInt, completando las secciones 1 a 7.

Utiliza la notación de la materia:

ElementoNotación
Inicio y finInicio … Fin
TiposENTERO, REAL, CADENA, CARACTER, LOGICO
VariablescamelCase
ConstantesSCREAMING_SNAKE_CASE
EntradaEntrada: (precedida por un mensaje de solicitud)
SalidaMostrar
Asignación=
División enteratrunc(<expresión>)
Residuo%

Pista: convierte primero la hora de salida a “minutos desde la medianoche”. Después suma la duración y descompón el resultado.


¿Qué problema debo resolver?


¿Qué resultado debo obtener?


DatoTipoDescripción
ResultadoTipoDescripción
DatoValorDescripción

¿Qué operación hace que, después de las 23 horas, el reloj vuelva a 0?



IdentificadorTipoValor
IdentificadorTipo
Inicio
Fin

Escribe exactamente lo que verá el operador con el caso que cruza la medianoche (salida 22:45, duración 150), incluidos los mensajes de solicitud.

CasoHora salidaMinutos salidaDuraciónLlegada esperadaLlegada obtenida¿Coincide?
Normal810358:45
Cruza la medianoche22451501:15
Exactamente medianoche235910:00
Cambio de hora exacto14303015:00

Si algún resultado no coincide, indica qué corregiste:


Realiza esta sección después de terminar el pseudocódigo (sección 4) y su prueba (sección 6).

PseudocódigoPSeInt
Inicio … FinAlgoritmo HoraLlegada … FinAlgoritmo
ENTERO horaSalidaDefinir horaSalida Como Entero
ENTERO MINUTOS_HORA = 60 (constante)Definir MINUTOS_HORA Como Entero y después MINUTOS_HORA = 60
Entrada: horaSalidaLeer horaSalida
Mostrar "Llegada: ", horaLlegada, ":", minutoLlegadaEscribir "Llegada: ", horaLlegada, ":", minutoLlegada
trunc(...), %trunc(...), % (igual)

Configura PSeInt con el perfil Flexible.

Algoritmo HoraLlegada
FinAlgoritmo
CasoLlegada esperadaPantalla obtenida en PSeInt¿Coincide?
Normal8:45
Cruza la medianoche1:15
Exactamente medianoche0:00
Cambio de hora exacto15:00

En el caso “Exactamente medianoche”, ¿PSeInt muestra 0:00 o 0:0? Si muestra 0:0, ¿qué tendría que decidir el algoritmo para mostrar siempre dos cifras en los minutos?



Modifica el algoritmo para que también indique cuántos días después de la salida llega el autobús (0 si llega el mismo día, 1 si llega al día siguiente). Resuélvelo sin estructuras condicionales.


RepresentaciónRequerida
PseudocódigoSí (sección 4)
Pantalla esperadaSí (sección 5)
Diagrama de flujoNo
Traducción y ejecución en PSeIntSí: traducción (7.1), comparación (7.2) y observación (7.3)
OtraAnálisis y diseño de los datos (secciones 1 a 3)

Esta hoja con las secciones 1 a 7 completas.

Fecha y medio de entrega: los indica el profesor.