You are on page 1of 28

Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias Sociales y Administrativas Instituto Politécnico Nacional

Sistemas Digitales

Equipo

Gómez García Mario Giovanni Hernández Chávez Karla Julieta Méndez Álvarez Pablo Ruiz Salazar Daniel Sosa Ortiz Juan Pablo

1NM50

1

Índice
Portada Índice Índice de imágenes y figuras Introducción a los sistemas digitales Electrónica básica Sistemas analógicos y digitales Sistemas analógicos Sistemas digitales Sistemas numéricos posicionales Conversión entre sistemas Operaciones aritméticas básicas Operaciones con complemento Códigos Códigos numéricos Códigos alfanuméricos Algebra booleana Definición de axioma del algebra booleana Funciones lógicas and or not Forma canoníca y estándar Implementación de funciones con compuertas Sistemas uní-compuertas NAND NOR Teoremas del algebra booleana Simplificación de funciones por métodos algebraicos Simplificación de funciones por método de mapas de Karnaugh 1 2 3 4 4 5 6 6 8 11 13 14 14 14 14 15 15 15 18 20 22 26 26 27

2

3.1 (3) 5 6 7 8 9 10 11 12 13 15 16 17 18 19 19 21 22 Índice tablas Imagen 1.1 (2).3 Imagen 2.1. (3) Imagen 1.2 (5).2 Imagen 2. (2) Imagen 2.3. (3) Imagen 2.3 (1).1 (1) Imagen 1.2 (1).2 (1) Imagen 1.1 (7) Imagen 1.3.2 Imagen 1.3 (1) Imagen 1.3 (1). (2) Imagen 2.3 (2).1.4 11 12 14 15 27 28 3 .4.1. (6) Imagen 1.3.4.3. (6) Imagen 2.2.2. (3) Imagen 1. (5).2 (3) Imagen 2.3.3.2 (2) e Imagen 1.3.1.1 (1) Imagen 1. (2).1.1 (1).3.2 (4) Imagen 2.1 (2).1 (3) Imagen 1.1 (1) Imagen 2.1.1 (4).Índice imágenes Imagen 1. (3) Imagen 1. (2) Imagen 2.

pero también pueden ser mecánicos.1.2 Sistemas digitales y analógicos Un sistema digital es una combinación de dispositivos diseñado para manipular cantidades físicas o información que estén representadas en forma digital. más grande del mundo. Algunos de los sistemas digitales más conocidos incluyen las computadoras y calculadoras digitales.1 Electrónica básica Utiliza una gran variedad de conocimientos. las cantidades varían sobre un intervalo continuo de valores. Cuando se polarizaba positivamente la lámina metálica respecto al filamento. electromecánica y la informática en el diseño de software para su control. La mayoría de las veces. en un receptor de radio la amplitud de la señal de salida para una bocina puede tener cualquier valor entre cero y su límite máximo. desde los semiconductores hasta las válvulas termoiónicas. las aplicaciones de la electrónica digital se limitaron a los sistemas informáticos. Lo anterior probablemente puede atribuirse a la forma tan impresionante en que ahora la persona promedio tiene acceso a poderosas computadoras y calculadoras. Se considera que la electrónica comenzó con el diodo de vacío inventado por John Ambrose Fleming en 1904. la conversión y la distribución de la energía eléctrica. Estos dos usos implican la creación o la detección de campos electromagnéticos y corrientes eléctricas. El término Digital se deriva de la forma qn que las computadoras realizan operaciones: contando dígitos. Edison fue el primero que observó en 1883 la emisión termoiónica. el procesado. El estudio de nuevos dispositivos semiconductores y su tecnología se suele considerar una rama de la física. El funcionamiento de este dispositivo está basado en el efecto Edison. es decir. 1. a bajo costo.1. 1. que solo se puedan tomar valores discretos. se producía una pequeña corriente entre el filamento y la lámina La electrónica desarrolla en la actualidad una gran variedad de tareas. Es importante señalar que ambas representan solo una delas muchas aplicaciones de los circuitos y principios digitales. más concretamente en la rama de ingeniería de materiales. magnéticos o neumáticos. conteniendo algunos de ellos millones de transmisores. Durante muchos años. al colocar una lámina dentro de una bombilla para evitar el ennegrecimiento que producía en la ampolla de vidrio el filamento de carbón. Los sistemas digitales se emplean en muchos productos actualmente. La tecnología digital ha procesado desde los circuitos de válvulas de vacío hasta transmisores discretos y los circuitos integrados complejos. el sistema digital. En un sistema de este tip. la distribución de información. estos dispositivos son electrónicos. equipo digital de audio y video y el sistema telefónico. El diseño y la construcción de circuitos electrónicos para resolver problemas prácticos forma parte de la electrónica y de los campos de la ingeniería electrónica. Un sistema analógico contiene dispositivos que manipulan cantidades físicas representativas en forma analógica. Los principales usos de los circuitos electrónicos son el control. Por ejemplo. materiales y dispositivos. 4 .1 Introducción a los Sistemas Digitales Cuando la mayoría de nosotros escucha el término “digital” inmediatamente pensamos en una “calculadora digital” o “computadora digital”.

Una magnitud digital es aquella que toma un conjunto de valores discretos. Otros ejemplos de magnitudes analógicas son el tiempo. el sonido. Así.1 Sistemas analógicos Se dice que un sistema es analógico cuando las magnitudes de la señal se representan mediante variables continuas. La mayoría de las cosas que se pueden medir cuantitativamente aparecen en la naturaleza en forma analógica. Un sistema analógico contiene dispositivos que manipulan cantidades físicas representadas en forma analógica. en realidad. una sola desventaja: El mundo real es fundamentalmente analógico. Los voltajes de la voz y del video son 5 . En un sistema de este tipo. Una onda senoidal es una señal analógica de una sola frecuencia. Un ejemplo de ello es la temperatura: a lo largo de un día la temperatura no varía entre. la presión.2.2 1. la distancia. por ejemplo. sino que alcanza todos los infinitos valores que entre ese intervalo. Señal analógica Una señal analógica es un voltaje o corriente que varía suave y continuamente. una magnitud analógica es aquella que toma valores continuos. Imagen 1.Ventajas de las técnicas digitales       Generalmente son más fáciles de diseñar Facilidad para almacenar la información Mayor exactitud y precisión Programación de la operación Los circuitos digitales se afecta menos por el ruido Se puede fabricar más circuitería digital sobre las pastillas de circuito integrado Limitaciones de las técnicas digitales Cuando se emplean técnicas digitales existe. esto es análogas a las magnitudes que dan lugar a la generación de esta señal. las cantidades varían sobre un intervalo continuo de valores. 20 ºC o 25 ºC de forma instantánea.

