Ejercicio resuelto con tabla de decisión. Tarjetas. Pseudocódigo y diagramas de flujo. Lógica (CU00258A)

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.

Donar o colaborar

Este sitio se mantiene abierto gracias al apoyo de muchas personas. Si crees que merece la pena apoyar económicamente este sitio web puedes realizar una donación o colaborar. Contacta con nosotros.

¿Puedo yo aprender?

Seas o no del área informática, si quieres aprender a programar te ofrecemos una solución guiada y personalizada: realizar un curso tutorizado on-line. Con este tipo de curso, podrás aprender a programar de forma ágil y amena.

Acceder a detalles y precios de los cursos tutorizados on-line

Política sobre cookies

Utilizamos cookies propias y de terceros para ofrecerte una mejor experiencia y servicio, de acuerdo a tus hábitos de navegación.

Si continúas navegando, consideramos que aceptas su uso. Puedes obtener más información en nuestra Política de Cookies.

En Facebook!

Ahora puedes seguirnos en Facebook. Noticias, novedades y mucho más ¡Te esperamos!

RANKING APR2+

Ranking de lenguajes y entornos de programación aprenderaprogramar.com
 

JULIO - AGOSTO 2017

1. Java / J2EE
2. Entornos Oracle
3. Entornos SQL Server
4. JavaScript, jQuery
5. .NET, C#
6. HTML, CSS
7. Android, iOS
8. Php, MySql


Acceder a detalles sobre el ranking de programación aprenderaprogramar.com

FOROS APR2+

Pregunta, responde, consulta, lee, intercambia...

Participa!!! Entra en los foros aprenderaprogramar.com.

             Copyright 2006-2017 aprenderaprogramar.com                La web abierta a cualquier persona interesada en la programación