Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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 contabilidad para cada uno de los evaluandos, como máximos son:
En base al cómputo de los datos obtenidos, la información presentada como salida sea la siguiente:
…o quizás:
Evaluador del Curso v1.0 - Programación (PRO) MJ 7a9
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.
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