si se desea escribir la cantidad veintitrés. decodificadores. todos ellos en una misma pastilla de silicio. Por ejemplo. Imagen 1. Los diez símbolos (dígitos) no se limitan a expresar solamente diez diferentes cantidades ya que usamos varios dígitos en las posiciones adecuadas dentro de un numero par indicar la magnitud de la cantidad. Sin embargo. En el sistema de numeración decimal cada uno de los diez dígitos. La forma en que están conectadas estas unidades se denomina la organización de un microprocesador..2 Sistemas digitales: microprocesadores y micro controladores un microprocesador es un circuito de alta escala de integración (LSI). En la actualidad se requiere que un sistema cuente con una unidad de control. a la hora de diseñar circuitos lógicos complejos las tablas de estado se tornan increíblemente complicadas. Puede expresar cantidades hasta nueve antes de quedarse sin dígitos: si se desea expresar una cantidad mayor que nuevo. Una manera de poder llegar a este tipo de circuitos es describir el sistema digital desde el punto de vista operacional 1. Todos estos componentes que llevan a cabo físicamente la lógica y operación del microprocesador se denominan el hardware del micro. Éstas constituyen el lenguaje del micro o software. 1. Además existe una lista de instrucciones que puede realizar o acciones que puede llevar a cabo el micro. de 0 hasta 9 representa una determinada cantidad. compuesto de muchos circuitos más simples como son los Fip-flops. que son simplemente sistemas numéricos que tienen una base Números decimales Todos estamos familiarizados con el sistema de numeración decimal porque usamos los números decimales cada día. usara (en sus respectivas posiciones dentro del numero) el digito 2 para representar la cantidad de veinte. contadores. la posición de cada uno de ellos dentro del número le dice la magnitud que representa. registros.3 Sistemas numéricos posicionales Existen varios tipos de sistemas numéricos posicionales.3 (1) 6 . De esta manera se llega a circuitos lógicos secuenciales de grado no muy complejo.señales analógicas que varían de acuerdo con el sonido o variaciones de la luz que corresponden a la información que se está transmitiendo. de modo que el microprocesador puede ser considerado un dispositivo lógico de propósito general o universal. Los sistemas digitales simples pueden ser diseñados por medio de tablas de estado.2. comparadores. se usan dos o más dígitos. etc. unidad aritmético / lógica y algunos registros para que se le pueda denominar microprocesador. extensas y poco prácticas. y el digito 3 para representar la cantidad de tres así como se muestra a continuación.

3 (3) Diez dígitos numéricos y seis caracteres alfabéticos forman el sistema de numeración hexadecimal. La mayoría de los sistemas digitales procesan grupos de datos binarios que son múltiplos de cuatro bits. E y F para representar numero s que pueden parecer extraño al principio. Con tres dígitos ahora seria: 100. C. pero hay que tener en mente que cualquier sistema de numeración 7 . D. B.11. Imagen 1. Cuando contamos en binario se produce una situación comparable a cuando contamos en decimal. por lo cual su sistema de numeración natural es el sistema binario (encendido 1. Ahora hemos agotado todas las combinaciones de dos dígitos. 101. El uso de las letras A. Es el que se utiliza en las computadoras. apagado 0). excepto que ahora solo tenemos dos dígitos llamados bits.1. lo que hace al número hexadecimal muy adecuado. ya que cada digito hexadecimal se presenta mediante un número binario de 4 bits como se puede ver a continuación.3 (2) Números hexadecimales El sistema hexadecimal es un sistema en base dieciséis es decir esta formado por 16 dígitos y caracteres alfabéticos. Empecemos a contar: 0. Imagen 1. por lo que se requiere una tercera posición. Hasta aquí ya hemos usado los dígitos. debido a que trabajan internamente con dos niveles de voltaje.Números binarios Es un sistema de numeración en el que los números se representan utilizando solamente las cifras cero y uno (0 y 1). 110 y así sucesivamente así como se muestra en la siguiente tabla. por lo que incluimos otra posición de digito y continuamos: 10.

La parte entera se transforma de igual forma que el ejemplo anterior. excepto que los dígitos 6 y 9 no se usan. 14. Si comprendemos que cantidades representan estos símbolos entonces la forma de los símbolos en si tiene poca importancia. Dividimos el número 42 entre 2 2.1 (1) Conversión de un numero decimal fraccionario a un numero binario Para transformar un número decimal fraccionario a un numero binario debemos seguir los pasos que mostramos en el siguiente ejemplo: transformemos el numero 42.1 Conversión entre sistemas Conversión de un numero decimal a binario Para esta transformación es necesario tener en cuenta los pasos que mostraremos en el siguiente ejemplo: Transformemos el número 42 a número binario 1. Utilizaremos el sub índice 16 para designar a los números hexadecimales y evitar así cualquier confusión con los números decimales. 1. El numero binario lo formamos tomando el primer dígito el ultimo cociente. 1. 15. 3. seguidos por los residuos obtenidos en cada división. como se muestra en el siguiente esquema. Dividimos el cociente obtenido por 2 y repetimos el mismo procedimiento hasta que el cociente sea 1.21 Y así sucesivamente. 2. 13. seleccionándolos de derecha a izquierda. 16. 1.es solo un conjunto de símbolos secuenciales. 17.7 Para contar por encima de 7 añadimos otra columna y continuamos así: 10.3. utilizaremos el sub índice 8 para indicar un número octal. En ocasiones. Tomamos nuevamente la parte entera del producto. Imagen 1. y como la parte fraccionaria es 0. Contar en octal es muy parecido a decima.375. 11. 6. El numero binario correspondiente a la parte decimal será la unión de 8 . indica que se ha terminado el proceso. 20. Números Octales El sistema de numeración octal esta formado por ocho dígitos que son: 0. 12. La parte fraccionaria de la siguiente manera: Multiplicamos por el numero 2 y tomamos la parte entera del producto que ira formando el numero binario correspondiente.3. puede verse la letra h detrás de un número hexadecimal. 2. 5. 4. y la parte fraccionaria la multiplicamos sucesivamente por 2 hasta llegar a 0 Tomamos nuevamente la parte entera. 3. una vez que nos hayamos acostumbrado a utilizarlos. Para distinguir los números octales de los nueros decimales y hexadecimales.

