Está en la página 1de 39

Programación

ÁLGEBRA DE BOOLE

“Introducción a la Programación”
Algebra de Boole
Programación

Cuatro sillas se ubican en una fila, según muestra


la siguiente figura:

Cada silla puede estar ocupada (“1”) o vacía (“0”).


Escriba una función lógica F(A,B,C,D) que ha de
ser igual a 1 si y sólo si hay dos sillas adyacentes
que se encuentren vacías.
Introducción
Programación

 En 1815 George Boole propuso una


herramienta matemática 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 ¿cómo es el álgebra de Boole?
Álgebras
Programación

Son estructuras matemáticas de la siguiente


forma:

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

 constantes (elementos del


conjunto)
 variables (representan
elementos del conjunto)
Ejemplos de Álgebras
Programación

Álgebra de los enteros con la suma y el


producto:

Ejemplo de expresión algebraica:


variables

constante

operaciones
Ejemplos de Álgebras
Programación

Álgebra de los valores lógicos:

Ejemplo de expresión algebraica:


variables

constante

operaciones
Ejemplos de Álgebras
Programación

Álgebra de Boole (valores booleanos):

Ejemplo de expresión algebraica:


variables

constante

operaciones
Álgebra de Boole en el computador
Programación

mundo real

valores
lógicos

valores
booleanos
(bits)

computador
Operaciones lógicas y operaciones booleanas
Programación

∨ 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 lógicas – variables booleanas
Programación

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.
Identificación de variables lógicas o booleanas
Programación

En un torneo de magos, se enfrentan Harry Potter y el mago Merlín. El


público se encuentra dividido en sus pronósticos sobre quién será el
ganador en tal especial evento. Las personas mayores de 40 años y
que no han leído a J.K. Rowling, se inclinan por pensar que el mago
Merlín será el justo ganador Aquellos que han visto todas las
películas de Harry Potter y leyeron a J.K. Rowling, no dudan que éste
será el ganador. Aquellas personas que tienen 40 años o menos, que
no conocen a Harry Potter ni por la película ni por los libros de J.K.
Rowling, se inclinarán necesariamente por Merlín. Finalmente, las
personas con edades 40 años y menores, que no han leído a J.K.
Rowling, pero se han visto todas las películas de Harry, creen que éste
ganará el torneo.
Variables relevantes:
a= ser mayor de 40 años
b= haber leído a J.K.Rowling
c= haber visto las películas de Harry Potter
d= creer que Harry Potter ganará la batalla (variable de salida)
Identificación de variables lógicas o booleanas
Programación

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


I región, consulta por Internet la Guía de Ingreso y encuentra que
puede matricularse en un determinado curso si cumple las siguientes
condiciones:
- Estudia Ingeniería en Minas y es de bajos recursos económicos
- O tiene aprobado como mínimo el 60 % de sus asignaturas y es muy
buen estudiante
-O tiene aprobado menos del 60 % de sus asignaturas y es de bajos
recursos económicos
-O tiene aprobado como mínimo el 60 % de sus asignaturas y estudia
Ingeniería en Minas.

Identifique las variables relevantes de entrada y la variable de salida


Analogía con circuito eléctrico
Programación

 La flecha indica el sentido


de circulación de corriente

 Interruptor abierto, o en
posición de desconexión

 Interruptor cerrado, o en
posición de conexión
Circuito eléctrico
Programación

 Ejemplo:
 El interruptor está
abierto (desconexión).
No hay paso de
corriente

 El interruptor está
cerrado (conexión). Hay
paso de corriente
Circuitos en Serie
(“y” lógico, “·” booleana)
Programación

 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” lógico, “·” booleana)
Programación

 Introduzcamos ahora la siguiente notación:


 0 significa interruptor abierto o “no circula corriente”.
 1 significa interruptor cerrado o “circula la corriente”.
 ● representa la operación lógica “Y”. Por ejemplo, A ● B
se lee “A Y B”.

A B CORRIENTE ó A●B
0 0 0
0 1 0
1 0 0
1 1 1
Circuitos en Paralelo
(“o” lógico, “+” booleana)
Programación

 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, están cerrados.

A B CORRIENTE
Abierto Abierto No pasa
Abierto Cerrado Pasa
Cerrado Abierto Pasa
Cerrado Cerrado Pasa
Circuitos en Paralelo
(“o” lógico, “+” booleana)
Programación

 Introduzcamos ahora la siguiente notación:


 0 significa interruptor abierto o “no circula corriente”.
 1 significa interruptor cerrado o “circula la corriente”.
 + representa la operación lógica “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
Programación

 Ejercicios: Obtenga las funciones lógicas que


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

