Está en la página 1de 6

LOGICA DE PROGRAMACION DE LAS MATERIAS

DEFINICION DE LAS VARIABLES: Primero se define una lista con las materias por nivel: Materias1, Materias2, Materias3

Así mismo voy a tener 3 mapas, uno de ellos es string, int y los otros dos de tipo string, bool. Para todos los 3 casos el
string va almacenar la referencia a la materia que asignada y los otros dos mapas la variable boleana hace referencia a si
aprueba o no y si puede ver la materia o no.

Por ejemplo, las variables de puedever3 solo se actualiza cuando cumple las condiciones necesarias para habilitarle al
estudiante la materia.

Aprobar solamente va a ser verdadero cuando el estudiante obtenga una nota mayor o igual a 4.

Y numero se actualiza cuando el estudiando modifica su nota. Siendo así las cosas cuando numero es igual o mayor a 4
vuelve true la variable en aprobar y a su vez cuando se cumplen las condiciones va a modificar a true las variables de
puedever.
METODO SUMAR

El método sumar recibe el ID de la materia que se modifica la nota y recibe el nivel o el ano en que se ve la materia. Se
usa un switch case y evaluó si estoy en el Nivel 1 entonces voy a modificar el valor en la variable numero de la materia
seleccionada. Por ejemplo, diseño gráfico 1 tiene por ID “0” entonces como se el ID lo busco en el mapa que almacena las
notas y lo actualizo. Para posteriormente evaluar si el valor es superior a 3 por ende puede decir que la materia se aprobó
y busco por ID la materia y cambio su valor a true.
METODO RESTAR

El método de la resta es igual en funcionamiento a la suma con la diferencia de que disminuyo su valor y si el valor es
inferior a 4 por ende la materia no fue aprobada y se actualiza su valor a false.
METODO EVALUAR
El método evaluar se va disparar cada vez que usuario interactúe con la nota. Este método va a recibir como argumento
el nivel al cual pertenece la materia que esta modificando esto se debe a que si el usuario interactúa como material del
nivel 2 están van a habilitar las de nivel 3, las de nivel 3 habilitan las de nivel 4 y así sucesivamente.

Por ejemplo, el usuario interactúa con Historia 1 (tiene como llave “3”) esta pertenece al nivel 2 por los tanto se va a
ejecutar el case N2. Y se comienzan a ejecutar la sentencia de if según corresponda para este caso se evalúa si la nota
obtenida en “3” (corresponde a la llave de Historia 1) es true ósea fue aprobada la materia entonces según el requisito
establecido por la universidad dice “Historia 2 se habilita cuando Historia 1 sea aprobada” por lo tanto como se cumplió
entonces puedo desbloquear Historia 2 (la llave de historia 2 es “5”) así que se cambia a true para que usuario ya pueda
interactuar con ella si esa condición no se cumple se le asigna el false nuevamente que tiene por defecto.

De esta forma se evaluar cada una del material posible que puede ver el usuario de acuerdo a su carrera y como esta
estructurado el programa académico de la universidad.
METODO MENSAJEAPROBADO

Para mostrar un mensaje de que materias debe de cursar el estudiante cuando desea interactuar con alguna que se
encuentre bloqueada se va a recibir el nivel y el ID de la materia que desea interactuar para este caso si se debe evaluar.

Por ejemplo, el usuario presiona en alguna materia del nivel 2 en este caso se deben de aprobar todas las materias del
nivel básico. Por lo tanto, primero recorro todas las materias del nivel 1 buscando si hay alguna que no este aprobada si
la encuentra lo agrega a la lista de materias pendientes el ID de la materia que no esta aprobada. Por último, buscos por
ID las materias no aprobadas y agrego el nombre de dicha materia al listado de materias y muestro la alerta. Dado que
materias es una lista de texto elimino los corchetes al inicio y al final para que se vea un texto limpio al usuario.

A diferencia del método evaluar este va usar condiciones OR en vez de AND porque yo necesito saber si alguna de las
materias requisitos no ha sido aprobada yo voy a mostrarle al usuario cuales debe de aprobar para que esta sea habilitada
cuando se esa información ejecuto el mismo FOR para darle la información al usuario.

También podría gustarte