para colocar entonces el numero 0 y pasar el dividendo a formar el primer dígito del numero equivalente en decimal 2.todas las partes enteras.Luego tomamos el numero binario .625 al sistema de numeración Octal 1. correspondiente a la parte fraccionaria y lo unimos en un solo numero binario correspondiente a el numero decimal. correspondiente a la parte entera . Sumamos los valores de posición para identificar el número decimal equivalente Imagen 1.1 (2) Conversión de un numero binario a un numero decimal Para convertir un número binario a decimal.3. y el numero binario . Pasamos la parte entera del producto a formar el dígito correspondiente 9 .3. en donde el primer dígito binario corresponde a la primera parte entera . realizamos los siguientes pasos: 1. Se toma el numero entero y se divide entre 8 repetidamente hasta que el dividendo sea menor que el divisor.1 (3) Conversión de un numero decimal a octal Para convertir un número en el sistema decimal al sistema de numeración Octal. debemos seguir los pasos que mostraremos en el siguiente ejemplo Convertir el número decimal 323. Imagen 1. tomadas de las multiplicaciones sucesivas realizadas durante el transcurso del proceso . y así sucesivamente hasta llegar al ultimo . Tomamos los valores de posición correspondiente a las columnas donde aparezcan únicamente unos 2. Se toma la parte fraccionaria del número decimal y la multiplicamos por 8 sucesivamente hasta que el producto no tenga números fraccionarios 3. el segundo dígito a la segunda parte entera .

separados por un punto que establece la diferencia entre ellos.3. Imagen 1. A continuación mostraremos un ejercicio que ilustrará la teoría. Se toma la parte entera y se divide sucesivamente por el número decimal 16 (base) hasta que el cociente sea 0 2. Por medio de este tipo de conversiones.3. el numero equivalente se forma. Al igual que en los sistemas anteriores. teniendo en cuenta que el sistema de numeración hexadecimal posee solo 16 símbolos. mostramos claramente el equivalente 100 111 010 en binario de cada numero octal de forma individual. el numero equivalente en el sistema decimal. tanto entero como fraccionario. cualquier número Octal se convierte a binario de manera individual. donde los números del 10 hasta el 15 tienen símbolos alfabéticos que ya hemos explicado 3. de la unión de los dos números equivalentes.4. pasarán a conformar el número hexadecimal correspondiente. Imagen 1.1 (6) 10 . En este ejemplo. Imagen 1.1 (5) Conversión de un numero decimal a un numero hexadecimal Convertir el número 250. esta formado por la unión del numero entero equivalente y el numero fraccionario equivalente. Al igual que los demás sistemas.3. Los números enteros resultantes de los cocientes. La parte fraccionaria del número a convertir se multiplica por 16 (Base) sucesivamente hasta que el producto resultante no tenga parte fraccionaria 4.1 (4) Conversión de un numero octal a binario La ventaja principal del sistema de numeración Octal es la facilidad conque pueden realizarse la conversión entre un número binario y octal.25 a Hexadecimal 1.

tuviste que memorizar las 100 combinaciones posibles que pueden darse al sumar dos dígitos decimales. igual que la misma operación en el sistema decimal. Imagen 1. El resultado del número decimal equivalente se obtiene. Pero conviene repasar la operación de restar en decimal para comprender la operación binaria. 2.2 Operaciones Aritméticas básicas Suma en binario Para aprender a sumar. 1. Los términos que intervienen en la resta se llaman minuendo. que se suma a la posición siguiente a la izquierda.Conversión de un numero hexadecimal a un numero decimal Como en los ejemplos anteriores este también nos ayudará a entender mejor este procedimiento: Convertir el numero hexadecimal 2B6 a su equivalente decimal. en binario.1 (7) 1. debe escribirse en binario con dos cifras (10) y.3. que es más sencilla.3. La tabla de sumar. sumando todos los productos obtenidos en el paso anterior. Sólo hay que recordar cuatro combinaciones posibles: Tabla 1.2 (1) + 0 1 0 0 1 1 1 0+1 Las sumas 0 + 0. 0 + 1 y 1 + 0 son evidentes: 0+0=0 0+1=1 1+0=1 Pero la suma de 1+1. que sabemos que es 2 en el sistema decimal. nuevamente. con cinco o seis años de edad. por tanto 1+1 es 0 y se arrastra una unidad.3. Multiplicamos el valor de posición de cada columna por el dígito hexadecimal correspondiente. 11 . sustraendo y diferencia. es mucho más sencilla que en decimal. Ejemplos: 001101 + 100101 = 110010 1310 + 3710 = 5010 Sustracción en binario La técnica de la resta en binario es.

Consideremos el siguiente ejemplo. la división es muy fácil de realizar.3. Ejemplo: 10001 – 01010 = 00111 1710 – 1010 = 710 Multiplicación binaria La multiplicación en binario es más fácil que en cualquier otro sistema de numeración.0 y 1 . Si el número de UNOS es par. para determinar los arrastres a la posición superior. 42: 6 = 7.2 (1) División binaria Igual que en el producto. igual que en el sistema decimal. Como los factores de la multiplicación sólo pueden ser CEROS o UNOS. las tablas de multiplicar del cero y del uno son muy fáciles de aprender: Tabla 1. en binario: 12 . tomando una unidad prestada de la posición siguiente: 10 . se cuentan las parejas de UNOS. sin embargo.2 (3) x 0 1 0 0 0 1 0 1 En un ordenador. la suma es un CERO y si es impar.0. el producto sólo puede ser CERO o UNO.2 (2) 0 1 0 0 1+1 1 1 0 Las restas 0 .1. Imagen 1. sumándola. que se resuelven contando el número de UNOS y de arrastres en cada columna. Esa unidad prestada debe devolverse. 1 .1 se resuelve.Tabla 1.1 son evidentes: 0–0=0 1–0=1 1–1=0 La resta 0 . un UNO. Luego. En otras palabras.3. a la posición siguiente. la operación de multiplicar se realiza mediante sumas repetidas. es decir. 210 – 110 = 1. Eso crea algunos problemas en la programación porque cada suma de dos UNOS origina un arrastre. porque no son posibles en el cociente otras cifras que UNOS y CEROS.3.

en el ejemplo). Si la división es posible. En ese caso.2 (2) Se intenta dividir el dividendo por el divisor. Obtención del complemento a 1 de un número binario El complemento a 1 de un numero binario se obtiene cambiando todos los 1s por 0s y todos los 0s por 1s. es decir. ejemplo Imagen 1. La aritmética en complemento a 2 se usa comúnmente en las computadoras para manipular el número negativo.3. empezando por tomar en ambos el mismo número de cifras (100 entre 110. se intenta la división tomando un dígito más (1001 entre 100). el resultado de multiplicar el divisor por 1 es el propio divisor. Restamos las cifras del dividendo del divisor y bajamos la cifra siguiente. la primera cifra del cociente es un UNO.3 (2) Obtención del complemento a 2 de un número binario El complemento a 2 de un numero binario se obtiene sumando 1 al LSB del complemento a 1 Complemento a 2 = (complemento a 1) + 1 Un ejemplo de aplicación del complemento a 2 de un numero binario negativo puede calcularse utilizando inversores y un sumador como se muestra a continuación 13 . entonces. el divisor sólo podrá estar contenido una vez en el dividendo. 1.3.3 (1) Un ejemplo de aplicación y la forma mas sencilla de obtener complemento a 1 de un numero binario es mediante un circuito digital es utilizar inversores en paralelo (circuitos not) como se muestra Imagen 1.Imagen 1.3.3 Operaciones con complemento El complemento a 1 y el complemento a 2 de un número binario son importantes porque permiten la representación de números negativos. Si no puede dividirse.3.

El código 8421 Es un tipo de código decimal binario.4 Código Un código es una regla para convertir una pieza de información (por ejemplo.1 Códigos no validos Deberíamos saber que.3 (3) Para convertir un número en complemento a 1 o en complemento a 2 al formato binario real (no complementado) se usan los dos mismos procedimientos que acabamos de describir para convertir el complemento a 1 al binario real. se invierten todos los bits. Este código proporciona una excelente interfaz para los sistemas binarios. una letra. palabra o frase) en otra forma o representación.1 Códigos numéricos (BCD Binary Codec Decima) Es una forma de expresar cada uno del os dígitos decimales con un código binario.Imagen 1. Puesto que en el sistema BCD solo existen diez grupos de código. solo se usan diez de ellos. Esta propiedad es importante en muchas aplicaciones.3. Las seis combinaciones que no se emplean (1010. La facilidad de conversión entre los números en código 8421 y los familiares números decimales es la principal ventaja de este código. en los que la susceptibilidad de 14 .2 Códigos Alfa Numéricos El código Gray es un código sin pesos y no aritmético. 1101. 1011.4. La designación de 8421 indica los pesos binarios de los cuatro bits. se pueden representar dieciséis números (desde 0000 hasta 1111). Digito Decimal BCD 0 0000 1 0001 2 0010 3 0011 4 5 6 0110 7 0111 8 1000 9 1001 0100 0101 Tabla 1. 1100. 1. 1. se representa mediante un código binario de cuatro bits. Para convertir el complemento a 2 al binario real primero se obtiene el complemento a 1 y se suma 1 al resultado obtenido 1. de 0 hasta 9.4. con cuatro dígitos. 1110 y 1111) no son validos en el código BCD 8421. tales como los codificadores de eje de posición. La característica más importante del código Gray es que solo varía un bit de un código al siguiente. no necesariamente del mismo tipo. es muy fácil convertir entre decimal y BCD. Ejemplos entradas por teclado y salidas digitales. cada digito decimal. es decir. pero en el código 8421. no existen pesos específicos asignados a las posiciones de los bits.4.

Imagen 2. en el que definimos una operación unitaria (*) y dos operaciones binarias (+) y (.2. En esta publicación se formulo la idea de un “Algebra de las operaciones lógicas”. Claude Shannon fue el primero en aplicar la obra de Boole al análisis y diseño de circuitos. George Boole publico una obra titulada Investigación de las leyes del pensamiento. Es indispensable tener unos conocimientos básicos del algebra booleana para estudiar y analizar los circuitos lógicos. se verifican los siguientes axiomas. Decimal 0 1 2 3 4 5 6 7 Binario 0000 0001 0010 0011 0100 0101 0110 0111 Código Gray Decimal 0000 8 0001 9 0011 10 0010 11 0110 12 0111 13 0101 14 0100 15 Tabla 1. sobre las que se basan las teorías matemáticas de la lógica y la probabilidad. que se conoce hoy en día como algebra de Boole es una forma muy adecuada para expresar y analizar las operaciones de los circuitos lógicos. Shannon escribió su tesis doctoral en el MIT (Massachusetts Institute of Technology) titulada análisis simbólico de los circuitos de conmutación y relés. elementos cualesquiera de E. Operaciones y expresiones Booleanas 2.4.).2 Binario 1000 1001 1010 1011 1100 1101 1110 1111 Código Gray 1100 1101 1111 1110 1010 1011 1001 1000 Conversión del numero Binario 10110 a código Gray Algebra de Boole En 1854. 2.1 Definición Axiomática del algebra de Boole Un conjunto E.1 Algebra booleana El algebra de Boole son las matemáticas de los sistemas digitales. En 1938. es un algebra de Boole si se cumple: Existen dos elementos 0 y 1 de E.1 15 .error aumenta con el número de cambios de bit entre números adyacentes dentro de una secuencia. tales que siendo x.1. y. z.

2. encuentra aplicaciones en el diseño y el análisis de los sistemas digitales. como se indica en la figura. de manera que los problemas puedan ser escritos y resueltos de una forma similar al algebra ordinaria. la salida se pone a nivel BAJO (0). Cuando la entrada esta a nivel ALTO (1). Las puertas AND y OR pueden tener cualquier número de entradas. como puede verse en la figura.1. En ambos casos. como una computadora. Cuando una de las 16 . Imagen 2. not Hacia 1850. El término lógico se aplica a los circuitos digitales que se utilizan para implementar funciones lógicas.2 (2) AND La operación AND genera un nivel alto en la salida si y solo si todas las entradas están a nivel ALTO. la salida se pone a nivel ALTO. el matemático y lógico irlandés George Boole desarrollo un sistema matemático para formular proposiciones lógicas con símbolos. Cada una de las 3 operaciones lógicas básicas da lugar a una única respuesta a un determinado conjunto de condiciones. Un circuito que realiza una operación lógica (NOT. El algebra de boole.1. para el caso de dos entradas.2 Funciones lógicas and. or. Las líneas conectadas a cada símbolo son las entradas (inputs) y las salidas (outputs). La operación NOT se implementa mediante un circuito lógico conocido como inversor o puerta NOT Imagen 2. Cuando la entrada esta a nivel BAJO. NOT La operación NOT cambia de un nivel lógico al nivel lógico opuesto. la salida no es la misma que la entrada. AND. como se le conoce hoy en día. OR) se llama puerta lógica.1. Existen varios tipos de circuitos lógicos que son los elementos básicos que constituyen los bloques sobre los que se construyen sistemas digitales más complejos. Las entradas son líneas situadas ala izquierda de cada símbolo y la salida es la línea de la derecha. como se indica mediante las line de puntos en la figura. las condiciones mencionadas anteriormente de verdadero/falso se representan mediante un nivel ALTO (verdadero) y un nivel BAJO (falso).2 (1) En las operaciones lógicas.

Tabla de verdad de una puerta AND De dos entradas entradas salida A B X 0 0 0 0 1 0 1 0 0 1 1 1 1=ALTO (H). el propósito básico de la puerta AND es determinar cuando ciertas condiciones de entrada son simultáneamente verdaderas. o si B es un nivel BAJO. como lo muestra la tabla para una puerta AND de dos entradas.2 (4) Tabla de la verdad de la puerta AND La operación lógica de una puerta puede expresarse mediante una tabla de verdad.2 (3) Por lo tanto. La tabla de verdad puede ampliarse para cualquier número de entradas. La tabla de la verdad se presenta con 1s y 0s. Cuando cualquiera de las entradas esta a nivel BAJO. y X es un nivel BAJO si A es un nivel BAJO. para indicar que esas condiciones son verdaderas. y producir una salida a nivel ALTO.1. y un nivel bajo es equivalente a 0 en la lógica positiva. y la salida con X. la salida es un nivel BAJO. Para cualquier puerta AND. Las entradas de la puerta AND de dos entradas de la figura se designan mediante A y B.entradas está a nivel ALTO y la otra entrada esta a nivel ALTO. la salida X es un nivel ALTO si A y B están a nivel ALTO. 0=BAJO (L) 17 .1. luego podemos establecer que el funcionamiento de la puerta es el siguiente: En una puerta AND de dos entradas. en la que se enumeran todas las combinaciones de la entrada con las correspondientes salidas. como indican todas sus entradas estando a nivel ALTO. la salida se pone a nivel ALTO. la salida es un nivel ALTO solo cuando tosas las entradas están a nivel ALTO. Imagen 2. o si Ay B están a nivel BAJO. ya que un nivel alto es equivalente a un 1. independientemente del número de entradas. Imagen 2. La operación AND se implementa mediante un circuito lógico conocido como la puerta AND.

La figura ilustra la operación lógica para una puerta OR de dos entradas. luego  Para dos variables de entradas N=2²= 4 combinaciones  Para tres variables de entradas N=2³= 8 combinaciones Utilizando la ecuación se puede determinar el número de combinaciones de bits de entrada para puertas con cualquier número de entradas. el propósito de una puerta OR es determinar cuando una o más de sus entradas están a nivel ALTO y generar una salida a nivel ALTO que indique esta condición. para el caso de dos entradas.El número total de posibles combinaciones de entradas binarias a una puerta viene determinado por la siguiente formula: N=2 n Donde N son todas las posibles combinaciones. Cuando una de las dos entradas o ambas están a nivel ALTO.2 (6) 18 . y n es el numero de variables de entrada. A y B. están a nivel ALTO. o ambas.1. El nivel alto es el nivel de salida activo o verdadero para la puerta OR. Podemos establecer el funcionamiento de la puerta como sigue: En una puerta OR. Las entradas de la puerta OR de dos entradas de la figura están etiquetadas como A y B. La operación OR se implementa mediante un circuito lógico denominado puerta OR.2 (5) Por tanto. indicando las cuatro posibles combinaciones de entrada. Imagen 2. Imagen 2. X es un nivel BAJO si ambas entradas. la salida se pone a nivel BAJO. A o B. la salida se pone a nivel ALTO. OR La operación OR genera un nivel ALTO de salida cuando cualquiera de sus entradas esta a nivel ALTO. Cuando las dos entradas están a nivel BAJO. están a nivel BAJO. la salida X es un nivel ALTO si cualquiera de las entradas. y la salida como X. como se muestra en la figura.1.

1. la salida es un nivel ALTO cuando una o mas entradas está a nivel ALTO. TABLA DE VERDAD PARA UNA PUERTA OR DE DOS ENTRADAS entradas salida A B X 0 0 0 0 1 1 1 0 1 1 1 1 1=ALTO (H). Imagen 2.1. o. 0=BAJO (L) 2. o sus negaciones individuales que hacen que la suma valga 0 (cero)”. Esta tabla de verdad puede extenderse a cualquier número de entradas e. expresado de otro modo “es la representación de una de las combinaciones de la tabla de verdad por medio del producto lógico”. o. Un minitermino o producto canónico es:” es el producto de las variables en juego o sus negaciones individuales que hacen que el producto valga 1(uno)”.3 Forma canica y estándar Forma canónica: Se llama término canónico de una función lógica a “todo producto o toda suma en los que aparece todas las variables que componen una función en su forma directa o inversa”.1. expresado de otro modo es la representación de una de las combinaciones de la tabla de verdad por medio de la suma lógica pero teniendo en cuenta que los 0 en la combinación se expresan con la variable correspondiente sin negar y los 1. Imagen 2.Tabla de verdad de una puerta OR En la tabla se describe el funcionamiento lógico de una puerta OR de dos entradas.3 (1) Un maxitermino o suma canónica es: “la suma de las variables en juego. independientemente del número de entradas.3 (2) 19 . O sea que hay productos canónicos y sumas canónicas. con la variable correspondiente negada.

también. De este modo.…. Es igual al símbolo de la compuerta OR excepto que tiene un círculo pequeño en la salida. n) asume un valor 0 o 1.1 Sistemas con uní-compuertas nand. etc. que es un politopo de N + 1 vértices en N dimensiones: un segmento de línea sobre una línea. el método usa el concepto de un símplex. para representar el estado del conmutador abierto o cerrado. buscando en los vértices del polígono. El estudio del funcionamiento de un conmutador ideal es independiente de la tecnología que se utilice para su implementación. de manera que los circuitos de la figura son equivalentes y la expresión salida para la compuerta nor es x= A+B. la salida de la compuerta NOR pasa a ser BAJA cuando cualquier entrada es ALTA. Cada conmutador se controla con una señal binaria identificada como a. 2. Las restricciones están expresadas en forma de igualdad 2. nor En la figura se muestra el símbolo de una compuerta NIR de dos entradas.). La estructura de la red de conmutadores genera una señal binaria de salida “Terminal de salida” identificada como f.2 Implementación de funciones con compuertas Una compuerta lógica es la “representación” de una red de conmutadores.Forma estándar 1. c. Mientras que la salida de una compuerta OR se torna ALTA cuando cualquier entrada es ALTA. La tabla de verdad de la función f representa el comportamiento de la compuerta para cada combinación de valores.2. La tabla de verdad muestra salida de la compuerta NOR es el inverso de la salida de la compuerta OR en rosas las posibles condiciones de entrada. cada una de estas señales constituye una “entrada” de la compuerta o “Terminal de entrada”. un triángulo sobre un plano. 2. es un método numérico para optimización de problemas libres multidimensionales. perteneciente a la clase más general de algoritmos de búsqueda. n. En un conmutador ideal se utilizan los dígitos 0 y 1 para representar el estado de una entrada o una salida y.} Conmutador: es un dispositivo físico que permite controlar el flujo de un elemento (corriente electrónica agua. En la vida cotidiana vemos innumerables ejemplos de conmutadores por ejemplo en una habitación de luz se prende o apaga con un conmutador manual. En ambos casos. El que permite encontrar una solución óptima en un problema de maximización o minimización. al algebra de conmutadores. b. un tetraedro en un espacio de tres dimensiones y así sucesivamente. Forma para resolver el modelo mediante el algoritmo del simplex Algoritmo del simplex El algoritmo símplex. Esta misma operación se puede aplicar alas compuertas con más de dos entradas. la compuerta NOR opera como una compuerta OR seguida de un INVERSOR. El algebra de boole enunciada en este libro en su forma binaria es equivalente por definición. 20 . Conmutador ideal: es un modelo teórico que representa el comportamiento de un modelo real. que representa la operación de inversión.

están a nivel BAJO. e implica una función AND con la salida complementada (negada). con la designación A y B para las entradas y X para la salida. X es un nivel ALTO si A o B están a nivel BAJO o si ambas. En una puerta NAND.1 (1) Compuerta NAND El termino NAND es una contradicción de NOT-AND. En la parte (B) se muestra el símbolo rectangular Imagen 2.2.2.1 (2) La puerta NAND genera una salida a nivel bajo solo cuando todas las entradas están a nivel ALTO.Imagen 2. el nivel BAJP (0) es el nivel activo o verdadero de salida. la salida X es un nivel bajo si las entradas A y B están a nivel ALTO. como indica el círculo de la salida. el modo de operación se puede establecer como sigue: En la puerta NAND de dos entradas. Cuando cualquiera de las entradas esta a nivel BAJO. Para el caso concreto de la puerta NAND de dos entradas. como muestra la figura. En la figura se muestra el símbolo lógico estándar para la puerta NAND de 2 entradas y su equivalente empleando los símbolos de la puerta AN seguida de un inversor. A y b. la salida se pondrá a nivel alto. 21 .

b) y si además a. Decimos que un operador binario * sobre un conjunto S es conmutativo si X*y=y*x para todos x. * no es un operador binario si a.2 Teoremas del algebra Booleana Definiciones básicas El algebra booleana.3 y 4. Elemento de identidad. Ley conmutativa.2. c pertenecen a S. 3 pertenecen a N pero (-1) no pertenece a N. porque 2 – 3 = -1 y 2.3. 2.1 (3) 2. porque 22 . y. por cada par de elementos de S. -3.4).-2. por ejemplo.2. y no pertenece a S denota que y no es un elemento de S. e*x=x*e=x para todos x pertenece a S Ejemplo: el elemento 0 es un elemento de identidad respecto a la operación + sobre el conjunto de los enteros I = (…. Decimos que un conjunto S tiene un elemento de identidad respecto a una operación binaria * sobre S si existe un elemento e pertenece a S con la propiedad. es decir. 2. ya que. b pertenece a S y la regla encuentra que c pertenece a S. teoremas y propiedades del sistema. Los postulados de un sistema matemático constituyen los supuestos básicos a partir de los cuales es posible deducir las reglas. 2. el conjunto de los números naturales N=(1. entonces “x” pertenece a S denota que x es un miembro del conjunto S.y pertenecen a S 4. 1. Un conjunto S es cerrado respecto a un operador binario si.…). un conjunto que tiene un numero e numerable de elementos se especifica con llaves: A= (1. Ley asociativa. b. se define con un conjunto de elementos. 3. el operador especifica una regla para obtener un elemento único de S. Un operador binario definido sobre un conjunto S de elementos es una reglaDE LAasigna cada par de OPERACIÓN LÓGICA que PUERTA NAND elementos de S un elemento único de S. un conjunto de operadores y varios axiomas o postulados no demostrados. los elementos de A son los números 1. Un conjunto de elementos es cualquier colección de objetos con alguna propiedad en común. Los postulados mas comunes que se utilizan para formular diversas estructuras algebraicas son: 1. sin embargo. 0.2. para cualquier a. z pertenecen a S 3. el conjunto de los números naturales no es cerrado respecto al operador binario menos (-) por las reglas de la resta aritmética. Si S es un conjunto y “x” y”y” son ciertos objetos. decimos que * es un operador binario si especifica una regla para encontrar c a partir del par (a.Imagen 2. obtenemos que c pertenece a N únicamente por la operación a + b = c. Decimos que un operador binario * sobre un conjunto S es asociativo si (X*y)*z=x*(y*z) para todos x. Cerradura. 2.-1.3.4…) es cerrado respecto al operador binario mas (+) por las reglas de la suma aritmética. DE DOS ENTRADAS Por ejemplo. consideremos la relación a*b=c. b pertenecen a N. el igual que todos los sistemas matemáticos deductivos.

George Boole introdujo un tratamiento sistemático de la lógica y desarrollo . La identidad aditiva es 0. 3. Ley distributiva. El inverso multiplicativo de a=1/a define la división. 23 . I. Huntington en 1904. Un campo es un conjunto de elementos. junto con dos operadores binarios. tiene un inverso si. b) Un elemento de identidad con respecto a ª. El operador binario ª define la multiplicación. utilizaremos los postulados formulados por E. a) Un elemento de identidad con respecto a +. donde e= 0. decimos que * es distributivo sobre ª si X*(yªz)=(x*y)ª(x*z) Un ejemplo de estructura algebraica es un campo. combinados. 4. El conjunto de los números reales junto con los operadores binarios + y ª. ya que a + (-a) = 0 6. a) ª es distributivo sobre +: xª (y+z)=(xªz) + (xªz). El inverso aditivo define la resta. E. La identidad multiplicativa es 1. Decimos que un conjunto S. B. a) Cerradura respecto al operador +. junto con dos operadores binarios. es decir. designando por 0: x + 0= 0+x = x. a) Conmutativa respecta a +: x + y = y +x. b) Cerradura respecto al operador ª. Este campo es la base de la aritmética y el algebra ordinaria. el inverso de un elemento a es (-a). b) Conmutativa respecto a ª: x ª y = y ªx. Shannon introdujo un algebra booleana de dos valores llamada algebra de conmutación y demostración que las propiedades de los circuitos eléctricos de conmutación biestables podían representarse con esa algebra. no tiene elemento de identidad porque 0 no pertenece al conjunto. existe un elemento y pertenece a S tal que x*y= e Ejemplo: En el conjunto de enteros. la propiedad 6. N. para todo x pertenece a S. forman el campo de los números realas. El algebra booleana es una estructura algebraica definida por un conjunto de elementos. En 1854. designado por 1: xª1=1ªx=x. C. La única ley distributiva valida es la de ª sobre +: aª(b+c) = (aªb)+(aªc) Definición axiomática del algebra booleana. 2. En 1938. Los operadores y postulados significan lo siguiente: El operador binario + defina la suma.x+0=0+x=x para cualquier x pertenece a I El conjunto de los números naturales. cada uno de los cuales posee las propiedades 1 a 5 y. + y ª.con este fin. que tiene el elemento de identidad e respecto a un operador *. Para definir formalmente el algebra booleana. Si * y ª son operadores binarios sobre un conjunto S. 5.V. un sistema algebraico que ahora llamamos algebra booleana. Inverso. aª1/a=1. a condición que satisfagan los postulados siguientes de Huntington: 1.

Sin embargo. 4. El algebra ordinaria se ocupa de los números reales. La selección de los símbolos + y ª es intencional para que quienes ya conocen el algebra ordinaria pueda efectuar con mas facilidad manipulaciones algebraicas booleanas. pero no para el algebra booleana.b) + es distributivo sobre ª: x+ (yªz)=(x+z) ª (x+z). Al comparar el algebra booleana con la aritmética y el algebra ordinaria. Existen tales que: 5. que constituyen un conjunto infinito de elementos. pero en el algebra booleana de dos valores que definiremos a continuación. 0 y 1. es valida para el algebra booleana. Propiedad conmutativa: 2. x + (yªz)=(x+y)ª(x+z). 5. y pertenecen a B tales que x es diferente de y. 6. Propiedad distributiva: 4. Aunque podemos aprovechar algunos conocimientos del algebra ordinaria para trabajar con el algebra booleana. no hay operaciones de resta a ni de división. 1. B se define como un conjunto con solo dos elementos. El algebra booleana no tiene inversos aditivos ni multiplicativos. Existe tal que: 24 . El algebra booleana se ocupa de un conjunto de elementos B que todavía no hemos definido. observemos las siguientes diferencias: 1. es decir. esta ley se cumple para el algebra booleana y se puede derivar para ambos operadores de los otros postulados. Propiedad asociativa: 3. La ley distributiva de + sobre ª. El postulado 5 define un operador llamado complemento que no exicte en el algebra booleana. Existen por lo menos dos elementos x. El algebra booleana se parece al algebra ordinaria en algunos sentidos. Propiedad de los opuestos. Los postulados de Huntington no incluyen la ley asociativa. 2. Para cada elemento x pertenece a B. Propiedad de los neutros. por tanto. existe un elemento x´ pertenece a B tal que a) x+x´=1 y b)xªx´=0. 3. 5.

Los teoremas y postulados que se presentan en las relaciones mas básicas del algebra booleana. Esta importante propiedad del algebra booleana se denomina principio de dualidad. y establece que toda expresión algebraica que pueda deducirse de los postulados del algebra booleana seguirá siendo valida si se intercambian los operadores y los elementos de identidad. Si queremos el dual de una expresión algebraica. cada relación es el dual de su pareja. Es posible obtener una parte de la otra si se intercambian los operadores binarios y los elementos de identidad.Teoremas y propiedades básicos del algebra booleana Dualidad Se han presentado los postulados de Huntington por pares y se han designado como parte a) y parte b). X ª x = xx + 0 =xx + xx´ =x(x+x´) =xª1 =x por el postulado: 2a) 5b) 4a) 5a) 2b) 25 . los elementos de identidad y los elementos del conjunto B son los mismos: 1 y 0. La notación se simplifica omitiendo el operador binario ª en los casos en que ello no causa confusión. En la tabla 2-1 se presentan seis teoremas del algebra booleana y cuatro de sus postulados. se presentan por pares. Los teoremas deben demostrarse a partir de los postulados. Los postulados son axiomas básicos de la estructura algebraica y no requieren demostración. A la derecha se indica el número del postulado que justifica cada paso de la demostración. simplemente intercambiamos los operadores OR y SND y sustituimos los unos por ceros y los ceros por unos. En un algebra booleana de dos valores.                 Teorema 1: A + A = A Teorema 2: A · A = A Teorema 3: A + 0 = A Teorema 4: A · 1 = A Teorema 5: A · 0 = 0 Teorema 6: A + 1 = 1 Teorema 7: (A + B)' = A' · B' Teorema 8: (A · B)' = A' + B' Teorema 9: A + A · B = A Teorema 10: A · (A + B) = A Teorema 11: A + A'B = A + B Teorema 12: A' · (A + B') = A'B' Teorema 13: AB + AB' = A Teorema 14: (A' + B') · (A' + B) = A' Teorema 15: A + A' = 1 Teorema 16: A · A' = 0 x + x = x. El principio de dualidad quien muchas aplicaciones. A continuación se presentan las demostraciones de los teoremas con una variable. Teoremas básicos. X + x = (x + x) ª1 = (x + x) ( x + x´) =x + xx´ =x + 0 =x TEOREMA 1a): por el postulado: 2b) 5a) 4b) 5b) 2a) TEOREMA 1b): x ª x = x. Los teoremas. al igual que los postulados.

TEOREMA 3 : (x´)´. Por tanto. TEOREMA 2ª): x + 1 = 1 X + 1 = 1 ª (x + 1) por el postulado: 2b) =(x + x´)(x + 1) 5a) = x + x´ ª 1 4b) = x + x´ 2b) =1 5a) TEOREMA 2b): x ª 0 = 0 por dualidad. Del postulado 5. o cambiarla a una forma más conveniente para conseguir una implementación más eficiente.3.Observe que el teorema 1b) es el dual del teorema 1a) y que cada uno de los pasos de la demostración en la parte b) es el dual de la parte a). La formula para expresar este teorema de dos variables es: (xy)´= x´+ y¨ El segundo teorema de DeMorgan se anuncia así: El complemento de una suma de variables es igual al producto de los complementos de las variables. El primer teorema de DeMorgan se anuncia de l siguiente forma: El complemento de un producto de variables es igual a la asuma de los complementos de las variables. Cualquier teorema dual se puede deducir de forma similar. dado que el complemento es único. y las puertas NOR y negativa. El complemento de dos o más variables a las que se aplica la operación AND es equivalente a aplicar la operación OR a los complementos de cada variable. tenemos que (x´)´= x 2. propuso dos teoremas que constituyen una parte muy importante del algebra de Boole. tenemos x + x´= 1 y x ª x´= 0. hay que reducir una expresión a su forma más simple. matemático que conoció a Boole. reglas y teoremas de Boole para manipular y simplificar una expresión. este método requiere de tener 26 .AND. el complemento de x´es x y también es (x´)´. O dicho de otra manera. O dicho de otra manera. En términos prácticos.OR. El complemento de dos o mas variables a las que se e aplica la operación OR es equivalente a aplicar la operación AND a los complementos de cada variable. los teoremas de DeMorgan nos demuestran la equivalencia entre las puertas NAND y negativa. Simplificación de funciones por el método algebraico Simplificación de funciones mediante el método de boole Muchas veces. utiliza las leyes.3 Teoremas de DeMorgan DeMorgan. partiendo de la demostración de su par correspondiente. a la hora de aplicar el algebra booleana.2. lo que define al complemento de x. La formula para expresar este teorema es: (x + y)´= x´y´ 2. El método que ahora trataremos.

