Está en la página 1de 7

UNIVERSIDAD DE GUADALAJARA

Centro Universitario de Ciencias Exactas e Ingenierías


División de Electrónica y Computación

CÁTEDRA DE PROGRAMACIÓN
Profesor M. en C. Ing. Luis Alberto Muñoz Gómez
Actividad VII. Control de Flujo del Programa – Selección y Validación

Objetivo: Aplicar las estructuras se control selectivas para la validación de datos de


entrada.

Descripción

Capturar del usuario los datos necesarios para alimentar al sistema, a continuación validarlos al
interior de los métodos setters usando las estructuras de selección simple y doble; en caso necesario
efectuar procesamiento de información dentro y/o fuera de métodos; finalmente mostrar una
retroalimentación simple a la consola y en su caso el resultado de cálculos con lo obtenido de los
métodos getters.

Problema

A partir de analizar los trabajos de sus compañeros de equipo de las actividades anteriores,
efectuará las modificaciones en el diseño de sus actividades documento previas a esta, en base a lo
visto en las de sus compañeros.

Modificar el documento que contenga los diagramas de clases UML, para cada una de las clases
que se consideren necesarias a incorporar o modificar en el programa según el párrafo siguiente.

En cuanto al programa, se requiere la evolución del de la actividad anterior, logrando ahora que el
programa incorpore validación al interior de los métodos “fija” y algunas validaciones para determinar
resultados de cómputos en el programa como se describe en párrafos siguientes.

Además en el programa, se requiere del cómputo de los evaluandos de solo una materia y el
porcentaje de asistencia a clase para determinar si se aprueba cada curso. La forma como queda
establecida la evaluación es la siguiente:

…en cuanto a porcentajes:


• 7% tareas
• 63% actividades
• 30% exámenes parciales
• 80% asistencia mínima al curso
…en cuanto a calificación:
• máxima 100
• mínima 60

…en cuanto a contabilidad para cada uno de los evaluandos, como máximos son:

• total de asistencias al curso 34


• retardos por falta 3
• total de tareas 10
• total de actividades 9
• total de exámenes parciales 3

La información requerida es la siguiente:

• cantidad de faltas a clase


• cantidad de retardos a clase
• cantidad de tareas realizadas
• calificación en cada actividad
• calificación en cada examen parcial

En base al cómputo de los datos obtenidos, la información presentada como salida sea la siguiente:

• puntos finales por tareas


• puntos finales por actividades
• puntos finales por exámenes
• calificación final
• asistencias a clase
• porcentaje de asistencias a clase
• la afirmación de si tiene o no derecho a ordinario
• la afirmación de si cuenta o no con calificación aprobatoria
• la afirmación de si aprueba o no el curso (para aprobar el curso se requiere contar con ambos
derecho a ordinario y calificación aprobatoria)
La ejecución del programa sea como sigue:

Evaluador del Curso v1.0 - Programación (PRO) MJ 7a9

Cuántas faltas acumulaste? 0


Cuántos retardos acumulaste? 0
Cuántas tareas realizaste? 10
Cuánto obtuviste en la actividad #1? 100
Cuánto obtuviste en la actividad #2? 100
Cuánto obtuviste en la actividad #3? 100
Cuánto obtuviste en la actividad #4? 100
Cuánto obtuviste en la actividad #5? 100
Cuánto obtuviste en la actividad #6? 100
Cuánto obtuviste en la actividad #7? 100
Cuánto obtuviste en la actividad #8? 100
Cuánto obtuviste en la actividad #9? 100
Cuánto obtuviste en el primer examen parcial? 100
Cuánto obtuviste en el segundo examen parcial? 100
Cuánto obtuviste en el tercer examen parcial? 100
Tareas Actividades Exámenes
7.00 63.00 30.00
Total de asistencias= 34.00
Porcentaje de asistencias= 100.00 Tiene derecho
Calificación Final= 100.00 Calificación aprobatoria
Alumn@ aprobad@!
Presione entrar para terminar . . .

…o bien, un segundo caso de prueba:


Evaluador del Curso v1.0 - Programación (PRO) MJ 7a9

Cuántas faltas acumulaste? 1


