Está en la página 1de 4

PONTIFICIA

ESTUDIOS
UNIVERSIDAD
GENERALES
CATÓLICA
CIENCIAS
DEL PERÚ

FUNDAMENTOS DE PROGRAMACIÓN
LABORATORIO 3
SEMESTRE ACADÉMICO 2022-0

Horarios: 0321, 0322, 0323 y 0324 Duración: 80 minutos

Elaborado por Dr. Andrés Melgar

ADVERTENCIAS:
Es su responsabilidad verificar anticipadamente a la sesión, que el software que utilizará para desarrollar el laboratorio funcione adecua-
damente.

INDICACIONES:
Debe utilizar variables descriptivas, comentarios y mensajes descriptivos.
El orden y la eficiencia de su implementación serán considerados en la calificación.

RESULTADOS ESPERADOS:
Al finalizar la sesión, el alumno comprenderá el funcionamiento de la estructura algorı́tmica iterativa con entrada controlada.
Al finalizar la sesión, el alumno comprenderá el funcionamiento de la iteración controlada por contador.
Al finalizar la sesión, el alumno construirá programas usando la estructura algorı́tmica iterativa con entrada controlada.

CONSIDERACIONES ADICIONALES:
Si el archivo entregado en PAIDEIA no cumple exactamente con el nombre indicado en el enunciado de la pregunta se le corregirá sobre
la mitad del puntaje.
Si el archivo entregado en PAIDEIA no posee la extensión indicada en la pregunta (.c) no se corregirá el archivo entregado.
Si no realiza la entrega de su vı́deo de laboratorio en la tarea correspondiente del classroom no se corregirá el archivo entregado. No se
aceptará reclamos por entrega tardı́a del vı́deo, luego de colocarle 0 en su nota, argumentando que se olvidó de darle click en el botón
Entregar de Classroom. Es su responsabilidad asegurarse que el vı́deo se haya entregado correctamente, si tiene algún problema con la
entrega del vı́deo lo debe informar oportunamente y no de forma posterior al 0 obtenido.

Desarrolle el siguiente problema en lenguaje C:

1. ¿En qué hora ocurrió el evento?

El 28 de noviembre del 2021, el club Alianza Lima se coronó como campeón nacional de futbol de la Primera
División del Perú derrotando a uno de los mejores equipos de sudamérica, el Sporting Cristal. El partido final
quedó igualado cero a cero pero tuvo eventos interesantes. David, un entusiasta hincha blanquiazul, le comentaba
a Andrés los mejores momentos de dicho partido:

En el primer minuto hubo un córner para Sporting Cristal.

78 minutos después, fue expulsado Ricardo Lagos de Alianza Lima.

Luego, al minuto fue expulsado Marcos Riquelme de Sporting Cristal.

1INF01 Fundamentos de Programación Laboratorio 3 (2022-0) Página 1 de 4


A David le interesó saber a qué hora exactamente ocurrió cada uno de estos eventos. Él siempre sabe el inicio de
cada partido que su equipo y cada cuánto ocurre un evento tras otro. Con esto en mente decide implementar un
programa en lenguaje C que le permita determinar a qué hora ocurrieron determinados eventos en un partido de
futbol. El programa que implementó realiza lo siguiente:

Lee la hora del inicio del partido y verifica que dicha hora sea válida. Si la hora no es válida su programa
emite el mensaje La hora ingresada es incorrecta. La hora la lee usando el formato HH MM
SS, donde HH corresponde al componente hora, MM corresponde al minuto y SS corresponde al segundo.
En la verificación de la hora, David verifica que tanto el componente de horas, minutos y segundos sean
mayores que cero, además que las horas no excedan al valor 23 y los minutos y segundos no excedan al
valor 59.
Lee la cantidad de eventos para los cuales desea determinar la hora exacta en que ocurre. David sabe que
por lo menos debe determinar la hora de un evento por lo que verifica que la cantidad ingresada sea mayor
que cero. Si el usuario no ingresa un dato que verifique esta condición, emite el mensaje La cantidad
de eventos debe ser mayor que cero.
Luego de leer los datos y pasar por el proceso de validación, el programa realiza la lectura de cada uno de los
eventos. Para cada evento lee en qué tiempo ocurrió. Por ejemplo para el evento En el primer minuto
hubo un córner para Sporting Cristal, se ingresarı́a el valor de 1 para el tiempo, para el
evento 78 minutos después, fue expulsado Ricardo Lagos de Alianza Lima, se in-
gresarı́a el valor de 78 para el tiempo, para el evento Luego, al minuto fue expulsado Marcos
Riquelme de Sporting Cristal se ingresarı́a el valor de 1 para el tiempo. El tiempo debe tener un
valor mayor que cero.
Luego es esto, lee la unidad del tiempo pues un evento puede ocurrir luego de un cantidad determinada de
segundos, minutos u horas inclusive. La unidad que se lee solo puede ser o H o M o S. El programa de David
solo acepta la unidad en letras mayúsculas, no reconoce las letras minúsculas.
Si el tiempo ingresado o la magnitud ingresada son incorrectas, el programa emite el siguiente mensaje Los
datos ingresados son incorrectos, no se considerará este evento.
Con toda la información ya ingresada, el programa calcula la hora exacta en que ocurre cada evento. Para
esto debe sumar horas o minutos o segundos a la hora de inicio del partido. El programa verifica que la hora
del evento sea una hora válida en el formato HH MM SS que se usó para el ingreso de los datos. Para cada
evento imprime la hora exacta en que ocurre.

