Anda di halaman 1dari 31

CAPITULO 6

TABLAS DE DECISION

6.1. INTRODUCCION A LAS TABLAS DE DECISION


Los organigrmas estudiados en los captulos anteriores presentan una serie
de inconvenientes:

o El ordinograma no es nico para un problema determinado o Dificiles de modihcar. o En lenguajes muy evolucionados, los organigramas pierden eficacia. o El proceso secuencial del ordinograma obliga a establecerlo de manera
progresiva antes de tener la totalidad del proceso arcalizar.

El uso de las Tablas de Decisin en Informca es reciente 5g a 60-, -aos aunque anteriorlnente se haban utilizado en numerosas actividades como tablas de tarifas, contabilidades, etc. Las tablas de decisin (TD) constituyen una herramienta poderosa para definir la lgica de un programa complejo. constituyen un medio de representacin de la informacin en forma tabular, cuyo objetivo primordial es el de aportar informacin en un formato que sea flcil de leer y comprender. El uso de las tablas de decisin aunque no tan extendido como los ordinogramas, suele constituir en algunas ocasiones una tcnica para capturar datos y la primera operacin de anrlisis del problema. una vez planteada la TD se suele
realizar la construccin del ordinograma o algoritmo correspondiente. En ocasiones las TD sustituyen a los diagramas de flujo u ordinogramas.

r69

17O

METODOTOGIA DE

LA PROGRAMACION

6.2. DEFtNtctoN DE UNA TABLA DE DEC|S|ON (TD)


La secuencia de un orograma puede ser descrita por una estructura de or.,> sin, la Tabla de Decisin (TD). una TD es un documento de comunicacin entre usuarios, anaristas, p*{k madores, etc., y un instrumento de anrisis y programacin, que se puede ?pr,";rua numerosos y diversos problemas permitiendo la r.p..srniucin de las dittlates situaciones de un modo fcil y lOgico. una TD es una herramienta que permite presentar deforma concisa las res-,y Igicgs que hay que utilizar paia decidir aiciones a ecutar i;;;;; ;;; condiciores y la lgica de decisin de un probre*o ,rir/llo.- '"' "r una TD es un tipo de tabla que muestra lo que eb realizar el ororam* cuando se cumplen ciertas condiciones. son espeialmente til", p;;" d;ffi procesos que incluyan muchas decisiones mltiples. En esencia las TD una tcnica f;icil de aprender y empleal gm -constituyen no requiere grandes esfuerzos de imaginacin para su comprensin e interprcacin. una tabla de decisin se representa en un cuadro de cuatro bloques (Fr*[J :

tq:

6.

f
&il
irt-J

l'
I

"4f

-4

fl--ry
tlr,:c;

ra 6.1).

rt
I

.q
MATFIZ
DE

:
M

ENTRADA DE
coNDtCtONES (Situacin)

coNDtCtONES

.q

rh tr E i rC

-!

Tt

MATRIZ DE
ACCIONES

ENTRADA DE
ACCIONES (Decisin)