Cuántos retardos acumulaste? 2
Cuántas tareas realizaste? 9
Cuánto obtuviste en la actividad #1? 100
Cuánto obtuviste en la actividad #2? 90
Cuánto obtuviste en la actividad #3? 95
Cuánto obtuviste en la actividad #4? 100
Cuánto obtuviste en la actividad #5? 90
Cuánto obtuviste en la actividad #6? 95
Cuánto obtuviste en la actividad #7? 100
Cuánto obtuviste en la actividad #8? 95
Cuánto obtuviste en la actividad #9? 100
Cuánto obtuviste en el primer examen parcial? 100
Cuánto obtuviste en el segundo examen parcial? 95
Cuánto obtuviste en el tercer examen parcial? 100
Tareas Actividades Exámenes
6.30 60.55 29.50
Total de asistencias= 32.33
Porcentaje de asistencias= 95.10 Tiene derecho
Calificación Final= 96.35 Calificación aprobatoria
Alumn@ aprobad@
Presione entrar para terminar . . .
…o tal vez:
Evaluador del Curso v1.0 - Programación (PRO) MJ 7a9

Cuántas faltas acumulaste? 6


Cuántos retardos acumulaste? 3
Cuántas tareas realizaste? 6
Cuánto obtuviste en la actividad #1? 60
Cuánto obtuviste en la actividad #2? 61
Cuánto obtuviste en la actividad #3? 62
Cuánto obtuviste en la actividad #4? 63
Cuánto obtuviste en la actividad #5? 64
Cuánto obtuviste en la actividad #6? 65
Cuánto obtuviste en la actividad #7? 66
Cuánto obtuviste en la actividad #8? 67
Cuánto obtuviste en la actividad #9? 68
Cuánto obtuviste en el primer examen parcial? 69
Cuánto obtuviste en el segundo examen parcial? 70
Cuánto obtuviste en el tercer examen parcial? 71
Tareas Actividades Exámenes
4.20 40.32 21.00
Total de asistencias= 27.00
Porcentaje de asistencias= 79.41 No tiene derecho
Calificación Final= 65.52 Calificación aprobatoria
Alumn@ no aprobad@
Presione entrar para terminar . . .

…o quizás:
Evaluador del Curso v1.0 - Programación (PRO) MJ 7a9

Cuántas faltas acumulaste? 3


Cuántos retardos acumulaste? 4
Cuántas tareas realizaste? 5
Cuánto obtuviste en la actividad #1? 50
Cuánto obtuviste en la actividad #2? 51
Cuánto obtuviste en la actividad #3? 52
Cuánto obtuviste en la actividad #4? 53
Cuánto obtuviste en la actividad #5? 54
Cuánto obtuviste en la actividad #6? 55
Cuánto obtuviste en la actividad #7? 56
Cuánto obtuviste en la actividad #8? 57
Cuánto obtuviste en la actividad #9? 58
Cuánto obtuviste en el primer examen parcial? 55
Cuánto obtuviste en el segundo examen parcial? 56
Cuánto obtuviste en el tercer examen parcial? 57
Tareas Actividades Exámenes
3.50 34.02 16.80
Total de asistencias= 29.67
Porcentaje de asistencias= 87.25 Tiene derecho
Calificación Final= 54.32 Calificación no aprobatoria
Alumn@ no aprobad@
Presione entrar para terminar . . .

Los colores son solo ilustrativos.


Requerimientos Generales del Programa