(3)
Funciones Booleanas
Programación

Entradas Salidas Expresiones


booleanas
A A+B
A·B
_
B A

¿Cómo se forma una función?


- Algebra de valores lógicos y álgebra de Boole
¿Cómo se implementa la función?
- Depende de la tecnología
¿Cómo se simplifica la función?
- Algebra de Boole
Tabla de Verdad para la suma booleana
Programación

 Función Suma (+):


 corresponde al O (en español) lógico ENTRADAS SALIDA
 OR (en inglés)
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
Programación

 Función Producto (·):


 Corresponde al Y (en español) lógico ENTRADAS SALIDA
 AND (en inglés)
 Tabla de verdad: (AYUDE A A B A •B
COMPLETARLA..)
0 0 0

0 1 0

1 0 0

P•Q 1 1 1

ó
P AND Q
Tabla de Verdad para el complemento booleano
Programación

 Función Complemento ( ’ , ~ ):
 Corresponde al NO (en español) lógico
 NOT (en inglés) ENTRADA SALIDA
 Tabla de verdad: (AYUDE A
COMPLETARLA..) A A’
0 1
1 0

NOT A ó A’ ó
Conversión Tabla de Verdad a Expresión
Lógica
Programación

 Observe la tabla de verdad


 Considere cada combinación de entradas cuya
salida sea 1.
 Las combinaciones elegidas se formarán 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 Conversión
Programación

Sea la siguiente tabla de verdad:


Encontrar la expresión booleana de la
salida (C)

Solución:
De la explicación anterior, se consideran
sólo los estados de A y B para cada línea
en la que C es ‘1’, se organizan como
productos (función AND) y se unen
mediante la función OR (suma).
C=AB+AB
mintérmino
Otro ejemplo:
Programación

 Sea la siguiente Tabla de verdad:

Encontrar la expresión booleana de


la salida (f)
Ejercicio
Programación

 Expresar como suma de mintérminos las funciones


dadas en la siguiente tabla de verdad:
Ejercicio
Programación
 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 operación:
 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 combinación distinta a las anteriores
ocasionará que la salida se encuentre inactiva (0)
 Obtenga la tabla de verdad y la función
booleana para la salida X.
Teoremas Booleanos
Programación

 El álgebra de Boole define varios teoremas para


simplificar expresiones booleanas
 Ley conmutativa:
 A•B=B•A
 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
Programación

 Ley de la absorción:
 A + AB= A
 A(A+B)=A
 Leyes de DeMorgan:

A+B=A•B
A•B = A + B
Teoremas Booleanos
Programación

 Operación suma lógica (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
Programación

 Operación producto lógico (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
Programación

 Operación Negación (NOT):


0=1
1=0
A=A
Simplificación de Funciones usando Teoremas y
Propiedades
Programación

 Se desea reducir la siguiente expresión,


haciendo uso de los teoremas booleanos.
D = BC + ABC + ABC + ABC
 Solución: D = BC + ABC + ABC + ABC

D = BC + ABC + BC(A + A)
D = BC + ABC + BC
D = ABC + C(B + B)
D = AB + C
EJERCICIOS
Programación

 Cuatro sillas se ubican en una fila, según


muestra la siguiente figura:

 Cada silla puede estar ocupada (“1”) o vacía (“0”).


 Escriba una función lógica F(A,B,C,D) que ha de ser igual a 1 si
y sólo si hay dos o más sillas adyacentes que se encuentren
vacías. Para encontrar la función lógica, usted debe obtener:

• a) Una Tabla de Verdad.


• b) La función booleana que representa la tabla obtenida.
• d) La expresión mínima en suma de productos mediante el uso de
propiedades booleanas
EJERCICIOS
Programación

 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 operación:
 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 combinación distinta a las anteriores
ocasionará que la salida se encuentre inactiva (0)

 Obtenga la tabla de verdad para la salida X


 Obtenga la función booleana que representa la salida x
 Obtener la expresión mínima en forma de suma de
productos, usando propiedades del álgebra de Boole.
EJERCICIOS
Programación

 Un estudiante será seleccionado para participar en un programa


experimental si pertenece, al menos, a uno de los grupos siguientes:
 Varón, no de 2º ciclo, chileno
 De 2º ciclo, chileno, no sabe programar
 Varón, 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 función en base a sumas de mintérminos.
 Se pide encontrar mediante propiedades del Algebra de Boole, una función mínima
que permita seleccionar al candidato.
EJERCICIOS
Programación
Se desea diseñar 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 función 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 sólo puede pertenecer a una única categoría.


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

 Simplifique las siguientes funciones a la mínima


expresión usando sólo 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 )))

También podría gustarte