r[ L *" i
;f

:n

Figura

6.1.

Representacin grfica de una tabla de decisin (TD).

L
condiciones de todo o parte del probren* dicho en otras palabras, las pieguntas que deben p.ouu.*-puru alcanzar ,".o decisin. La matriz de acciones rnea toas o parte e hs acci,ones del problem,,r
se

A la izquierda de la Figura 6.I se - matriz de condicioneJ recoge las tiene la matriz y a la derech alas entrad;. La

rC

arealizar o las acciones que han de ernprenderse cuando dado de condiciones.

presenta un conjunu

6.,2-

TABLAS DE DECISION 171

TD

l.::iren
,

entrada de las condiciones (combinacin de las posibles condiciones), reflejar en la TD si se cumple o no tal condicin o si es indiferente, r :r--rr. sea cual su condicin de entrada, no tiene influencia sobre la accin : -: ;ebena efectuarse.

: : in conjunto de condiciones

entrada de las acciones (decisin) indica efectuar la accin correspondien-

cumplimentadas.

2.1

Reglas de decisin

:o =;ciones constituyen una relacin denominada regla de decisin. Existen -''::s

cada combinacin de entrada de condiciones y su correspondiente entrada

::

_:5.

reglas como pares distintos de entradas condiciones/acciones. El nrnero ": sias de decisin debe cubrir todos los casos posibles, sin repeticiones ni omi-

',

.-:; de construccin

r . r . r r r r

;-

nmero de reglas de decisin es 2n siendo el nmero de condiciones posi-

oi

-,c5_

una condicin de entrada slo le corresponde una decisin o condicin de --|l^ ulud. -\ una condicin de salida le pueden corresponder varias condiciones de ent^ -- ud, ?aa que una TD est bien construida es necesario que en cada momento sea -*-3na una y slo una de las situaciones. El resultado de una regla no vara si se permuta el orden de las lneas de :cndicin, ni la lgica de decisin cambia si se permuta el orden de las

:clumnas (reglas).

cada regla de decisin (columna) es una estructura si-entonces (si se cumple ,a condicin de entradas entonces realizar tal o tales acciones), del tipo "ooleano de condiciones y se le pueden aplicar las leyes del Algebra de Boole. La entrada de condiciones se representa con los smbolos lgicos S, N o X rS. afirmativa; N, negativa; X, indifbrente). La entrada de acciones se representan con una X si se realiza y en blanco o un guin (-), si no se realiza. La lista de condiciones puede ponerse en cualquier orden.
La lista de acciones debe ponerse en el orden en que se tengan que ejecutar. cada columna (regla de decisin) de una TD equivale una rut o camino de un diagrama de flujo.

6.2.2.

Modos de presentacin de las tablas de decisin

Existen dos modos de presentacin: horizontal y vertical.

172

METODOLOGIA DE

LA PROGRAMACIOhI

Presentacin

HORIZONTAL

En este modo de presentacin:

o Las condiciones y las acciones se escriben o Las reglas se leen verticalmente.

horizontalmente.
Reglas

Condiciones

Acciones

Presentacin VERTICAL

En este modo de presentacin:

o o

Las condiciones y las acciones se escriben verticalmente. Las reglas se leen horizontalmente.
Condiciones

_1i

TABLAS DE DECISION 173

La representacin de una TD completa se representa en la Figura 6.2.


Situacin

c1

s
N

l'l
S

c2

Condiciones

Cn

tr
X

A1

X X @

A2 Acciones
@

An

t:
Regla de decisin

N-No
X

- s Accin de ejecucin - No se realiza.

En blanco

Figura

6.2'

Tabla de decisin completa'

Las TD se leen siempre de izquierda a derecha y las reglas de arriba a abajo.

Las lneas horizontales y verticales dobles sirven como lmite o frontera: las

condiciones aparecen encima de la doble lnea horizontal debajo de dicha doble lnea.

y los tratamientos

Ejemplo 1: Tabla de decisin que contiene los pedidos de una empresa y

emit; facluras a los clientes de acuerdo con las siguientes hiptesis:

a) b) c)

Los pedidos pueden ser de Madrid o exteriores a Madrid, y en cualquier caso se expedir la factura calculando el precio total de acuerdo con las siguientes condiciones'

Pedido exterior de Madrid: Imprimir etiqueta de direcciones para envo por cofreos; cargar costes en la factura. Pedido de Madrid: Si el pedido es superior a 50.000 pesetas hacer un
descuento del 5
o/0.

174

METODOLOGIA DE

LA PROGRAMACION
5

Envo a Madrid Pedido superior a 5O.OOO

S
R,l

Ni

l'.1

l!
X X
li

lmprimir etiqueta Calcular precio Pedido Aadir portes Descuento 5 o

X X

X X

t;

La lectura de la TD (izquierda-derecha) arroja los siguientes resultados: 1. si el envo es a Madrid y no superior a 50.000 pesetas efitonces cctlctt!;' precio pedido para emitir factura por ese precio' 2. Si e! envo es a Madridy s superior a 50.00a pesess, entonces calct:-" 0/a' precio pedido y hacer un descuento del 5 3. o de Madrti el envo y s es superior a 50.a04 pesetas, entonce: ", imprimir etiquetas, calculai precio pedido y aadir portes para emL:.'

4.

factura total. No es de Madrid e! envo y no es superior a 5.aa0 pesetas, entonces

condiciones posibles. tsn el caso de que una o varias combinaciones de condtci':' n.i a.n lugar a las mismas acciones es posible simplificar la TD obtenindos: en ese .uu lu TD impropia o reducida, que tiene menor nmero de reglas' As por ejemplo en la TD:
Reglas

imprimiretiquelaycalcularpreciopedidoparaemitirfacturatotal. La TD es denominada propia por indicarse en ella todo el conjunto;.

R1 R2 R3

R4

F5

R6

R7

R8

Las reglas 2 y 4 producen las mismas acciones

SS SN NS

TABLAS DE DECISION 175

por consiguiente en la condicin C2' Si o No, se producen las mismas aciion.r; es significa que se pueden simplihcar las dos reglas R2 y R4 dejndopor un tras reducidaJa unu sola R24 con la segunda condicin representada guin (-).

S
equivale

SS S N NS

De igual forma las reglas 3 y 7 producen las mismas acciones'


!

ES J

SN NN SS
por consiguiente
se pueden

ns

sustituir por una sola regla, R37

r:lse

:
;

As pues, la TD resultante sera:

R1
c1
S

R24 R37
S
N

R5
N S S

R6
N

R8
N N N

c2 c3
A1

s s
X
S

S
N

s
X

X X

X X

A2
A3
X X

X X

X X

i
:

A4

Ejemplo 2

Tabla de decisin parala expedicin de billetes de ferrocarril (dos clases, 2.") y con dos listas de espera (1." y 2'")'

1.u

176

METODOLOGIA DE

LA PROGRAMACION
R1

OF

cl
c2 c3

Peticin billere 1.a Peticin billete 2.4 Existen plazas en 1.4 Existen plazas en 2.a
Expedir billete 1.4 Expedir billete 2.a Poner en lista de espera
1 .a

SSSSNNNN NNNNSSSS SSNNNSNS NSNSSSNN

c4
A1

XX XX XX XX

A2 A3

A4
ll
I

Poner en lista de espera 2.8

fi.3

En esta TD se consideran condiciones excluyentes: si el viajero pide hth de Lu no pide de 2." y caso de no existir 1." pasa a lista de espera de 1.": fofl
para el caso de billetes de 2.^.
Las reglas de condicin Rl y R2, R3 y R4, R5 y R6, R7 y Rg producen misnas acciones, por consiguiente la TD se puede reducir ai

l h

Rl2
c1
Petcin biflete 1.4

R56

Otras N
S

s
N

s
N
N

N S

c2

Peticin billete 2.a Existen plazas en 1.a Existen plazas en 2.a Expedir billete 1.a
Expedir billete 2.a Poner en lista de espera 1.a Poner en lista de espera 2.a

Ca

c3 c4
A1

Aa
S
N

X X

A2 A3

c'
X

A4

A.

Para la lectura de esta tabla ya -como se ha comentado- se examinar una sola regla cada vez. As por ejemplo la regla R34 se puede describir as: en lista de 1.".
si la peticin es de un billete de 1." y no existen plazasen l.a entonces poner

A1

TABLAS DE DECISION 177

6.3.

-t
I

TIPOS DE TABLAS DE DECISON

-1

Las tablas de decisin se pueden clasificar atendiendo a dos criterios: Tipos de entrada de condicin

_J
--1
i

Limitadas.

_j --l

o Ampliadas. o Mixtas.
Procesos complejos (encadenamiento o enlace de tablas)

I l
-l
1:

Abiertas.
Cerradas.

6.3.1.
a dos

Tablas de decisin timitadas


sntesis:

Son aquellas en las que la evaluacin de todas las condiciones est limitada posibles valores: sI, NO, o la reduccin de ambas, el guin (-).En

o Las casillas situadas frente a las condiciones o


bien, indiferente (-).

se rellenan con

sI, No,

tij.5

Las casillas situadas frente a las acciones slo contienen aspas (X). Enunciado: Tabla de decisin para las ventas de unos grandes almacenes donde el cliente puede pagar al contado o con tarjeta de- compras, y el pedido

le remitir a su domicilio cobrndole portes si et peoio"es inferior 10.000 pesetas. (En cualquier pedido se incluir un IVA der r2o/0.)

se

-..j

Condiciones.' Tiene tarjeta de crdito? Importe de la compra < 10.000?

(ct)
(c2) (Al) (^2)
(A3)

Acciones: Contado
Cargar en

l
l

\
c1
ll
tl

cuenta Cargar portes Cargar IY A (12 o/o)

(Cl no) (Cl si)


(C2 si)
(siempre)

(A4)
R2 S
N

-+
--.u

R1
Tene tarjeta de crdito?
S 1O.OOO? S

R3
N

R4
N N

_l
I I

c2
A1

lmporte de la compra
Pago contado Cargar cuenta Cargar IVA

<

il
l

X
X X X X X

X
X

A4

Cargar portes

flA

METODOLOGIA DE

LA PROGRAMACION

6.3.2.

Tablas de decisin de entradas ampliadas o extendidas

Son aquellas tablas en donde las distintas condiciones pueden tener un rango de alternativas superiores a dos valores (si o no). Ejemplos claros de aplicacin de TD ampliadas son:

a) b) c)

Puesta al da de un fichero. Las posibles alternativas son: altas, bajas y

modificaciones. Valores numricos mltiples correspondientes a un solo elemento.

I peseta = l/135

dlares

llz2Dlibras

l/60 francos"'

Valores acotados compras entre 0 Y 1.000 Pesetas comprasentre 1.000 y 5.000 pesetas
compras entre 5.000 y 10.000 pesetas

0<c<1.000 5.000<c<
1.000<c<5.000
10.000

Ejemplo

La tabla de decisin limitada anterior se debe modificar debido a que la las empresa de transportes ha variado sus tarifas y es necesario un reajuste en
facturas de los pedidos, de acuerdo a las siguientes hiptesis'

o Si el importe de la compra < 5.000 pesetas o Si el importe de la compra est entre 5.000 y o o
Si el importe de la compra est entre 10.000 y 50.000 iesetas Si el importe de la compra es < 50.000
10.000

Cargar total portes. Cargar 75 % portes' Cargar 50 % portes' No cobrar porte.

pesetas

pesetas -

El nmero de condiciones se eleva a 6, lo que significa 26 combinaciones o reglas de decisin diferentes. Por otra parte, las nuevas condiciones son excluyentes. Si el pedido es menor de 5.000 pesetas, nunca podr cumplir las otras condiciones (> 5.000 pesetas...). Al elevado nmero de condiciones habra que sumar las nuevas acciones, lo

que hace la resolucin del problema con'TD limitada sumamente compleja, y por ello es ms sencillo recurrir a una TD ampliada.
Tiene tarjeta de crdito
SI

NO

SI

NO

st

NO

st

NO

lmporte de la compra

< 5.000
X

5.000 y 10.000 10.000y50.000


X X

> 50.000

Pago contado Cargar cuenta Cargar IVA Cargar portes

X X

x
X

x
100%

75*'

50%

0%

TABLAS DE DECISION 179

ndidas
! !.1 l, d_i

lL

En este caso ha sido necesario desdoblar la condicin <Tarjeta de crdito> dos subcondiciones, pero en cualquier caso esta tabla siempre ser ms fcil leer y entender que su equivalente tabla limitada.

:r

L.-:-_d$"

6.3.3.

Tablas de decisin mixtas

1::

Se denominan as a las tablas que resultan de la combinacin de las tablas ',Ltras en los prrafos anteriores.

J: expedicin

Una aplicacin de este tipo de tabla podfa ser una ampliacin del ejemplo de billeres de la siguiente forma:

o Comprobar plazas

libres en l.u y

2^.

Peticin del viajero. o Acepta cambio de clase si no existe la solicitada.


L TD ampliada resultante sera la siguiente:
: - *- *-,
3,1ietes disponibles

R1 R2 R3 R4
teticin viajero
Slo 1.a
Sambio de clase

R5

R9 R10 R11
Slo 2.a

R12

tr::ff. ]I:i
F_:!
Expedicin billete 1 .a !xpedicin billete 2.a .jsta de espera 1.a -sta de espera 2.a

1.4 2.a 2.a SN

1.aYl.a

I:

1.4 1.a SN

2.a

1.4 1.al2.a

2.a

Esta tabla resuelta en representacin grfica limitada sera enormemente :ompleja, ya que de cada condicin actual se derivaran las escritas en la entrada

ie
--
i_

condiciones.

6.3.4. Comparacin y transformacn de los tipos de tablas


r*l

:r:r:

I-a comparacin de las TD produce las siguientes caractersticas:

o Las TD de entradas amplias son ms legibles que las TD limitadas por


ser menos voluminosas que sus

equivalentes.Larazn como ya

se ha

visto

reside en el hecho de que una condicin de una tabla de entrada amplia corresponde a varias condiciones de la tabla de entradas limitadas equivalentes, debido a que stas slo tienen dos posibles alternativas S o N. Las TD de entradas limitadas son ms facil de codificar en programa (las reglas de decisin constituyen caminos de un diagrama de flujo) que las

tablas implicadas.

180

METODOLOGIA DE LA PROGRA.JIACION

Para convertir una TD de entradas amplias en una TD de entradas limitadas ser necesario ejecutar las siguientes tareas:

o formular o

tantas condiciones binarias (S/N) como alternativas consideradas existan para cada condicin de la tabla de entrada amplia. formular tantas acciones binarias (S/N) como posibilidades consideradas en las reglas, para cada una de las acciones de la tabla de entrada amplia.
as:

La tabla mixta anterior podra quedar

R1

R2
E

R3

Billetes disponibles slo 1.a Billetes disponibles 1.a y 2.a

x c
I

Billetes disponible slo 2.a No hay plaza

v
e
n

t
Peticn de viajero 1.a Petcin de viajero 2.a
S

e s S

Cambio de clase Expedicin billete 1.a Expedicin billete 2.4 Lista de espera 'l .a Lista de espera 2.a

x....

Procediendo en forma inversa se convertir una TD limitada a una TD ampliada.

6.4. TIPOS DE REGLAS DE DECISION


Las reglas de decisin segn las relaciones que existan entre las condiciones de una tabla de decisin pueden ser:

Reglas (Y> (AND)


segunda

En cada situacin se necesita que se satisfaga la primera condicin Y la tercera, ... (operador lgico AND) si condicin I Y condicin 2 Y... entonces.

la

rl

TABLAS DE DECISION 181

Reglas (O> (OR) Para que se satisfaga- una regra basta con que se cumpla cualquiera de las condiciones de ra situcion (opradoig;;" n. r*irte; ilr;ip", de regras

OR inclusivo
Se cumple una u otra condicin aislada o simultneamente.

OR exclusivo
mente.
tr
fil

Entre dos condiciones se cumple una u otra pero no ambas simurtnease pueden apreciar las reglas

En la siguiente tabla

((y>. (OR>

iff

ffi

Las reglas R2, R3 y R4 son del tipo <<0.inclusivo>>, las reglas R2 y R3 <0 exclusivo>. La regla R4 constituye un el tipo <<yr>.
Reglas ELSE (sino)

Entre las diversas situaciones posibles slo algunas de ellas conducen atrafa_ mientos diversos, mientras que ei resto de las regras conducen a un nico tratamiento. Las regras que conducen a un truii"rito ,ni"o-se ag.Jn .n una sora regla denominada ELSE (sino o en otro sr suele colocar ai final de la TD sin evaluar sus condiciones. "uro).

6.4.1. Conversin de reglas <rOl y (SINO)


una regla <<o>> se transforma en n REGLAS and, siendo n el nmero de condiciones que intervienen en la regla (las n reglas r. rupon"n.onlndiferencias, ya que sin ellas se tendra 2tn _ I ).

182

METODOLOGIA DE LA PROGRAMACION

Supongamos la situacin de una regla OR extrada de una TD de 4 condiciones.

.l hI
I I

N S N S

sino se cumple la primera condicin. O si se cumple la segunda. O no se cumple la tercera. O si se cumple la cuarta.

Esta regla OR equivale a 4 reglas

AND

Rl NSSS

R2

R3

R4

r:!i
NN NS NN SS
gr
N N

(-)

significa indiferencia que procede de la fusin de dos situaciones similares.

f ,'

equivale

c2

AI

6.5. CONSTRUCCION
Para construir una

DE TABLAS DE DECISION
A3

TD son necesarios los siguientes


acciones y sus relaciones.

pasos:

a/ Estudio de condiciones, / Rellenar la TD.

c)
t

Analizar la TD.

dd Pr!
[il

d) Simplificar la TD.

3
I

6.5.1. Estudio de condiciones, acciones y relaciones


Tras la lectura del enunciado del problema se localizan las condiciones, que del enunciado, mediante la bsqueda de palabras similares a ((Si, cuando, si no, etc.>>. Las acciones como el diccionario de la lengua indica se han de localizar en el enunciado con los verbos que implican accin, es decir <<hacer algo>: realizar, ejecutar, sumar, restar, etc.
se han de extraer

'' '

TABLAS DE DECISION 183 rdi-

Una vez identificadas las condiciones y acciones se comienza la escritura de la TD de acuerdo a las siguientes reglas: Escritura de las condiciones

o Realizar un listado de todas las condiciones. o clasificar las condiciones siguiendo el orden lgico
se

existe- en el que consideran. As en el caso de 3 condiciones, rdenes lgicas pueden sei:

-si

NNNNSSSS NNSSNNSS NSNSNSNS


i

o bien

SSSSNNNN SSNNNNSS SNSNNSNS

Una eleccin lgica del orden de las condiciones simplifica considerablemente la escritura de las reglas de la tabla.

. En la suscripcin de una revista de informacin, los suscriptores antiguos tienen un descuento del l0 vo y los estdiantes del 20 vo. Los descuentos no pueden acumularse y clso de coincidir dos descuentos en una sola persona, s le aplicar el mayor descuento a que tenga lugar. La tabla de decisin puede ser la siguiente
R1

c1

Suscriptor antiguo?
Estudiante?

s s

S N

A1

Descuento 1O % Descuento 20 %
X

X X
X

A3

Sin descuento

_ sin embargo, eligiendo las condiciones cl y c2 en sentido contrario, como el descuento de estudiante es mayor que el de suscriptor antiguo, haciendo la pregunta de estudiante antes, cuando la contestacin es afirmativa, ser indiferente la situacin como suscriptor.
Estudiante
S
N N N

ri

,l
1

Suscriptor antiguo Descuento 1O %

s
X X

re

tll

a
i

n
r.

Descuento 20 %
Sin descuento

184

METODOLOGIA DE

LA PROGRAMACION

guiente:

Regla: El orden lgico de considerar las condiciones de una tabla es el si-

o De arriba abajo para las tablas de presentacin horizontal. o De izquierda a derecha para las tablas de presentacin vertical.
Escritura de las acciones

o Realizar el listado de todas las acciones a tomar. o clasificar las acciones mediante un orden cronolgico o

el orden en que deben considerarse. En ocasiones el orden no es importnte, pero en otras puede afectar el desarrollo de las acciones. El orden de considerar las acciones es:

-si

existe-

segn

De arriba abajo para las tablas de presentacin horizontal. De izquierda a derecha para las tablas de presentacin vertical.

Escritura de las reglas de decisin de las TD limitadas a) Escrtura de la entrada de condiciones (situaciones)

o Las condiciones se deben formurar si (s), No (N) o Indiferente (-). o seguir un orden lgico en las entradas. por ejemblo, primero todos
los SIes (o todos los Noes) y a continuacion hacei q uuyun apareciendo los Noes progresivamente. Si una tabla de decisin contiene n condiciones debe tener 2n reglas, caso de no utilizar signos de indife_
rencia.

As para una TD de 3 condiciones:


Condicin
1

S
N

S
N N

N N

N N N

Condicin 2 Condicin 3 Acciones

s
S

s
N

s
N

b)

Escritura de la entrada de acciones


Se van colocando aspas (X) frente a las acciones que hay que ejecutar para cada situacin o conjunto de condiciones considerada.

Escritura de las reglas de las TD ampliadas


Se van escribiendo las condiciones de modo que a cada una de ellas le corresponder un determinado nmero de alternativas. Para evitar olvidar reglas es conveniente seguir un mdoto para rellenar las tablas. Para rellenar las entradas de acciones bastar ir colocando las precisiones relativas a las acciones que se han de ejecutar en las casillas correspndientes.

TABLAS DE DECISION

t85

6.5.2.

Anlisis y requisitos de una TD

Antes de convertir la TD en programa se necesita efectuar un anlisis de sus reglas y comprobar que la TD diseada cumple los siguientes requisitos:

o Completa. o No tiene redundancias. o No tiene contradicciones.


es completa cuando se han establecido todas las situaciones posibles las combinaciones matemticamente posibles de las entradas o estados -todas de las condiciones-, o dicho de otra forma: no se ha olvidado ninguna posible entrada. Una TD no tiene redundancias cuando no existen ningunas situaciones idnticas que conduzcan a tratamientos idnticos. Existe redundanciacuando aparece dos o ms veces la misma entrada de condiciones con igual tratamiento. Una TD no es contradictoriacuando siendo redundanteios tratamientoi son los mismos, o dicho de otra manera, es contradictoriacuando a un mismo estado de condiciones le corresponden tratamientos diferentes. Si el conjunto de reglas supera 2n, existirn enores.

Una TD

6.5.3. Simplificacin de una tabla de decisin


La simpliflrcacin de una TD se debe realizar siempre que sea posible. Un mtodo consiste en agrupar reglas simples en reglas compuestas (reglas simples son las que no contienen ninguna indiferencia y reglas compuestas las que contienen al menos una indiferencia). Dos reglas pueden simplificarse siempre que se produzcan las mismas acciones y un estado de condiciones difiere slo en la situacin de una condicin.
R1

Rl2
c1
C2 eguivale a S

c3
A1

A2
A3

La siguiente tabla no se puede simplificar (difiere en ms de dos situaciones).

186

METODOLOGIA DE

LA PROGRAMACION
Rf
R2
S

cf
c2
c3
A1

S
N

s
N

s
X

A2

com.puesta, siempre que-las reglas simples tengan las mismai acciones: <se unen mediante un arco aqueilas regras en-que si ,o*-ii-iiiiar. si todos los arcos forman un circuito cnado, e puede ;r;;gt;;"mpuesta que sustituya a las reglas simples.> En Ia siguiente TD es posible simprificar las 4 reglas simples en una sola compuesta, debido a que se cumple el teorema anterioi.

si son mris de dos reglas las que contienen iguales acciones, existe un rsorema denominado <del paraguas, pr el tipo de obtencin de la simplificacin, que permite la suititucin de varias regla-s sipres por

diiujo;;";;;';;;h

una

"irro;
R3 S
S

R2

c1

s
S
N

s
S
N N

c2

s
S
S

c3 c4
A1

s
N

A2

La tabla resultante se obtiene viendo las condiciones que permanecen fijas y poniendo indiferencias en las condiciones que
varan.
R14
S

c2

c3 c4
A1

A2

TABLAS DE DECISION 187

una forma de comprobar la simplificacin, sera hacer


R12
c1
S S S S

estos dos pasos: R1234

c2 c3

c4

equvalente a
N

AI
A2

ul
in
ut
7n

6.6. ENCADENAMIENTO

DE TABLAS DE DECISION

]J

. cuando un problema de lgica es complejo, la TD equivalente resultar as mismo compleja. En estos casos es preferibledividir el pioblema en problemas secundarios de modo que cada uno de ellos d lugar a la creacin de una tabla particular. Las TD pequeas son ms flciles de iealizar, utilizar, modificar y leer que una TD voluminosa. Posteriormente las diferentes tablas se encadenan o enlazan para la solucin del problema global. Los encadenamientos se realizan con las ya conocida cerradas.
s

tablas abiertas y tablas

6.6.1.

Tablas abiertas

Las llamadas se realizan mediante una bifurcacin incondicional del tipo GO TO y una vez ejecutada no retorna a la tabla anterior.
Se clasifican en dos grandes grupos:

Estas tablas presentan una conexin al principio de la tabla llamada (n sin ) necesidad de retorno a Ia tabla que llama, despus de la ejecucin de la 1rJbla n.

Encadenamiento en cascada

I
I
t

TABLAS DE DECISION 189

Otros ejemplos de encadenamientos seran:

TD1

TD3

l l

6.6.2.

Tablas cerradas

Son aquellas en que una vez eiecutada la tabla llamada, devuelve el control llam. La llamada se realiza mediante una estructura DO (hacer) y el retorno del control a la tabla precedente con RETURN (volver a). Existen numerosos casos de tablas cerradas.
a la tabla que le

Tabla cerrada

19O

METODOLOGIA DE LA PROGRAMACION

l.

Se puede llamar desde una tabla a varias tablas cerradas.

2.

Una tabla cerrada puede ser llamada desde diferentes tablas.

ii i: lf
l tr
It

il li

l3

Ii lf

3.

Una tabla cerrada puede llamar a su vez a otras tablas cerradas.

Tabla

Tabla 2
1

Jr

Tabla 3

{cerradal

lL

Tabla

TABLAS DE DECISION 19f

niento
i

Las condiciones que se deben cumplir para que pueda existir un encadenason:

1.

cada tabla
caracteres).

se

debe identificar mediante una etiqueta (nmero o serie de

).. La tabla invocada se ejecutar totalmente. 3. cada regla de decisin debe inclicar lo que se ha de hacer a continuacin
(btfurcar, hacer, terminar, elc.).

6.7. CONVERSION DE TABLAS DE DECISION


EN PROGRAMAS

I conversin
ilcas:

de las TD en programas se pueden realizar con diferentes tc-

a)

b) Transformacin de la tabla en diagramas de flujo. c) Convertidores de TD en programas. d) Mtodosmatriciales.

TRAN o BASIC.

Programacin directa en lenguajes de alto nivel como

coBol-, FoR-

6.7.1.

Programacin directa en lenguajes de alto nivel

caso de la siguiente regla.

Las reglas de decisin se convierten en instrucciones de los lenguajes. En el

en COBOL se codificara as:

IF C1 AND NOT C2 AND C3 HACER

A1 A2

ELSE...

Esta tcnica es cmoda pero tiene el inconveniente de preguntar en la misma


pasada varias veces por la misma condicin.

Si se han definido tablas encadenadas, cada una de ellas dar lugar a subproo cenados segn el tipo de tabla. En el caso de tablas abiertas, la accin ir a la tabla n se traduce segn el caso, por una instruccin de bifurcacin incondicional del tipo Goro (BASIC o Pascal) GO TO (COBOL), o bien por una instruccin de llamada a subpro_qramas abiertos

192

METODOLOGIA DE LA PROGRAMACION

grama abierto o subrutina mediante la instruccin


etctera.

cALL

en

coBOL, BASIC.

-t,

Si son tablas cerradas, la_accin ejecutar ra tabran se traduce por una truccin de llamada de subprograma cerrado (instruccion ppnpoRM insen coBoL).

6.7.2.
Esta

Transformacin de la tabta en diagrama de flujo

ft
C

tcnica fue desarrollada por s. L. pollack y establece como hiptesis que la evaluacin de cada condicin va a ocupar siempre las mismas posiciones de memoria. A continuacin se debe minimizar er nmero de evaluaciones a efectuar, o sea, lograr un mnimo nmero de pruebas de condiciones. El mtodo se basa en la localizacin de las iniirerencias ..uu..gru, siguiendo los siguientes pasos;

l. 2'

3' 4. 5.

ciones.
Se

clculo der nmero de regras simpres-a las que equivare cada regra (una regla con n indiferencias equival a 2" regls ,#;lrtt;[ene el final de cada columna. Por cada condicin se calcula un coeficiente sumando Ios valores calculados en I y se registra en una columna a la derecha Oe tafO; el coeficiente de cuenta mide el nmero de regras en que la condicin en estudio no interviene (su valor ser tanto a, i-portunt" a"unto menor sea su valor)' se evara en primer lugar Ia condiiion r;;r;;;i;i""te sea menor. Si existen varias condiciones"con una cuenta mnima iguar, se elige un nuevo valor (coeficiente) que es el que mide en valor abs"oluto la diferencia entre el nmero de Si y No que aparecen en dichas condiciones, eligindose el de mayor valr absoluto. si subsiste la igualdad se elige indiferentemente cualquiera de las condi_
repite el proceso (pasos l a 4) hasra la rtima condicin.

dr re

guientes:

Sea, por ejemplo una .

TD de 4 condiciones y 7 reglas con las indiferencias si-

Pt

R1

R2
S
N

R3

R4
S

R5

R6
N

R7

c1

s
N
N

C.

c2 c3

s
N S

Rr

c4

F S S

FI

TABLAS DE DECISION 193

Paso

R4 y R7 Rl, R2 y R5
R3 y

R6

reglas simples (coeficiente l/R4: I, R7: l). reglas compuestas con una indiferencia (equivale cada una a dos reglas simples; coeficiente 2/Rl R2: R5 :2). reglas compuestas con dos indiferencias (equivale cada una a cuatro reglas simples; coeficiente 4/R3 R6 4).

Paso 2

Condiciones

Indiferencias

Coeficientes

c1R34 c2R52 C3 R1, R2, R3, R6 2+2+4+4=12 c4n64


Se eJige

la condicin C2 por ser la de coeficiente mnimo.

Rl
c1
N

R2 R3 R4 R5 RG R7
S
N S

Coeficientes

N N

s
N N

tl'

c2
a2 CA

5
N

S S

12

Condiciones224124l

Al

evaluar la condicin C2 (S

y N), la TD

se transforma en dos tablas

derivadas de la eliminacin de la condicin C2.IA primera tabla contiene las reglas en las que la condicin C2 tiene el valor S y la segunda el valor N (las indiferencias tienen los valores doble S y N).

Paso 3

Las evaluaciones siguientes a partir de C2 es para Cl y C4 por orden de coeficiente (Cl para C2 con evaluacin N y C4 para evaluacin S).
C2 con evaluacin S
.jli:1:

Regla Coeficiente Condiciones Indiferencia CoeJiciente Rl2ClR34 R1- R3 2+4=6 R3 4 C3 R4 1 Ninguna 0 C4 R5


1

194

METODOLOGIA DE LA PROGRAMACION es

La siguiente condicin
C2 con evaluacin

C4 (coeficiente 0).

N
Condiciones

Regla R22
R5 R6 R7

Coe/iciente
1

Indiferencia
Ninguna

CoeJiciente

c1

4
1

c3 c4

R2, R6
R6

2+ 4=6
4

La siguiente condicin es

Cl

(coeficiente 0).

Coeficient*

Coeficientes

4
6
;

o
6

Paso 4

y repeticiones

A partir de c2 se analizarn los dos

,", :ffl,:corrvaluacin
CoeJieientes C1

se

to-u rulndi.i; A;u-q;;i;"coeficientes y

posib-res estados

o respuestas s, N.

c4_O
,orrf"ru

c3_6

Condiciones R1

R3_1 R4_
se

R2_4
1

c2 con evaluacin N

toma la condicin

cl ya que los coeficientes

Coeficientes

c3_6 c4_4

Cl

Condiciones Rl

R7_1

R6_4

R5_1

TABLAS DE DECISION 195

El diagrama resultante ser

1 R4 R5

Coeficientes

R2 R5 R7

Coeficientes

(c) Estado

() Estado N

A partir de la condicin c4 se derivarn cl y de la condicin SI, c3 con s.r dos estados. De la condicin cl se derivarn c4 y de la condicin SI de c4 condicin C3.

196

METODOLOGIA DE LA PROGRAMACION

Diagnma de flujo derivado de C4

Diagnma de flujo derivado de Cl

TABLAS DE DECISION 197

Paraobtenerel,diagramadeflujofinalbastariruniendolosdiagramasde

iujo

parciales.

Diagnma de fluio total

LasregtasindicarnlasaccionesarealizarencadacasosegnlaTDinicial. l coificacin resultante en pseudocdigo ser:


SI L

entonces si C4 entonces si C1 entonces si C3 entonces <R5>

sino <R4>

if
I

fin-si
sino <R1>

fin-si
sino <R3>

fin-si
sino si C1 entonces

198

METODOLOGIA DE LA PROGRAMACION

c4
entonces
s

fin-si fin-si fin-si fin-si


Ejemplo

c3 entonces <RS> sino <R7>

sino <R2>

sino <R6>

Convertir en diagrama de flujo la siguiente TD:

c1

c2 c3
A1

N N

N
N N

x
X X X

A2
A3 A4

Solucin

El orden de las condiciones se realizar por su importancia. En este caso el orden es cl, c2 y c3 ya que se es el orden en dondi ms regtas aparecen.
As pues el diagrama de flujo corrcsponcliente ser:

Anda mungkin juga menyukai