Resumen: Entrega nº59 del curso Bases de la programación Nivel II.
Codificación aprenderaprogramar.com: CU00260A

 

 

GESTIÓN DE NOTAS. EJERCICIO CON TABLAS DE DECISIÓN Y ARBOL ESQUEMA DE DECISIÓN.

Construir el esquema de decisión y el pseudocódigo asociado para el problema que se expone a continuación, relativo a la gestión de calificaciones en una asignatura universitaria estructurada en cuatro módulos (teoría, problemas, prácticas de laboratorio y prácticas de campo).

Anagrama aprenderaprogramar.com

 

 

Una asignatura universitaria se estructura en cuatro módulos: teoría, problemas, prácticas de laboratorio y prácticas de campo. Si se aprueban los cuatro módulos se obtiene la calificación como nota media. En otro caso se siguen estas premisas:

· Los exámenes se hacen en el siguiente orden: teoría --> problemas --> prácticas de laboratorio --> prácticas de campo.

· El alumno que no haya aprobado la teoría no se puede presentar a problemas ni a prácticas de laboratorio.

· Si un alumno aprueba teoría se le guardará la nota durante ese curso y el siguiente.

· Si un alumno suspende un solo módulo se le citará en despacho antes de evaluarlo.

 

 

SOLUCIÓN

tabla de decision

 

 

Primero buscamos filas con menor número de indiferencias. Con criterio lógico elegimos C1. Por lo tanto C1 divide a la tabla. Construimos C1 – Sí.

ejercicio tabla decision

 

 

Con criterio lógico elegimos C2. C2 divide a C1 – Sí. Construimos C1 – Sí – C2 – Sí.

ejemplo tabla decision

 

 

Elegimos C3. C3 divide a C1 – Sí – C2 – Sí. Construimos C1 – Sí – C2 – Sí – C3 – Sí.

problema tabla decision

 

 

Cuatro filas con una variante que es C4. C4 divide a C1 – Sí – C2 - Sí – C3 – Sí. Y esto nos lleva a las siguientes acciones:

C1 – Sí – C2 – Sí – C3 – Sí – C4 – Sí = Acción A

C1 – Sí – C2 – Sí – C3 – Sí – C4 – No = Acción B

 

Construimos C1- Sí – C2 – Sí – C3 – No.

solucion tabla decision

 

 

Cuatro filas con una variante que es C4. C4 divide a C1 – Sí – C2 – Sí – C3 – No.

C1 – Sí – C2 – Sí – C3 – No – C4 – Sí = Acción C

C1 – Sí – C2 – Sí – C3 – No – C4 – No = Acción D

 

Construimos la tabla: C1 – Sí – C2 – No.

ejercicio tablas de decision

 

 

Elegimos C3. C3 divide a C1 – Sí – C2 – No. Construimos C1 – Sí – C2 – No – C3 – Sí.

como resolver tablas de decision

 

 

Cuatro filas con una variante que es C4. C4 divide a C1 – Sí – C2 – No – C3 – Sí.

C1 – Sí – C2 – No – C3 – Sí – C4 – Sí = Acción E

C1 – Sí – C2 – No – C3 – Sí – C4 – No = Acción F

 

Construimos C1 – Sí – C2 – No – C3 – No.

solucionar tabla de decision

 

 

C1 – Sí – C2 – No – C3 – No lleva a la acción G.

C1 – Sí – C2 – No – C3 – No = Acción G

 

Finaliza la rama. Construimos C1 – No.

simplificar tabla de decision

 

 

C1 – No lleva a la acción H. Construimos el esquema de decisión.

diagrama de flujo si entonces pseudocodigo

 

 

El número de acciones coincide con el de casos en la tabla original, lo cual queda reflejado con los números entre paréntesis.

En este problema teníamos distintos casos que daban lugar a la misma lista de acciones y que no fueron simplificados. Por ello los casos 2, 3 y 4 los hemos nombrado como B, B´ y B´´ y 7 – 13, 8, 9 han sido nombrados como C, C´, C´´ con el fin de que al construir el programa se tenga esto en cuenta para por ejemplo que 2 – 3 – 4 contengan llamadas al mismo módulo. En igual circunstancia nos encontramos con 7 – 13 – 8 – 9. De un buen análisis y conocimiento del problema a resolver siempre podremos extraer información que ayudará a mejorar nuestros programas.

 

 

Pseudocódigo:

[Pseudocódigo aprenderaprogramar.com]

Si C1 = “Sí” Entonces

Si C2 = “Sí” Entonces

Si C3 = “Sí” Entonces

Si C4 = “Sí” Entonces

Acción A(1)

SiNo

Acción B(2)

FinSi

SiNo

Si C4 = “Sí” Entonces

Acción B´(3)

SiNo

Acción C´(8)

FinSi

FinSi

SiNo

Si C3 = “Sí” Entonces

Si C4 = “Sí” Entonces

Acción B´´(4)

SiNo

Acción C´´(9)

FinSi

SiNo

Acción C(7-13)

FinSi

FinSi

SiNo

Acción H(12-16)

FinSi

 

 

 

 

 

 

 

Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link:  Ver curso completo.

Para  hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.

Descargar archivo: