Está en la página 1de 29

ÁLGEBRA DE BOOLE

ALGEBRA DE BOOLE

 Esun formalismo que conlleva a la creación


de FUNCIONES LÓGICAS donde las mismas
relacionan una variable binaria de salida
con una o mas de entrada.
Dichas funciones se basan en una serie de
postulados y teoremas que
imponen las reglas de juego entre dichas
variables.
OPERADORES LOGICOS

 ANDcuyo símbolo es “●” ó “∧”


OR cuyo símbolo es “+” ó “∨”
NOT cuyo símbolo es “¯” ó ‘

 EJEMPLOS:
A●B=A∧B=AB
C+D=C∨D
Ā = A’
REPRESENTACION DE FUNCIONES LOGICAS

•Ecuaciones Lógicas ó booleanas.


•Tabla de verdad.
•Operadores lógicos gráficos (compuertas)
•Diagramas de Karnaugh (método gráfico)
TABLA DE VERDAD

Si una función tiene


“n” variables de
entrada existirán 2n
combinaciones
diferentes entre las
mismas.
n=1 2
n=2 4
n=3 8
n=4 16
etc……
EJEMPLOS:
OPERADORES LOGICOS GRAFICOS
ECUACIONES LOGICAS
EJEMPLO
FUNCIONES CANONICAS

 FUNCIÓN CANÓNICA DE PRIMERA Y SEGUNDA FORMA


Para 2 variables A y B, hay 22 términos en total.
Los mintérminos son: A’.B’, ‘A.B, A.B’ y A.B
Los maxtérminos son: A+B, A+B’, ‘A+B y A’+B’
EJEMPLO

f(A,B,C)= A’BC’+AB’C’+AB’C+ABC’ FORMA CANONICA


SUMA DE PRODUCTOS
A B C f(A,B,C)
0 0 0 0 0
1 0 0 1 0
2 0 1 0 1
3 0 1 1 0
4 1 0 0 1
5 1 0 1 1
6 1 1 0 1
7 1 1 1 0
SIMPLIFICACION
 ALGEBRAICA

f(A,B,C) = ABC + AB’(A’C’)’


= ABC + AB’ (A+C) LEY DE MORGAN
= ABC + AB’A + AB’C DISTR
= ABC + AB’ + AB’C IDEMPOTENCIA
= AC(B+B’) + AB’
= AC + AB’
= A (C+B’)

A+A’= 1
A.A’=0
MAPA DE KARNAUGH
EJEMPLO
f(A,B,C)= A’BCD’+A’BCD+AB’C’D’+AB’C’D+AB’CD’+AB’CD+ABC’D’+
ABC’D+ABCD’+ABCD
A B C D f(A,B,C)

0 0 0 0 0 0

1 0 0 0 1 0

2 0 0 1 0 0

3 0 0 1 1 0

4 0 1 0 0 0

5 0 1 0 1 0

6 0 1 1 0 1

7 0 1 1 1 1

8 1 0 0 0 1

9 1 0 0 1 1

10 1 0 1 0 1

11 1 0 1 1 1

12 1 1 0 0 1

13 1 1 0 1 1

14 1 1 1 0 1

15 1 1 1 1 1
f(A,B,C,D)= m (0,1,2,3,5,8,10,12,14)

A B C D f(A,B,C,D)
0 0 0 0 0 1
1 0 0 0 1 1
2 0 0 1 0 1
3 0 0 1 1 1
4 0 1 0 0 0
5 0 1 0 1 1
6 0 1 1 0 0
7 0 1 1 1 0
8 1 0 0 0 1
9 1 0 0 1 0
10 1 0 1 0 1
11 1 0 1 1 0
12 1 1 0 0 1
13 1 1 0 1 0
14 1 1 1 0 1
15 1 1 1 1 0
 F(A,B)=
Ejemplo.
 Tenemos una puerta que se puede controlar desde 2 habitaciones contiguas.
Para que la puerta funcione debe estar accionando cualquiera de los 2
pulsadores existentes, la puerta no se abrirá si dos operarios accionan
simultáneamente.

 Variables: A = PULSADOR 1
B = PULSADOR 2

 Salida: ABRIR LA PUERTA!!


 2 compuertas NOT
 2 compuertas AND
 1 compuerta OR

M = A. B + A . B
EJ. 11
 A) Plantear una función booleana que modelice el ej.
 B) Tabular dicha función.
 C) Simplificarla.
 D) Diseñar un circuito para la función.
 E) Modelizar el problema con Arduino.

 Una junta directiva de una empresa esta formada por cuatro


miembros, uno de los cuales es el presidente. Las decisiones se
toman por mayoría simple y en caso de empate decide el voto
del presidente.
Se desea diseñar una maquina con cuatro pulsadores (uno para
cada miembro), cuya salida de el resultado de la votación.
A B

C D
f(A,B,C,D)= m7+m9+m10+m11+m12+m13+m14+m15
Pte

A B C D f(A,B,C,D)
0 0 0 0 0 0
F= a’bcd + ab’c’d+
1 0 0 0 1 0
2 0 0 1 0 0
3 0 0 1 1 0
4 0 1 0 0 0
5 0 1 0 1 0
6 0 1 1 0 0
7 0 1 1 1 1
8 1 0 0 0 0
9 1 0 0 1 1
10 1 0 1 0 1
11 1 0 1 1 1
12 1 1 0 0 1
13 1 1 0 1 1
14 1 1 1 0 1
15 1 1 1 1 1
F= a’bcd+ab’c’d+
m7+m9+m10+m11+m12+m13+m14+m15

F=ab+ac+ad+bcd
A .

B .

C .

D .

F= ab+ac+ad+bcd
int resp1 = 0;
void loop()
int resp2 = 0; {
int resp3 = 0; resp1 = digitalRead(boton1);
resp2 = digitalRead(boton2);
int resp4 = 0;
resp3 = digitalRead(boton3);
resp4 = digitalRead(boton4);
int led1 = 6;
if(resp1 == HIGH && resp2 == HIGH)
int led2 = 7;
{
int boton1 = 10; digitalWrite(led1, HIGH);
int boton2 = 11; digitalWrite(led2, LOW);
}
int boton3 = 12;
else if (resp1 == HIGH && resp3 == HIGH)
int boton4 = 13; {
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
void setup()
}
{ else if (resp1 == HIGH && resp4 == HIGH)
pinMode(led1, OUTPUT); {
digitalWrite(led1, HIGH);
pinMode(led2, OUTPUT);
digitalWrite(led2, LOW);
pinMode(boton1, INPUT); }
pinMode(boton2, INPUT); else if (resp2 == HIGH && resp3 == HIGH && resp4 == HIGH)
{
pinMode(boton3, INPUT);
digitalWrite(led1, HIGH);
pinMode(boton4, INPUT); digitalWrite(led2, LOW);
} }
else
{
digitalWrite(led2, HIGH);
digitalWrite(led1, LOW);
}
delay(5000);
}

También podría gustarte