Se le pide que elabore un programa en lenguaje C que implemente las caracterı́sticas descritas anteriormente.
A continuación se muestra unos ejemplos de ejecución como casos de prueba:
Caso de Prueba 1:

Ingrese hora del inicio del partido (HH MM SS): 15 00 00


Ingrese cantidad de eventos: 3

El evento 1 ocurrió a los: 1


Indique unidad (H/M/S): M
El evento 1 ocurrió a las 15:01:00 horas

El evento 2 ocurrió a los: 78


Indique unidad (H/M/S): M
El evento 2 ocurrió a las 16:19:00 horas

El evento 3 ocurrió a los: 1


Indique unidad (H/M/S): M
El evento 3 ocurrió a las 16:20:00 horas

Caso de Prueba 2:

1INF01 Fundamentos de Programación Laboratorio 3 (2022-0) Página 2 de 4


Ingrese hora del inicio del partido (HH MM SS): 23 00 00
Ingrese cantidad de eventos: 3

El evento 1 ocurrió a los: 45


Indique unidad (H/M/S): M
El evento 1 ocurrió a las 23:45:00 horas

El evento 2 ocurrió a los: 90


Indique unidad (H/M/S): S
El evento 2 ocurrió a las 23:46:30 horas

El evento 3 ocurrió a los: 45


Indique unidad (H/M/S): M
El evento 3 ocurrió a las 00:31:30 horas

Caso de Prueba 3:

Ingrese hora del inicio del partido (HH MM SS): 14 00 00


Ingrese cantidad de eventos: 5

El evento 1 ocurrió a los: 10


Indique unidad (H/M/S): M
El evento 1 ocurrió a las 14:10:00 horas

El evento 2 ocurrió a los: 54


Indique unidad (H/M/S): S
El evento 2 ocurrió a las 14:10:54 horas

El evento 3 ocurrió a los: 1


Indique unidad (H/M/S): H
El evento 3 ocurrió a las 15:10:54 horas

El evento 4 ocurrió a los: 75


Indique unidad (H/M/S): M
El evento 4 ocurrió a las 16:25:54 horas

El evento 5 ocurrió a los : 200


Indique unidad (H/M/S): S
El evento 5 ocurrió a las 16:29:14 horas

Caso de Prueba 4:

Ingrese hora del inicio del partido (HH MM SS): 12 00 00


Ingrese cantidad de eventos: 3

El evento 1 ocurrió a los: 2


Indique unidad (H/M/S): M
El evento 1 ocurrió a las 12:02:00 horas

El evento 2 ocurrió a los: 10


Indique unidad (H/M/S): R
Los datos ingresados son incorrectos, no se considerará este evento.

El evento 3 ocurrió a los: 10


Indique unidad (H/M/S): S
El evento 3 ocurrió a las 12:02:10 horas

Caso de Prueba 5:

Ingrese hora del inicio del partido (HH MM SS): 25 56 00


Ingrese cantidad de eventos: 3

1INF01 Fundamentos de Programación Laboratorio 3 (2022-0) Página 3 de 4


La hora ingresada es incorrecta

Caso de Prueba 6:

Ingrese hora del inicio del partido (HH MM SS): 15 00 00


Ingrese cantidad de eventos: 0

La cantidad de eventos debe ser mayor que cero

Debe usar estructuras algorı́tmicas iterativas con entrada controlada por contador y estructuras selectivas
simples, dobles o selectivas anidadas.

No debe usar programación modular, ni iterativas anidadas.


Grabe el archivo con el nombre L3 codigoalumno.c, en caso no cumpla exactamente el formato indicado se le
corregirá sobre la mitad del puntaje.
Recuerde que debe explicar la solución, de ambas preguntas, de forma oral mientras las desarrolla y no al
final. Esta explicación será revisada en el vı́deo que entregará y forma parte de la rúbrica de calificación
En el desarrollo de los programas debe añadir comentarios que expliquen lo desarrollado. Coloque en co-
mentarios, su nombre y su código antes del programa principal.
Coloque los archivos en la misma tarea en PAIDEIA de la cual obtuvo este documento.

1INF01 Fundamentos de Programación Laboratorio 3 (2022-0) Página 4 de 4

También podría gustarte