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

 

 

 

EJERCICIO CON TABLAS DE DECISIÓN: TARJETAS

Construir el esquema de decisión y el pseudocódigo asociado al siguiente planteamiento, relativo a determinar el importe a facturar a los clientes de unos grandes almacenes en base al tipo de tarjeta y modalidad de pago.

 

Anagrama aprenderaprogramar.com

 

Se quiere determinar el importe a facturar a los clientes de unos grandes almacenes según estos criterios:

· Si pagan con tarjeta oro tendrán un 15% de descuento.

· Si pagan con tarjeta club tendrán un 5% de descuento.

· Si la tarjeta (oro o club) es modalidad joven, tendrán un 5% de descuento.

· Los descuentos son acumulables.

 

La tabla de decisión queda:

tabla de decision

 

 

El número de condiciones es 3 y el numero de casos 8, que es 23, por lo que en principio todo está correcto. En la hipótesis de que haya un mecanismo de bloqueo que impidiera que se dieran los casos inviables (1, 2 y 5) podríamos eliminarlos y simplificar la tabla de decisión, que quedaría:

ejemplo tabla decision

 

 

SOLUCIÓN

Partimos de la tabla simplificada que es la siguiente:

simplificar tabla decision

 

 

Al no existir indiferencias, buscamos un criterio para elegir filas a partir de las que dividir la tabla basados en el conocimiento del problema y en la lógica. En este caso dividiremos la tabla en base a la condición “Paga con tarjeta oro” (C1). Por tanto C1 divide a la tabla.

tabla decision 1

 

 

Ya hemos alcanzado una tabla con una única fila variante, que es C3. Por tanto C3 divide a C1 – Sí.

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

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

diagrama de flujo tabla de decision

 

 

Ya tenemos una rama del árbol. Volvemos al punto que tenemos abierto, que es C1 – No.

calculo tabla decision

 

 

Volvemos a dividir usando C2 (“Pago con tarjeta club”). C2 divide a C1 – No.

ejemplo tabla decision

 

 

Tenemos una tabla con una única fila variante que es C3. Por tanto C3 divide a C1 – No – C2 – Sí dando lugar a 2 acciones.

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

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

diagrama de flujo condicionales

 

 

Volvemos al punto que teníamos abierto, que es C1 – No – C2 – No.

ejercicio tablas de decision

 

 

Por tanto C1 – No – C2 – No lleva a la acción E y hemos cerrado el árbol, que queda:

diagrama de flujo multiples condicionales

 

 

El número de acciones obtenidas coincide con el número de casos de la tabla origen, con lo cual cada acción se asocia con un caso, lo que hemos indicado con los números entre paréntesis. El pseudocódigo asociado sería este:

[Pseudocódigo aprenderaprogramar.com]

Si C1 = “Sí” Entonces

Si C3 = “Sí” Entonces

Acción A

SiNo

Acción B

FinSi

SiNo

Si C2 = “Sí” Entonces

Si C3 = “Sí” Entonces

Acción C

SiNo

Acción D

FinSi

SiNo

Acción E

FinSi

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: