You are on page 1of 39

Programacin

LGEBRA DE BOOLE

Introduccin a la Programacin
Algebra de Boole
Programacin

Cuatro sillas se ubican en una fila, segn muestra


la siguiente figura:

Cada silla puede estar ocupada (1) o vaca (0).


Escriba una funcin lgica F(A,B,C,D) que ha de
ser igual a 1 si y slo si hay dos sillas adyacentes
que se encuentren vacas.
Introduccin
Programacin

 En 1815 George Boole propuso una


herramienta matemtica que llamamos
lgebra de Boole.
 Luego en 1938 Claude Shannon propuso
que con esta lgebra es posible modelar
los llamados Sistemas Digitales.
 pero qu es un lgebra?
 y cmo es el lgebra de Boole?
lgebras
Programacin

Son estructuras matemticas de la siguiente


forma:

A = ({........}, + , ,...)
conjunto operaciones

 constantes (elementos del


conjunto)
 variables (representan
elementos del conjunto)
Ejemplos de lgebras
Programacin

lgebra de los enteros con la suma y el


producto:

Ejemplo de expresin algebraica:


variables

constante

operaciones
Ejemplos de lgebras
Programacin

lgebra de los valores lgicos:

Ejemplo de expresin algebraica:


variables

constante

operaciones
Ejemplos de lgebras
Programacin

lgebra de Boole (valores booleanos):

Ejemplo de expresin algebraica:


variables

constante

operaciones
lgebra de Boole en el computador
Programacin

mundo real

valores
lgicos

valores
booleanos
(bits)

computador
Operaciones lgicas y operaciones booleanas
Programacin

F V F V
F F V F F F F V
V V V V F V V F

+ 0 1 0 1
0 0 1 0 0 0 0 1
1 1 1 1 0 1 1 0
Variables lgicas variables booleanas
Programacin

Ejemplo:
falso - 0
p = hoy est lloviendo verdadero - 1

falso - 0
q = me encontrar con ella en el bar
verdadero - 1
falso - 0
r = hay clases en Enero
verdadero - 1

etc.
Identificacin de variables lgicas o booleanas
Programacin

En un torneo de magos, se enfrentan Harry Potter y el mago Merln. El


pblico se encuentra dividido en sus pronsticos sobre quin ser el
ganador en tal especial evento. Las personas mayores de 40 aos y
que no han ledo a J.K. Rowling, se inclinan por pensar que el mago
Merln ser el justo ganador Aquellos que han visto todas las
pelculas de Harry Potter y leyeron a J.K. Rowling, no dudan que ste
ser el ganador. Aquellas personas que tienen 40 aos o menos, que
no conocen a Harry Potter ni por la pelcula ni por los libros de J.K.
Rowling, se inclinarn necesariamente por Merln. Finalmente, las
personas con edades 40 aos y menores, que no han ledo a J.K.
Rowling, pero se han visto todas las pelculas de Harry, creen que ste
ganar el torneo.
Variables relevantes:
a= ser mayor de 40 aos
b= haber ledo a J.K.Rowling
c= haber visto las pelculas de Harry Potter
d= creer que Harry Potter ganar la batalla (variable de salida)
Identificacin de variables lgicas o booleanas
Programacin

Un estudiante de la Universidad del Tamarugo, en plena pampa de la


I regin, consulta por Internet la Gua de Ingreso y encuentra que
puede matricularse en un determinado curso si cumple las siguientes
condiciones:
- Estudia Ingeniera en Minas y es de bajos recursos econmicos
- O tiene aprobado como mnimo el 60 % de sus asignaturas y es muy
buen estudiante
-O tiene aprobado menos del 60 % de sus asignaturas y es de bajos
recursos econmicos
-O tiene aprobado como mnimo el 60 % de sus asignaturas y estudia
Ingeniera en Minas.

Identifique las variables relevantes de entrada y la variable de salida


Analoga con circuito elctrico
Programacin

 La flecha indica el sentido


de circulacin de corriente

 Interruptor abierto, o en
posicin de desconexin

 Interruptor cerrado, o en
posicin de conexin
Circuito elctrico
Programacin

 Ejemplo:
 El interruptor est
abierto (desconexin).
No hay paso de
corriente

 El interruptor est
cerrado (conexin). Hay
paso de corriente
Circuitos en Serie
(y lgico, booleana)
Programacin

 Circuitos en Serie
 Todos los interruptores de un circuito en serie deben
estar cerrados para que pueda circular la corriente:
 Los dos interruptores A y B deben estar cerrados para
que pueda circular la corriente por este circuito.

A B CORRIENTE Cuatro combinaciones


posibles con dos
Abierto Abierto No pasa
interruptores
Abierto Cerrado No pasa
Cerrado Abierto No pasa
Cerrado Cerrado Pasa
Circuitos en Serie
(y lgico, booleana)
Programacin

 Introduzcamos ahora la siguiente notacin:


 0 significa interruptor abierto o no circula corriente.
 1 significa interruptor cerrado o circula la corriente.
 representa la operacin lgica Y. Por ejemplo, A B
se lee A Y B.

A B CORRIENTE AB
0 0 0
0 1 0
1 0 0
1 1 1
Circuitos en Paralelo
(o lgico, + booleana)
Programacin

 Circuitos en Paralelo
 En los circuitos en paralelo basta que uno de los
interruptores est cerrado para que pueda circular la
corriente.
 En este circuito habr flujo o paso de corriente si A, o B, o
ambos, estn cerrados.

A B CORRIENTE
Abierto Abierto No pasa
Abierto Cerrado Pasa
Cerrado Abierto Pasa
Cerrado Cerrado Pasa
Circuitos en Paralelo
(o lgico, + booleana)
Programacin

 Introduzcamos ahora la siguiente notacin:


 0 significa interruptor abierto o no circula corriente.
 1 significa interruptor cerrado o circula la corriente.
 + representa la operacin lgica O. Por ejemplo, A+B se
lee A O B.

A B CORRIENTE A+B
0 0 0
0 1 1
1 0 1
1 1 1
Circuitos en Serie y
Circuitos en Paralelo
Programacin

 Ejercicios: Obtenga las funciones lgicas que


(1) representan cada uno de los siguientes circuitos:
(2)

(3)
Funciones Booleanas
Programacin

Entradas Salidas Expresiones


booleanas
A A+B
AB
_
B A

Cmo se forma una funcin?


- Algebra de valores lgicos y lgebra de Boole
Cmo se implementa la funcin?
- Depende de la tecnologa
Cmo se simplifica la funcin?
- Algebra de Boole
Tabla de Verdad para la suma booleana
Programacin

 Funcin Suma (+):


 corresponde al O (en espaol) lgico ENTRADAS SALIDA
 OR (en ingls)
A B A+B
 Tabla de verdad: (AYUDE A
COMPLETARLA..) 0 0 0
0 1 1
1 0 1
1 + 1 = 1 !!!
1 1 1

A+B

A OR B Tabla de Verdad
Tabla de Verdad para el producto booleano
Programacin

 Funcin Producto ():


 Corresponde al Y (en espaol) lgico ENTRADAS SALIDA
 AND (en ingls)
 Tabla de verdad: (AYUDE A A B A B
COMPLETARLA..)
0 0 0

0 1 0

1 0 0

PQ 1 1 1


P AND Q
Tabla de Verdad para el complemento booleano
Programacin

 Funcin Complemento ( , ~ ):
 Corresponde al NO (en espaol) lgico
 NOT (en ingls) ENTRADA SALIDA
 Tabla de verdad: (AYUDE A
COMPLETARLA..) A A
0 1
1 0

NOT A A
Conversin Tabla de Verdad a Expresin
Lgica
Programacin

 Observe la tabla de verdad


 Considere cada combinacin de entradas cuya
salida sea 1.
 Las combinaciones elegidas se formarn como
suma de productos de esas entradas.
 Si una entrada vale 0, la variable se muestra
como complementada. Si vale 1, la variable se
muestra sin complementar.
Ejemplo de Conversin
Programacin

Sea la siguiente tabla de verdad:


Encontrar la expresin booleana de la
salida (C)

Solucin:
De la explicacin anterior, se consideran
slo los estados de A y B para cada lnea
en la que C es 1, se organizan como
productos (funcin AND) y se unen
mediante la funcin OR (suma).
C=AB+AB
mintrmino
Otro ejemplo:
Programacin

 Sea la siguiente Tabla de verdad:

Encontrar la expresin booleana de


la salida (f)
Ejercicio
Programacin

 Expresar como suma de mintrminos las funciones


dadas en la siguiente tabla de verdad:
Ejercicio
Programacin
 Un circuito de control industrial tiene cuatro
entradas: A, B, C, D que activan una nica
salida X, de acuerdo a las siguientes
condiciones de operacin:
 i) Si C y A se encuentran activas (1) al mismo tiempo, la salida
(X) estar activa.
 ii) Si D est inactiva y A est activa, y al menos una de las
restantes entradas se encuentra activa, la salida (X) estar
activa.
 iii) Si D y A se encuentran inactivas al mismo tiempo y al
menos una de las restantes entradas se encuentra activa, la
salida estar activa.
 iv) Cualquier otra combinacin distinta a las anteriores
ocasionar que la salida se encuentre inactiva (0)
 Obtenga la tabla de verdad y la funcin
booleana para la salida X.
Teoremas Booleanos
Programacin

 El lgebra de Boole define varios teoremas para


simplificar expresiones booleanas
 Ley conmutativa:
 AB=BA
 A + B = B+A
 Ley asociativa:
 A(BC) = (AB)C
 A+(B+C)=(A+B)+C
 Ley distributiva:
 A(B+C) = AB + AC
 A + BC = (A+B) (A + C)
Teoremas Booleanos
Programacin

 Ley de la absorcin:
 A + AB= A
 A(A+B)=A
 Leyes de DeMorgan:

A+B=AB
AB = A + B
Teoremas Booleanos
Programacin

 Operacin suma lgica (OR):


 El resultado es 1 si alguno de los sumandos es 1
 1+A=1
 0+A=A
 A+A=A

A+A=1
Teoremas Booleanos
Programacin

 Operacin producto lgico (AND):


 El resultado es 0 si alguno de los elementos es 0
 1. A = A
 0.A=0
 A.A=A

 A.A=0
Teoremas Booleanos
Programacin

 Operacin Negacin (NOT):


0=1
1=0
A=A
Simplificacin de Funciones usando Teoremas y
Propiedades
Programacin

 Se desea reducir la siguiente expresin,


haciendo uso de los teoremas booleanos.
D = BC + ABC + ABC + ABC
 Solucin: D = BC + ABC + ABC + ABC

D = BC + ABC + BC(A + A)
D = BC + ABC + BC
D = ABC + C(B + B)
D = AB + C
EJERCICIOS
Programacin

 Cuatro sillas se ubican en una fila, segn


muestra la siguiente figura:

 Cada silla puede estar ocupada (1) o vaca (0).


 Escriba una funcin lgica F(A,B,C,D) que ha de ser igual a 1 si
y slo si hay dos o ms sillas adyacentes que se encuentren
vacas. Para encontrar la funcin lgica, usted debe obtener:

a) Una Tabla de Verdad.


b) La funcin booleana que representa la tabla obtenida.
d) La expresin mnima en suma de productos mediante el uso de
propiedades booleanas
EJERCICIOS
Programacin

 Un circuito de control industrial tiene cuatro entradas: A,


B, C, D que activan una nica salida X, de acuerdo a las
siguientes condiciones de operacin:
 i) C y A pueden encontrarse activas (1) al mismo tiempo.
 ii) Si D est inactiva y A est activa, y al menos una de las
restantes entradas se encuentra activa, la salida (X) estar
activa.
 iii) Si D y A se encuentran inactivas al mismo tiempo y al menos
una de las restantes entradas se encuentra activa, la salida
estar activa.
 iv) Cualquier otra combinacin distinta a las anteriores
ocasionar que la salida se encuentre inactiva (0)

 Obtenga la tabla de verdad para la salida X


 Obtenga la funcin booleana que representa la salida x
 Obtener la expresin mnima en forma de suma de
productos, usando propiedades del lgebra de Boole.
EJERCICIOS
Programacin

 Un estudiante ser seleccionado para participar en un programa


experimental si pertenece, al menos, a uno de los grupos siguientes:
 Varn, no de 2 ciclo, chileno
 De 2 ciclo, chileno, no sabe programar
 Varn, de 2 ciclo, chileno
 Mujer, de 2 ciclo, sabe programar
 No de 2 ciclo, chileno, no sabe programar
 Mujer, no de 2 ciclo, chilena

 De lo anterior desarrolle lo siguiente:


 Represente el problema anterior mediante una tabla de verdad.
 Deduzca la funcin en base a sumas de mintrminos.
 Se pide encontrar mediante propiedades del Algebra de Boole, una funcin mnima
que permita seleccionar al candidato.
EJERCICIOS
Programacin
Se desea disear un sistema de control de calidad de un producto. El
producto se somete a cuatro pruebas: A, B, C y D. El producto se
declarar Rechazado, Apto, Bueno o Excelente en funcin de los
siguientes criterios:
 Rechazado: Si pasa una o ninguna prueba

 Apto: Si pasa la prueba A y alguna de las otras tres pruebas

 Bueno: Si pasa la prueba A y dos de las otras tres pruebas

 Excelente: Si pasa las cuatro pruebas

Un producto slo puede pertenecer a una nica categora.


 Escribir la tabla de verdad del sistema.
 Expresar cada variable de salida en forma de suma de productos.
 Simplificar la funcin correspondiente a la variable de salida
Rechazado usando las propiedades del Algebra de Boole.
Ejercicios
Programacin

 Simplifique las siguientes funciones a la mnima


expresin usando slo las propiedades del
Algebra de Boole.
(
f = A BC + A + B + C + A BC D )
( )(
f = ( AB + C + D ) C + D C + D + E )
( )(
f = X ZY + X ZY + Z X Y (Z + X ) + Y Z + Y X Z )
f = (((A + BC )(C + BC ))+ ((AB + C )(AB + BC )))

You might also like