Funciones Booleanas
Funciones Booleanas
Funciones Booleanas
Funciones Booleanas
• Fundamentos del álgebra de Boole
• Compuertas lógicas
• Descripción de circuitos lógicos en
forma algebraica
Contenido 2. Circuitos lógicos combinatorios
3. Diseño de soluciones a problemas
empleando circuitos lógicos
combinatorios
1
Funciones Booleanas Funciones Booleanas
• George Boole (1815 - 1864) fue un famoso matemático de origen inglés que
publicó un tratado sobre las leyes del pensamiento, el cual sustenta las
teorías de la lógica y la probabilidad.
• El aporte de Boole fue fundamental, ya que permitió reducir la lógica a un
álgebra simple (las matemáticas).
• Para ello, estableció la analogía entre los símbolos algebraicos y aquellos
que representan sus formas lógicas.
• A continuación anotamos algunos aspectos de interés sobre ello:
• El álgebra Booleana o de Boole, consiste en un método para resolver
problemas de lógica empleando para ello valores binarios 1 y 0 y a tres
operadores: AND (y), OR (ó) y NOT (no).
• El álgebra Booleana se emplea en la construcción de computadoras,
circuitos eléctricos, etc.
• Es fundamental destacar que los sistemas modernos trabajan a partir de
lógica binaria.
2
Funciones Booleanas
Algunas de las aplicaciones más importantes
del álgebra de Boole son las que se anotan a
continuación:
• En términos generales, el álgebra de
Boole se puede emplear a cualquier
sistema en que cada variable posea dos
estados (1 y 0).
• Las computadoras modernas realizan
sus operaciones y almacenan la
información empleando valores
binarios (1 y 0) y realizan sus
operaciones en base al álgebra de
Boole.
• Se emplea en el diseño de circuitos
electrónicos.
https://youtu.be/u4VhsP-CZbY • Se emplea ampliamente en la
programación (condiciones lógicas).
3
Funciones Booleanas
Compuertas Lógicas
Programación 4
Compuertas Lógicas
Las compuertas lógicas se constituyen en los elementos de construcción
fundamental en la lógica combinatoria, con esto, debemos considerar lo
siguiente:
• Las compuertas son circuitos electrónicos que se pueden emplear para
implementar la mayoría de las expresiones lógicas elementales (conocidas
como expresiones Booleanas).
• Básicamente existen 3 compuertas: OR, AND y NOT. A partir de éstas se
derivan otras compuertas como la NAND, NOR, la XOR (OR exclusiva) y
la XNOR (la NOR exclusiva).
• Las compuertas trabajan con dos valores de “verdad”, 1 y 0, y al igual que
en la lógica proposicional, es factible construir tablas de verdad con cada
compuerta y sus combinaciones con otras compuertas.
• Dentro del álgebra Booleana las variables se emplean para representar el
nivel de voltaje presente en un cable o en las entradas/salidas de un
circuito.
5
Compuertas Lógicas
Por ejemplo, en cierto sistema digital el valor booleano 0 podría asignarse a
cualquier voltaje en el intervalo 0 a 0.8 voltios, mientras que el 1 booleano
podría asignarse a cualquier voltaje entre 2 y 5 voltios.
Por ello, se debe tomar en cuenta que el 1 y 0 booleanos no representan
números reales, sino el estado de una variable de voltaje o el nivel lógico.
Tablas de verdad A B ? X
0 0 1
0 1 0
1 0 1
1 1 0
A B C ? X
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1 8
Entradas Salidas
A B X=A+B
0 0 0
0 1 1
1 0 1
1 1 1 𝑋 =𝐴+𝐵
A B X=A∙B
0 0 0
0 1 0
1 0 0
1 1 1 𝑋 =𝐴∙𝐵
10
Entradas Salidas
A X = ~A
0 1
1 0
A B X = 𝐴⨁𝐵
0 0 0
0 1 1
1 0 1
1 1 0
𝑋 = 𝐴⨁𝐵 = 𝐴 ∙ 𝐵ത + 𝐴ҧ ∙ 𝐵
= (𝐴 + 𝐵) ∙ (𝐴ҧ ∙ 𝐵)
ത
12
Entradas Salidas
A B X = 𝐴⨁𝐵
0 0 1
0 1 0
1 0 0
1 1 1
𝑋 = 𝐴⨁𝐵 = 𝐴 ∙ 𝐵 + 𝐴ҧ ∙ 𝐵ത
13
Entradas Salidas
A B X=𝐴+𝐵
0 0 1
0 1 0
1 0 0
1 1 0
𝑋 =𝐴+𝐵
14
Entradas Salidas
A B X = 𝐴𝐵
0 0 1
0 1 1
1 0 1
1 1 0
𝑋 =𝐴∙𝐵
15
Funciones Booleanas
Descripción de circuitos lógicos en forma algebraica
Programación 16
Descripción de circuitos lógicos en forma
algebraica
• Una función lógica o circuito se define de forma completa
cuando para todas las posibles combinaciones de las variables de
entrada la función de valor se encuentra establecida:
• El número de combinaciones depende de la cantidad de variables
de entrada (A, B, C, D, . . . ):
• Total de combinaciones = 2n, donde n representa cuántas
variables se tiene a la entrada del circuito.
• También es posible obtener una función lógica a partir de una
tabla de verdad.
17
Descripción de circuitos lógicos en forma
algebraica
Supongamos que X(A, B, C) representa un circuito con tres
variables y la siguiente tabla de verdad: Ejemplo de tabla de
verdad con tres variables de entrada
Decimal A B C ? X
0 0 0 0 1
1 0 0 1 0
2 0 1 0 0
3 0 1 1 1
4 1 0 0 1
5 1 0 1 0
6 1 1 0 1
https://es.wikipedia.org/wiki/Sistema_binario
7 1 1 1 1
18
Descripción de circuitos lógicos en forma
algebraica
Si deseamos obtener el circuito o función lógica a partir de esta
tabla, debemos únicamente considerar aquellas salidas que tienen
un valor de 1 para x: Ejemplo de tabla de verdad con tres variables
de entrada A B C ? X
𝐴ҧ 𝑎𝑛𝑑 𝐵ത 𝑎𝑛𝑑 𝐶ҧ 𝐴ҧ ∙ 𝐵ത ∙ 𝐶ҧ 0 0 0 1
0 0 1 0
0 1 0 0
𝐴ҧ 𝑦 𝐵 𝑦 𝐶 𝐴ҧ ∙ 𝐵 ∙ 𝐶 0 1 1 1
𝐴 ∙ 𝐵ത ∙ 𝐶ҧ 1 0 0 1
1 0 1 0
𝐴 ∙ 𝐵 ∙ 𝐶ҧ 1 1 0 1
𝐴∙𝐵∙𝐶 1 1 1 1
19
Descripción de circuitos lógicos en forma
algebraica
Con ello, el circuito o función lógica se expresaría como se indica
en la ecuación: ∪ 𝑜𝑟 𝑜
𝑋 = 𝐴ҧ ∙ 𝐵ത ∙ 𝐶ҧ + 𝐴ҧ ∙ 𝐵 ∙ 𝐶 + 𝐴 ∙ 𝐵ത ∙ 𝐶ҧ + 𝐴 ∙ 𝐵 ∙ 𝐶ҧ + 𝐴 ∙ 𝐵 ∙ 𝐶
20
Bibliografía
[1] Luis Joyanes Aguilar; Fundamentos generales de
programación; Editorial McGraw Hill, 5ta Edición; Madrid
2013
[2] R. Martínez Fernández; Programación en C: Ejercicios;
Editorial UPM, 1ra redición; Madrid 2014
[3] K.N King; C programming: A modern aproach; Editorial
W.W.Norton and Company , 2da edición; 2008
[4] Doug Abbott; Linux for embedded and real time aplications;
Editorial Newnes, 3ra edición; 2013
[5] Noel Kalicharan; Learn to Program with C; Editorial Apress,
1ra edición; 2015
[6] Michael J. Quinn; Parallel programming in C with MPI and
openMP; Editorial McGraw Hill; 2003
21