1. Entregar N archivos fuente (.cpp y .h) para aplicación de consola que cumplan con los siguientes
requerimientos. Cumplir del 2 al 30 para el primer archivo y del 28 en adelante para el segundo.
2. Cumplir con lo citado en los apartados sobre la descripción de esta actividad y del problema a
resolver, así como todos los requerimientos generales del programa de la actividad anterior, salvo
los cambios necesarios para cumplir con los siguientes requerimientos.
3. Declarar y definir después de las librerías y antes que todo lo demás, todas las constantes
simbólicas, o sea, aquellos identificadores relativos a valores que no cambien en el programa
(como los porcentajes de la descripción).
4. Declarar (y optativamente definir si es necesario) en la parte superior de la clase apropiada las
variables dedicadas a entrada de datos desde la consola.
5. Declarar sin definir las variables para almacenamiento de resultados, producto del cómputo de
datos de entrada.
6. Imprimir en consola el título de la aplicación.
7. Para cada dato requerido del usuario imprimir la solicitud de información correspondiente (cout) y
a continuación esperar por la entrada de datos (cin)
8. Efectuar el cómputo de:
a) Asistencias
b) Tareas
c) Actividades
d) Exámenes parciales
e) Suma de puntos finales
9. Imprimir en consola los resultados del cómputo para presentar los resultados
10. Escribir comentarios en el código fuente destacando cada una de las siguientes partes del
programa:
a) Los porcentajes a considerar para la evaluación del curso
b) Declaración y definición de constantes
c) Declaración y definición por defecto de variables (a usar para entrada de datos)
d) Declaración de variables (para cómputo)
e) Entrada de datos
f) Cómputo de Asistencias
g) Cómputo de Tareas
h) Cómputo de Actividades
i) Cómputo de Exámenes Parciales
j) Cómputo de Puntos Finales
k) Salida de datos
11. Las partes del programa citadas anteriormente deben ser exclusivas, es decir, ningún cómputo (de
los solicitados en el punto 8 anterior) debe llevarse a cabo en la sección de entrada de datos
(captura de información) ni en la sección de salida de datos (presentación de resultados)
12. Para poder visualizar todo lo impreso por la aplicación, desde el título del programa hasta lo
último impreso, imprimir de tal manera que no se requiera redimensionar el tamaño por defecto
de la consola (25 filas por 80 columnas) ni usar las barras de desplazamiento.
13. Todas las constantes necesarias para estos requerimientos sean de tipo entero
14. Para determinar si se tiene derecho a ordinario se utilice la selección canónica
15. Para determinar si se obtiene calificación aprobatoria se utilice el operador de condición
“expr1?expr2:expr3” (no la estructura selectiva if)
16. Para determinar si el(la) alumn@ es aprobad@ utilice cualquier estructura (if u operador de
condición).
17. La impresión de resultados en consola sea tal como se muestra en la descripción, excepto por el
título que puede variar a modo de cumplir con los requerimientos siguientes.
18. Antes que solicitar cualquier dato al usuario, el programa solicite:
a) el nombre de la materia a evaluar (como caracteres de letras);
b) su acrónimo (como caracteres de letras);
c) días de la semana (como caracteres de letras);
d) hora de inicio (como número); y
e) hora de finalización (como número).
19. Almacenar los datos del punto anterior, en un objeto de tipo Materia.
20. A continuación, hacer una pausa mostrándole al usuario el mensaje “Presione entrar para
continuar . . .”
21. A continuación de lo anterior, el programa solicite al usuario toda la información necesaria para
cumplir en un momento futuro con los requerimientos del 5 al 16.
22. Luego de haber obtenido todos los datos del usuario, hacer una pausa igual que en el punto 20
23. A continuación, imprimir 25 saltos de línea en consola, o bien limpiar la pantalla.
24. Luego de lo anterior, usar los datos del objeto Materia para imprimir el título del programa, donde
para ello se lea el contenido de todos los campos del registro citado previamente.
25. Posterior a lo anterior, el programa imprima todos los datos obtenidos del usuario para los
cómputos, precedidos del texto necesario para saber identificarlos, tal como se muestra en la
descripción.
26. Finalmente, el programa imprima los resultados de los cómputos.
27. Agrupar variables del tipo examen1, examen2, etc. en un vector de “examenes” (un arreglo de
examenes) y así mismo cualesquier otras variables con nombres similares.
28. Colocar el código fuente de cada clase, en un archivo de librería propio.
29. Toda clase cuente con un constructor dedicado a inicializar los atributos del objeto con valores por
defecto.
30. Todos métodos “fija()” sean booleanos y devuelvan “verdadero” solo si el método aprueba la
asignación del parámetro, o “falso” en caso contrario.
31. La clase que modela un Recordatorio cuente con una validación en su método “fija()”
correspondiente al tipo de recordatorio, de tal forma que si el parámetro recibido sí cumple con el
criterio de validación (aceptar solo las letras “S” o “R”), entonces se modifique el contenido del
atributo correspondiente, o de lo contrario, el atributo permanezca sin modificación.
32. Al regresar de la invocación al método “fija()”, se notifique en consola si el dato capturado fue o
no aceptado por dicho método.

Requerimientos para Puntos Extras

33. Escribir todos los resultados impresos en consola hacia medio secundario (lo citado desde el
punto 24 al 26).
34. Entregar en el mismo comprimido carpetas diferentes para cada lenguaje:
a) Una nombrada “C” con los códigos fuente en C (ANSI);
b) Una nombrada “C++” con los códigos fuente en C++;
c) Una nombrada “English” con los códigos fuente escritos en su totalidad en inglés (solo para el
lenguaje de programación de su preferencia).
…las primeras opciones se redacten absolutamente en español y la última absolutamente en
inglés.

Criterios de Evaluación

• Los establecidos en las “Reglas de Operación y Evaluación” del curso.


• Cumplir con la fecha límite de entrega citada en el Excel de Actividades.
• Cumplir con lo establecido en el Formato Estándar para Entrega de Actividades en Documento.
• Calificación en base a cobertura de requerimientos y fecha de entrega.
• Cumplir con Requerimientos de Valor Agregado en Código Fuente (hasta el req. “X”).
• Entrega en lenguaje C++ (ANSI).
• Es indispensable la entrega de un programa con variables e impresiones a consola completamente
en idioma Español.

También podría gustarte