Aplicar la regla que nos dice que (BB=B) al cuarto termino AB + AB + AC + B + BC 3. cuatro o cinco variables.x = x (b) x. si se aplica adecuadamente. se concluye que una función booleana puede representarse como una suma de minitérminos. ya que muestra todos los posibles valores de las variables de entrada y salida resultante para cada valor. El numeo de celdas de un mapa de Karnaugh es igual al número total de posibles combinaciones de las variables de entrada. puede definirse con un conjunto de elementos. El mapa es un diagrama compuesto por cuadros. El algebra booleana. se concluye que una función booleana se reconoce en forma gráfica por el área encerrada en los cuadros cuyos minitérminos se incluyen en la función. distributivo Teorema 5. el mapa de Karnaugh es una secuencia de celdas en la que cada celda representa un valor binario de las variables de entrada. Las celdas se disponen de manera que la simplificación de una determinada expresión consiste en agrupar adecuadamente las celdas. al igual que el numero de filas de una tabla de n verdad . una por cada combinación o término. el mapa representa un 27 . involución Postulado 3. De hecho. asociativo Postulado 4. y. un conjunto de operadores y un número de axiomas no probados o postulados. genera las expresiones lo más simples posibles. Ya que cualquier función booleana puede representarse como una suma de minitérminos.1 = x (b) x. tres. En vez de estar organizada en filas y columnas como una tabla de verdad.un conocimiento profundo sobre algebra booleana y su aplicación.0 = 0 (b) x y = y x (b) x (y z) = (x y) z (b) x + y z = (x + y)(x + z) (b) (x y)' = x' + y' (b) x (x + y) = x 2. Aplicar la regla (AB + AB = AB) a los 2 primeros términos AB + AC + B + BC 4. Aplicar la regla (B + BC = B) a los 2 últimos términos AB + AC + B 5. de De Morgan Teorema 6. Aplicar por ultimo la regla (AB + B = B) al primer y tercer termino B + AC (a) x +0 = x (a) x + x' = 1 (a) x + x = x (a) x + 1 = 1 (x')' = x (a) x + y = y + x (a) x + (y + z) = (x + y) + z (a) x (y + z) = x y + x z (a) (x + y)' = x' y' (a) x + x y = x (b) x. Los mapas de Karnaugh pueden utilizarse para expresiones de dos. Una expresión booleana simplificada emplea el menor número posible de compuertas lógicas para la implementación de una determinada expresión.3 Ejemplo para simplificar la siguiente expresión: A B + A(B+C) + B(B+C) 1. Aplicar la ley distributiva al segundo y tercer término de la expresión: AB + AB + AC + BB + BC 2. Un mapa de Karnaugh es similar a una tabla de verdad. absorción Tabla 2. Cada cuadro representa un minitérmino. conmutativo Teorema 4. el mapa de Karnaugh para n entradas es un arreglo de 2 celdas. A continuación se presentan los principales teoremas y postulados del algebra booleana Postulado 2 Postulado 5 Teorema 1 Teorema 2 Teorema 3. por no mencionar también un poquito de ingenio y destreza.x' = 0 (b) x.4 Simplificación de funciones por el método de Mapas de Karnaugh Un mapa de Karnaugh proporciona un método sistemático de simplificación de expresiones booleanas.

4 28 . en la siguiente figura se ilustra la manera como quedaría representado: m0 m4 m8 m1 m5 m9 m3 m7 m2 m6 m12 m13 m15 m14 m11 m10 Tabla 2.diagrama visual de todas las formas posibles en que puede expresarse una función en una manera estándar. La numeración de los cuadros en el mapa de Karnaugh se numeran en una secuencia de código reflejado. con solo cambiando de valor entre dos renglones adyacentes o columnas.