El Álgebra de Boole dentro de los módulos SIMM y … · internacionalmente más extendido (ANSI...

15
1 El Álgebra de Boole dentro de los módulos SIMM y SIMR de los ciclos de grado superior ASI y DAI Isabel López López I.E.S Villablanca. Villablanca,79 (28032 Madrid) E-mail: [email protected] Resumen. Se propone la impartición del Álgebra de Boole como nexo entre los sistemas de numeración y los fundamentos de sistemas informáticos dentro de los módulos Sistemas Informáticos Monousuario y Multiusuario (SIMM) y Sistemas Informáticos Multiusuario y en Red (SIMR) pertenecientes a los ciclos de grado superior Administración de Sistemas Informáticos (ASI) y Desarrollo de Aplicaciones Informáticas (DAI). Con ello se pretende justificar la necesidad del estudio de los diferentes sistemas de numeración, especialmente el binario, y hacer comprender al alumno cómo es posible procesar la información expresada en código binario empleando circuitos de conmutación, de manera que el ordenador pueda ejecutar instrucciones lógicamente y realizar cálculos aritméticos sencillos. Palabras clave. Álgebra de Boole, Puertas lógicas, ASI (Administración de Sistemas Informáticos), DAI (Desarrollo de Aplicaciones Informáticas), SIMM (Sistemas Informáticos Monousuario y en Red), SIMR (Sistemas Informáticos Multiusuario y en Red), Programación Didáctica, Unidad de Trabajo. 1 Introducción La universalización de la informática demanda en la actualidad una nueva clase de técnicos no titulados sin los cuales no es posible desarrollar de manera eficaz y eficiente los procesos productivos, ya sea de pequeñas y medianas empresas (PYMES), o de grandes empresas. Como respuesta a esta demanda real del mercado de trabajo, surgen los ciclos de grado superior en informática, dedicados a proporcionar la formación que requieren estos nuevos perfiles profesionales. De esta manera, la formación profesional cumple la misión encargada por la sociedad de proporcionar profesionales que garanticen la productividad y la competencia; permitiendo, asimismo, que aquellos alumnos con clara vocación profesional informática puedan competir con éxito para conseguir su inserción laboral. Los ciclos formativos de grado superior Administración de Sistemas Informáticos, ASI, (R.D. 1660/1994; R. D. 1675/1994) y Desarrollo de Aplicaciones Informáticas, DAI, (R. D. 1661/1994; R. D. 1676/1994) tienen una vocación eminentemente práctica, siendo su objetivo formar profesionales técnicos en informática, que sean capaces de configurar, montar, mantener y administrar sistemas informáticos (ASI); y capaces, también, de afrontar tareas de programación como desarrolladores (DAI). La formación práctica debe ser un objetivo prioritario, si se piensa en las tareas a las que se enfrentará el alumno una vez finalizados sus estudios. Sin embargo, el carácter de la informática obliga a que algunos aspectos del currículum del técnico deban ser, forzosamente, de carácter conceptual. Si ello

Transcript of El Álgebra de Boole dentro de los módulos SIMM y … · internacionalmente más extendido (ANSI...

1

El Álgebra de Boole dentro de los módulos SIMM y SIMR de los ciclos de

grado superior ASI y DAI

Isabel López López

I.E.S Villablanca. Villablanca,79 (28032 Madrid)

E-mail: [email protected]

Resumen. Se propone la impartición del Álgebra de Boole como nexo entre los sistemas de numeración

y los fundamentos de sistemas informáticos dentro de los módulos Sistemas Informáticos Monousuario

y Multiusuario (SIMM) y Sistemas Informáticos Multiusuario y en Red (SIMR) pertenecientes a los

ciclos de grado superior Administración de Sistemas Informáticos (ASI) y Desarrollo de Aplicaciones

Informáticas (DAI). Con ello se pretende justificar la necesidad del estudio de los diferentes sistemas de

numeración, especialmente el binario, y hacer comprender al alumno cómo es posible procesar la

información expresada en código binario empleando circuitos de conmutación, de manera que el

ordenador pueda ejecutar instrucciones lógicamente y realizar cálculos aritméticos sencillos.

Palabras clave. Álgebra de Boole, Puertas lógicas, ASI (Administración de Sistemas Informáticos),

DAI (Desarrollo de Aplicaciones Informáticas), SIMM (Sistemas Informáticos Monousuario y en Red),

SIMR (Sistemas Informáticos Multiusuario y en Red), Programación Didáctica, Unidad de Trabajo.

1 Introducción

La universalización de la informática demanda en la actualidad una nueva clase de técnicos no titulados

sin los cuales no es posible desarrollar de manera eficaz y eficiente los procesos productivos, ya sea de

pequeñas y medianas empresas (PYMES), o de grandes empresas.

Como respuesta a esta demanda real del mercado de trabajo, surgen los ciclos de grado superior

en informática, dedicados a proporcionar la formación que requieren estos nuevos perfiles profesionales.

De esta manera, la formación profesional cumple la misión encargada por la sociedad de proporcionar

profesionales que garanticen la productividad y la competencia; permitiendo, asimismo, que aquellos

alumnos con clara vocación profesional informática puedan competir con éxito para conseguir su

inserción laboral.

Los ciclos formativos de grado superior Administración de Sistemas Informáticos, ASI, (R.D.

1660/1994; R. D. 1675/1994) y Desarrollo de Aplicaciones Informáticas, DAI, (R. D. 1661/1994; R. D.

1676/1994) tienen una vocación eminentemente práctica, siendo su objetivo formar profesionales técnicos

en informática, que sean capaces de configurar, montar, mantener y administrar sistemas informáticos

(ASI); y capaces, también, de afrontar tareas de programación como desarrolladores (DAI).

La formación práctica debe ser un objetivo prioritario, si se piensa en las tareas a las que se

enfrentará el alumno una vez finalizados sus estudios. Sin embargo, el carácter de la informática obliga a

que algunos aspectos del currículum del técnico deban ser, forzosamente, de carácter conceptual. Si ello

2

se descuidara, en aras de una actuación puramente procedimental, la operatividad de los técnicos así

formados no iría más allá de la última versión de software instalada en las aulas de informática del centro.

El presente trabajo se dirige a replantear la impartición de uno de los aspectos arriba señalados,

dentro de los módulos de Sistemas Informáticos Monousuario y Multiusuario SIMM, y Sistemas

Informáticos Multiusuario y en Red, SIMR, de los ciclos formativos de grado superior ASI y DAI.

Concretamente, el objetivo es estructurar los contenidos introduciendo unas pequeñas nociones de

Álgebra de Boole que permitan explicar el funcionamiento básico de las puertas lógicas, ya que éstas son

los “ladrillos” con los que se construyen los sistemas de conmutación de la Unidad Central de Proceso

(CPU) del ordenador.

De este modo, la conexión entre los contenidos de los módulos SIMM (Muñoz, 2006; Raya y

otros, 2007) y SIMR (Muñoz, 2006; Raya y otros, 2007) dedicados a “fundamentos de sistemas

informáticos” y los relativos a “sistemas de numeración”, queda perfectamente justificada; sobre todo, en

lo que respeta al sistema binario. Pero más importante es que el alumno llegue a comprender por qué la

codificación binaria de la información permite al ordenador realizar tanto juicios lógicos como cálculos

numéricos.

También se propone complementar los nuevos contenidos teóricos con el diseño de actividades

prácticas (Ballesta, 1996; Recio y otros, 2005) a realizar en el laboratorio docente o en el aula de

informática, con el objetivo de que el alumno simule virtualmente y construya dispositivos de

conmutación.

2 Álgebra de Boole y puertas lógicas: ¿Por qué son digitales los ordenadores?

Históricamente, desde Aristóteles (384-322 a.C.) hasta Leibniz (1646-1717), siempre se creyó que sería

posible operar con los razonamientos lógicos siguiendo un formalismo puramente matemático. Hubo que

esperar a que el matemático inglés George Boole (1815-1864) publicara en 1854 su obra “Investigación

sobre las leyes del pensamiento” (Boole, 1982), para poder establecer lo que, en sus propias palabras, era

“un razonamiento universal expresado en formas simbólicas y regido por leyes, las cuales tienen su

último acomodo en la mente humana” (discurso pronunciado en el Queen’s Collage en 1851). Es

evidente, desde la perspectiva actual, que dicha sistematización del razonamiento humano ha permitido

que los ordenadores puedan “razonar lógicamente”.

Como ejemplo de los avances anteriores al trabajo de Boole se puede mostrar cómo Leibniz

expresaba matemáticamente el silogismo:

“Si todo x es y, y todo y es z, entonces todo x es z”.

Si la expresión “todo x es y” se formaliza como el cociente “ /x y ”, el silogismo se obtiene como resultado

del álgebra de los números racionales. En efecto:

⋅ =x y x

y z z (1)

Sin embargo, Leibniz no consiguió avanzar más allá de estas tentativas iniciales. La idea de Boole fue

3

introducir el “producto” y la “suma” de proposiciones con unas leyes algebraicas diferentes a las de los

números racionales, de manera que los razonamientos pudiesen formalizarse como operaciones

matemáticas. De este modo, esa nueva álgebra de proposiciones, actualmente denominada Álgebra de

Boole, permitiría construir razonamientos “calculando” de manera análoga al álgebra de los números

racionales. Al proceder de este modo, Boole introduce de manera implícita el concepto moderno de

estructura algebraica.

El silogismo arriba considerado fue resuelto por Boole proponiendo que “todo x es y” se expresase

como el producto booleano “ =x xy ”, y que dicho producto fuese asociativo. De este modo, en lugar de la

ecuación (1) se tiene:

( ) ( )= = = =x xy x yz xy z xz (2)

es decir, “ =x xz ”; o lo que es lo mismo, “todo x es z”.

Además, el Álgebra de Boole se aplica a proposiciones lógicas, y éstas son verdaderas o falsas de

manera excluyente. Por tanto, aplicando las leyes booleanas, se podrán construir nuevos enunciados

lógicos que serán verdaderos o falsos en función de la verdad o falsedad de las proposiciones que los

integren.

Fijándose en este hecho, el matemático estadounidense Claude Shannon (1916-2001) estableció,

en 1939, el paralelismo entre las reglas de conmutación de los circuitos compuestos de relés

electromecánicos, y las operaciones formales con elementos lógicos. Un relé opera como un conmutador

(interruptor) que puede estar “cerrado” o “abierto”. La idea era considerar un relé cerrado como un

elemento lógico verdadero, y uno abierto como falso (siendo arbitrario el convenio: cerrado-verdadero y

abierto-falso). De este modo se pudo establecer la analogía entre los estados de conmutación de los

sistemas de relés y las tablas de verdad que definen las operaciones booleanas.

Para ilustrar dicha analogía considérese, por ejemplo, la sentencia “y” enunciada como:

“El coche es blanco y tiene motor diésel”

Esta sentencia está formada por la conjunción de la proposición “x1”:

“El coche es blanco”

y la proposición “x2”:

“El coche tiene motor diésel”

En la actualidad las operaciones booleanas producto y suma se denotan como “⋅” y “+”, respectivamente.

El producto expresa la conjunción lógica; y la suma, la disyunción. Por tanto, la sentencia “y” es el

resultado de la operación booleana

1 2= ⋅y x x

Asimismo, la operación lógica 1 2= ⋅y x x es equivalente al sistema de conmutación que se

muestra en la Fig. 1, donde un “1” representa la aplicación de cierta tensión eléctrica aplicada en

cualquiera de las entradas x1 o x2, y un “0” la ausencia de tensión. Por tanto, un “1” o un “0” como valores

de “y” indican, respectivamente, tensión o ausencia de tensión en la salida del dispositivo.

4

Fig. 1 Circuito de conmutación para la operación booleana 1 2= ⋅y x x .

En efecto, si se examina la validez lógica del enunciado “y”, se observa que sólo será verdadero si el

coche es blanco (“x1” verdadero) y su motor es diésel (“x2” verdadero). Por tanto, si “1” equivale a

verdadero y “0” a falso, sólo se tendrá 1=y cuando simultáneamente 1 1=x y 2 1=x ; y se tendrá 0=y

cuando 1 0x = y 2 0x = , 1 1=x y 2 0x = , y viceversa.

Un dispositivo de conmutación como el de la Fig. 1 recibe el nombre de puerta lógica. Se

denomina tabla de verdad de la puerta lógica a la tabla de estados de conmutación que define

completamente el funcionamiento de la puerta lógica (véase la Fig.1).

En la actualidad, las puertas lógicas no se construyen con relés electromecánicos, sino con

transistores de estado sólido, generalmente integrados en microchips; y. los estados “1” y “0” se

corresponden con ciertos valores fijos de tensión eléctrica en las entradas y salidas. Por ejemplo: 5 voltios

indican un “1” y voltaje nulo indica un “0”.

Desde un punto de vista puramente matemático, el producto booleano “⋅” es una operación

definida en el conjunto { }0,1B = (conjunto de Boole) de acuerdo a la tabla operacional que se muestra

en la Fig. 1. Como allí puede observarse, la regla booleana para la multiplicación es la misma que la de

los números naturales.

El Álgebra de Boole además incluye la operación “+” o “suma booleana”, equivalente a una

disyunción lógica. En efecto, siguiendo con el ejemplo del coche, la frase “El coche es blanco o tiene

motor diésel”, sería una proposición “z” cuya expresión booleana sería 1 2= +z x x . Ahora z será cierta

cuando se dé una de las siguientes condiciones: 1x es cierta y 2x es falsa, 1x es falsa y 2x es cierta, o

ambas son ciertas.

La puerta lógica asociada a la suma booleana se muestra en la Fig. 2, donde se puede observar la

correspondiente tabla de verdad. En dicha tabla se puede apreciar que la suma booleana es una operación

definida en el conjunto de Boole que no sigue la regla de la suma de números naturales, ya que “1+1=1”.

5

Fig.2 Circuito de conmutación para la operación booleana 1 2y x x= + .

Para recoger el hecho lógico de que toda proposición puede ser negada, se introduce la operación

booleana denominada complementación. Formalmente, si x es cierta proposición, por ejemplo “hoy es

lunes”, su negación “hoy no es lunes” se denota por x . La puerta lógica correspondiente se muestra en la

Fig. 3.

Fig. 3 Circuito de conmutación para la complementación lógica.

En las figuras 1, 2 y 3 se han representado gráficamente las puertas lógicas siguiendo el convenio

internacionalmente más extendido (ANSI 432.14, IEEE Std. 91), debiendo tenerse en cuenta la

posibilidad de que otros autores utilicen símbolos diferentes.

En el contexto técnico, las puertas lógicas de las figuras 1, 2 y 3 reciben los nombres de puerta

AND, puerta OR y puerta NOT, respectivamente. También es habitual decir que dichas puertas

implementan funciones lógicas: función AND (producto booleano), función OR (suma booleana) y

función NOT (complementación).

Aunque no poseen el mismo carácter fundamental que las anteriores, también suelen introducirse

las puertas NAND, NOR y OR-Exclusiva (Fig. 4). La función NAND implementa la negación del

producto lógico y la NOR, la negación de la suma. La puerta OR-Exclusiva aplica la disyunción estricta:

“O el coche es blanco, o tiene motor diésel”, que será verdadera si se cumple solamente uno de los

términos de la disyunción.

Fig. 4 Puertas lógicas NAND, NOR y OR-Exclusiva.

Los sistemas de conmutación pueden reproducir esquemas de la lógica deductiva, lo que permite

implementar en los ordenadores operaciones de razonamiento que son básicas para el control de su

funcionamiento. Dichos sistemas de conmutación constituyen el corazón de la Unidad Lógica incluida en

la CPU.

6

Asimismo, la posibilidad de expresar los números en forma binaria y la flexibilidad del álgebra

booleana permiten implementar, por medio de puertas lógicas, las operaciones matemáticas en la Unidad

Aritmética de la CPU ordenador. Por ejemplo: para sumar dos números, se pueden combinar varios

circuitos de conmutación cuyas entradas sean “1” o “0” según los dígitos binarios de los sumandos, y

cuyas salidas entreguen una sucesión binaria que codifique el resultado de la operación.

El Álgebra de Boole, por tanto, proporciona las reglas que deben guiar la construcción de las

redes de conmutación del ordenador para que éste pueda operar con lógica y realizar cálculos aritméticos.

Podría decirse que las leyes booleanas constituyen el “software básico”, en tanto que estructura lógico-

matemática; mientras que los transistores de conmutación serían el “hardware básico”, al ser los

componentes físicos elementales.

3 Funciones lógicas y circuitos de conmutación

Desde el punto de vista informático, los axiomas y teoremas del Álgebra de Boole permiten codificar

funciones lógicas de gran complejidad para implementar procedimientos de razonamiento o cálculos

aritméticos por medio de la conmutación de los millones de transistores que integran la CPU. Buscando la

analogía con los lenguajes de alto nivel, las funciones lógicas serían producto del “lenguaje de

programación” definido por los axiomas y teoremas booleanos.

Como toda teoría matemática bien establecida, el Álgebra de Boole se define por una serie de

axiomas relativos a las operaciones internas “+” y “⋅” definidas en el conjunto { }0,1B = . Dichos

axiomas se recogen en la Tabla 1

Tabla 1 Axiomas del Álgebra de Boole

Axioma 1

, , ya b B a b b a a b b a∀ ∈ + = + ⋅ = ⋅

(Conmutatividad: las disyunciones o conjunciones no dependen del orden en que se expresen.)

Axioma 2

El “0” es el elemento identidad de la suma: , 0 0a B a a a∀ ∈ + = + =

(Si un término es falso, el otro determina la verdad o falsedad de una disyunción.)

El “1” es el elemento identidad del producto: , 1 1a B a a a∀ ∈ ⋅ = ⋅ =

(Si un término es verdadero, el otro determina la verdad o falsedad de una conjunción.)

Axioma 3

( ) ( ) ( ) ( ) ( ) ( ), , ya b B a b c a b a c a b c a b a c∀ ∈ + ⋅ = + ⋅ + ⋅ + = ⋅ + ⋅

(Propiedad distributiva de la disyunción respecto de la conjunción y viceversa.)

Axioma 4 ,a B∀ ∈ existe un elemento a , denominado complemento de a , tal que: 1a a+ = y 0a a⋅ =

( 1a a+ = indica que toda proposición o es cierta o es falsa, y 0a a⋅ = que toda proposición no puede ser cierta y falsa simultáneamente)

Partiendo de los axiomas del cuadro anterior y siguiendo el correspondiente proceso deductivo, se

7

obtienen los teoremas fundamentales del Álgebra de Boole que se muestran en la Tabla 2.

Tabla 2 Teoremas fundamentales del Álgebra de Boole

Teorema 1. Idempotencia

, ya B a a a a a a∀ ∈ = + = ⋅

Teorema 2.Identidad

, 1 y 0 0a B a a a∀ ∈ + = ⋅ =

Teorema 3. Absorción

, , y ( )a b B a a b a a a b a∀ ∈ + ⋅ = ⋅ + =

Teorema 4. Asociatividad

( ) ( ) ( ) ( ), , , ya b c B a b c a b c a b c a b c∀ ∈ + + = + + ⋅ ⋅ = ⋅ ⋅

Teorema 5. Unicidad del complementario

,a B a∀ ∈ es único.

Teorema 6. Leyes de Morgan

1 2 1 2 1 2 1 2 1 2, ,..., , ... ... y ... ...n n n n nx x x B x x x x x x x x x x x x∀ ∈ + + + = ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ = + + +

Con estos elementos deductivos se pueden manejar formalmente expresiones algebraicas del tipo:

1 2( , ,..., )ny f x x x= (3)

donde y es el elemento de B resultado de aplicar la función lógica ( )f ⋅ sobre los n elementos

1 2, ,..., nx x x . Por ejemplo, sea la función lógica

1 2 3 1 3 2 3( , , )f x x x x x x x= ⋅ + ⋅ (4)

Si se aplica el axioma 3 (distributividad), puede manipularse formalmente la expresión (4), consistente en

una suma cuyos sumandos son sendos productos, y obtenerse la siguiente función lógica equivalente:

( )1 2 3 1 2 3( , , )f x x x x x x= + ⋅ (5)

formada por el producto lógico de dos términos, siendo uno de ellos una suma. En cualquier caso, una

función lógica ( )f ⋅ es una función matemática definida sobre el conjunto { }0,1B = . Por tanto, a medida

que las variables independientes booleanas 1 2, ,..., nx x x vayan tomando valores 0 ó 1, se irán obteniendo

los diferentes valores, 0 ó 1, de la variable dependiente y . Como ejemplo, en la Tabla 3 se muestra la

tabla de verdad de la función lógica (4). Dicha tabla es también la de la función lógica (5), por ser (4) y

(5) expresiones equivalentes.

8

Tabla 3 Tabla de verdad de 1 2 3 1 3 2 3( , , )f x x x x x x x= ⋅ + ⋅

En la práctica, para diseñar un circuito de conmutación que permita a un ordenador realizar una

operación lógica o un cálculo aritmético binario, debe comenzarse por establecer la función lógica

correspondiente. Para escribir dicha función puede bastar una formalización algebraica, o puede partirse

de una tabla de verdad de la que se acaba obteniendo la expresión correspondiente.

Una vez se dispone de la expresión algebraica de la función lógica, se puede dibujar el esquema

del circuito de conmutación traduciendo las operaciones booleanas elementales de suma, producto y

complementación en términos de asociación de puertas lógicas OR, AND y NOT. Por ejemplo, la función

lógica (4) se traduce en el circuito (a) que se muestra en la Fig. 5.

Fig. 5 (a) y (b) implementan las funciones (4) y (5) respectivamente.

Como ya se ha visto, la aplicación de la propiedad distributiva permite transformar la función

lógica (4) en su equivalente (5). Esta operación formal conduce al circuito lógico (b) que se muestra en la

Fig. 5. Es interesante observar que ambos circuitos, (a) y (b), son constructivamente distintos, pero

lógicamente equivalentes. Lo que indica un paso más en la aplicación del Álgebra de Boole: la

optimización del diseño de los circuitos de conmutación. Véase cómo el circuito (b) de la Fig. 6 se

construye con tres puertas lógicas (una puerta NOT, una AND y una OR), mientras el (a) necesita cuatro

(una puerta NOT, dos AND y una OR).

4 El Álgebra de Boole en los módulos SIMM y SIMR de los ciclos ASI y DAI

Dentro de los ciclos de grado superior de ASI y de DAI, se incluyen, respectivamente, los módulos:

SIMM, y SIMR. Ambos módulos tienen como objetivo dar una base de conocimiento y aplicaciones en lo

referente a los sistemas operativos y las redes informáticas. En el caso del ciclo ASI, se tratan los

diferentes tipos de sistemas operativos mono y multiusuario; y en el ciclo DAI, sólo los sistemas

9

operativos multiusuario, incluyendo también los sistemas operativos en red.

En dichos módulos se enseña a los alumnos los diferentes sistemas de codificación de la

información, con especial atención a la expresión de cantidades numéricas en diferentes sistemas de

numeración, haciendo hincapié en el sistema binario. Sin embargo, en ningún momento se justifica el

porqué de tal interés, más allá de invocar vagamente que el funcionamiento interno de los ordenadores se

reduce básicamente a “unos y ceros”. De hecho, un alumno inquisitivo podría cuestionar la necesidad de

abordar el estudio de una materia tan aparentemente desconectada del resto del temario; ya que, tras el

código binario, se suele comenzar con los aspectos de aplicación concreta tanto de hardware como de

software.

Alguien podría defender que la codificación en diferentes sistemas de numeración es necesaria

para definir variables numéricas en ciertos lenguajes de programación de alto nivel, pero ello no

justificaría el énfasis dado a la codificación binaria como “lenguaje último” del ordenador.

La tesis en torno a la que gira el presente trabajo es que la introducción de un tema de Álgebra de

Boole implementada con puertas lógicas, después de haberse estudiado la codificación binaria, hace ver al

alumno de manera patente cómo se procesan de manera automática los “unos y ceros” para que el

ordenador pueda ejecutar sentencias lógicas elementales o realizar operaciones aritméticas sencillas. Es

decir, no sólo el Álgebra de Boole permite entender la base de la lógica interna con la que el ordenador

puede llegar a construir complicadas instrucciones de control, sino que también permite entender cómo un

procedimiento basado en una lógica de dos estados (“V”, verdadero; “F”, falso) conduce a un algoritmo

de cálculo aritmético, si los números se codifican en binario y los dígitos “1” y “0” se hacen corresponder

con los estados “V” y “F”, respectivamente.

Por un lado, el Álgebra de Boole permite aplicar criterios lógicos de verdad o falsedad

traduciendo dichos estados a valores numéricos y las inferencias lógicas a operaciones matemáticas

abstractas. Por otro lado, el Álgebra de Boole también permite efectuar operaciones aritméticas, si

previamente se traducen los números naturales a código binario. En síntesis: los ordenadores “razonan” y

calculan gracias a flujos de bits (“unos y ceros”) que discurren por la CPU gobernados por el Álgebra de

Boole.

Además de las razones anteriores, el conocimiento del Álgebra de Boole aporta una visión

unificada y coherente de los “operadores booleanos”, operadores que el alumno deberá conocer y aplicar

en otros contextos que van desde los lenguajes de programación a las opciones de búsqueda avanzada en

Internet, pasando por las consultas a bases de datos.

Para conseguir los objetivos cognitivos arriba expuestos, se propone incluir en la una Unidad de

Trabajo denominada “Álgebra de conmutación”, dentro de la Programación Didáctica de los módulos

SIMM y SIMR de los ciclos de grado superior ASI y DAI. Dicha unidad se estructura en: Conceptos,

Procedimientos, Actividades de enseñanza y aprendizaje, Actividades complementarias, y Criterios de

evaluación.

Conceptos

10

1. Introducción

Presentación del contexto de aplicación del Álgebra de conmutación dentro de los módulos

SIMM y SIMR, y breve exposición histórica para ubicar el Álgebra de conmutación en

relación con otros hitos cruciales del avance de la Informática.

2. Puertas lógicas: AND, OR, NOT, NAND, NOR y OR-Exclusiva

Descripción de los sistemas de conmutación como combinaciones de elementos discretos

denominados puertas lógicas. Descripción de los componentes físicos discretos de los

sistemas de conmutación. Exposición de la evolución de la tecnología: del acoplamiento de

relés electromecánicos a la integración a gran escala de transistores de estado sólido en los

microprocesadores.

3. Álgebra de Boole: axiomas y teoremas

Exposición de las reglas del Álgebra de Boole como herramienta práctica para especificar el

funcionamiento de los sistemas de conmutación.

4. Funciones lógicas: Tablas de verdad y términos canónicos

Aplicación de las funciones lógicas para especificar las relaciones entre las entradas y la

salida de cualquier circuito lógico. Obtención de la función lógica de un circuito complejo a

partir de su tabla de verdad.

5. Simplificación de expresiones booleanas

Aplicación sistemática de los teoremas del Álgebra de Boole y del método de Karnaugh para

simplificar funciones lógicas. Consecuencias prácticas: la importancia de dicha

simplificación para optimizar la realización y el funcionamiento de circuitos lógicos

complejos.

6. Circuitos multifunciones: operaciones aritméticas

Descripción de los circuitos lógicos de salida múltiple: esquemas de conmutación con más

de una variable de salida. Aplicación de los circuitos lógicos multifunción para implementar

operaciones aritméticas sencillas.

7. Bibliografía

E. Muñoz. Circuitos electrónicos. Digitales II. Departamento de Publicaciones de la ETSIT,

Universidad Politécnica de Madrid. (1978)

J. Millman. Microelectrónica. Circuitos y sistemas analógicos y digitales. Editorial Hispano

Europea, S.A. (1984)

Procedimientos

• Representar circuitos lógicos por medio de funciones booleanas.

• Identificar los términos canónicos de una función lógica a partir de tablas de verdad.

• Simplificar funciones lógicas aplicando los teoremas del Álgebra de Boole.

• Simplificar funciones lógicas empleando diagramas de Karnaugh.

• Representar circuitos lógicos de salida múltiple por medio de multifunciones.

11

Actividades de enseñanza y aprendizaje

• Interpretación, codificación y transformación de las diferentes funciones booleanas.

• Codificación y transformación de tablas de verdad mediante sus términos canónicos.

• Representación de funciones y multifunciones empleando diagramas de Karnaugh.

Actividades complementarias

Las prácticas complementarias consisten en trabajos prácticos que se deben realizar en el laboratorio

docente o en el aula de informática. Dos son los objetivos: emplear software de simulación y construir

pequeños dispositivos de conmutación.

Actividad 1. Simulación de circuitos lógicos

El software libre actualmente disponible (Manual de Electronic Work Bench; Simulador

Logicly) para diseñar circuitos booleanos permite la simulación virtual del funcionamiento

de sistemas de conmutación basados en puertas lógicas, y constituye una herramienta

docente que permite al alumno observar el funcionamiento de los circuitos desde un punto

de vista empírico, complementándose el estudio teórico previamente desarrollado.

Actividad 2. Construcción de circuitos lógicos sencillos

La construcción y posterior verificación del funcionamiento de circuitos lógicos sencillos

montados por el alumno empleando componentes comerciales le permite acceder a la

materialización de los sistemas abstractos que previamente ha estudiado.

Evaluación

La evaluación debe centrarse en la resolución de casos prácticos en los que se interpreten, codifiquen y

transformen diferentes funciones lógicas, haciendo hincapié en dos tipos principales de problemas:

• Diseño de circuitos de conmutación obteniendo las correspondientes funciones lógicas a partir de sus

tablas de verdad.

• Simplificación de funciones lógicas aplicando los teoremas del Álgebra de Boole.

• Representación y simplificación de funciones lógicas empleando diagramas de Karnaugh.

5 Ejemplo de ejercicios prácticos: Sistema de alarma y Sumador binario

Se proponen dos casos prácticos sencillos que ilustran la aplicación del Álgebra de Boole a los circuitos

de conmutación. El primer caso, “Sistema de alarma”, muestra cómo un circuito de conmutación puede

responder “con lógica” a estímulos externos. El segundo, “Sumador binario”, ilustra cómo los circuitos

lógicos pueden realizar operaciones aritméticas con números binarios.

Sistema de alarma. Se supone que una habitación tiene una puerta y una ventana, y se desea establecer un sistema

de alarma para vigilar posibles intrusiones. Para ello se montan sensores de apertura en la puerta y la ventana, así

como un sensor de presencia. Se sabe que cada sensor puede dispararse en falso con cierta probabilidad. Cómo

debería diseñarse un circuito lógico para que indique la presencia de un intruso y a la vez disminuya la

probabilidad de falsas alarmas.

12

Para plantear el circuito de conmutación debe considerarse una función lógica de tres variables:

( , , )A f p v s= (6)

donde p y v corresponden, respectivamente, a los sensores de apertura de la puerta y la ventana, y s al

sensor de presencia. Dichas variables toman el valor 1 cuando se disparan los sensores, y el valor 0 en

caso contrario. La alarma por intrusión se dará cuando la función A tome el valor 1.

La solución trivial sería que 1A = cuando alguna de las variables p, v ó s tomase el valor 1, y que

0A = sólo cuando las tres variables de entrada tomasen el valor 0 simultáneamente. Sin embargo, la

incidencia de las falsas alarmas sería máxima, puesto que el disparo accidental de cualquiera de los

sensores daría lugar a una alarma.

La solución correcta es suponer que se dé por cierta una intrusión sólo cuando el sensor de presencia

indique algo y a la vez se haya abierto la puerta o la ventana. Es decir, si alguien ha entrado, ha debido

hacerlo por la puerta o la ventana, y será detectada su presencia. Entonces, 1A = cuando se dispare el

sensor de la puerta o el de la ventana y a la vez lo haga el sensor de presencia, y 0A = si sólo se dispara

un sensor, o no se dispara ninguno, o no se dispara el sensor de presencia. De este modo, un solo disparo

accidental no daría lugar a una alarma, tendría que dispararse accidentalmente el sensor de la puerta o la

ventana y conjuntamente el sensor de presencia, lo que es un suceso mucho menos probable.

Del párrafo anterior se sigue que la condición para indicar una alarma se expresa en términos lógicos

con disyunciones y conjunciones, por tanto, se podrá formalizar fácilmente empleando el Álgebra de

Boole. En efecto:

( , , )A f p v s p v s p v s p v s= = ⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅ (7)

ya que, si 1p v s= = = , entonces 1A = ; si 0p = y 1v s= = , entonces 1A = ; y si 0v = y 1p s= = ,

entonces 1A = .

En la explicación para el alumno, para hacer más explícita la obtención de la función lógica

( , , )f p v s debe recurrirse a su tabla de verdad, donde se presentan de manera exhaustiva las diferentes

posibilidades de disparo de los sensores.

Antes de diseñar el circuito de conmutación empleando puertas lógicas, debe simplificarse la

expresión (7) aplicando las leyes del Álgebra de Boole. Aplicando el axioma 3 (propiedad distributiva):

( , , ) ( )A f p v s p v s p v s p v s v s p p p v s= = ⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅ = ⋅ ⋅ + + ⋅ ⋅ (8)

Por el axioma 4 se sabe que 1p p+ = , luego ( ) 1v s p p v s⋅ ⋅ + = ⋅ ⋅ . Teniendo en cuenta el axioma 2,

1v s v s⋅ ⋅ = ⋅ . Así se obtiene:

( , , )A f p v s v s p v s= = ⋅ + ⋅ ⋅ (9)

Aplicando de nuevo el axioma 3 (propiedad distributiva), la función lógica se simplifica finalmente:

( , , ) ( )A f p v s s v p v= = ⋅ + ⋅ (10)

Una vez se ha obtenido la función booleana simplificada (10), su implementación con puertas lógicas

conduce al circuito de conmutación que se muestra en la Fig. 6.

13

Fig. 6 Circuito de conmutación del sistema de alarma.

La resolución anterior se fundamenta en la aplicación directa de las reglas del Álgebra de Boole para

formular y simplificar la función lógica del circuito deseado. Sin embargo, puede abordarse también la

resolución definiendo la función lógica con su tabla de verdad y obteniendo el esquema de

implementación por medio de un diagrama de Karnaugh. En la impartición debe hacerse hincapié en que

este segundo método no añade ninguna idea fundamental nueva, más allá de permitir la implementación

sistemática a partir de tablas de verdad.

Sumador binario. Diseñar un circuito de conmutación que sea capaz de sumar dos números binarios de una cifra.

En este caso debe considerarse un circuito multifunción, ya que la suma de dos números binarios de una

cifra puede dar un número de una o dos cifras. (De la misma manera que al sumar, en base 10, dos

números naturales de una cifra puede obtenerse un número de una o dos cifras.) En esos casos surge el

concepto de “acarreo”, es decir: “nueve más ocho son siete y me llevo una”. Por eso el sumador binario

que se va a construir suele denominarse en la literatura técnica “sumador con acarreo”.

Si los sumandos son números binarios de una cifra, se pueden expresar en términos de sendas

variables booleanas A y B. Como la suma puede tener una o dos cifras, se expresará empleando dos

variables booleanas 0C y 1C . Es decir:

0 0 1 01 02 2 2 2A B C C⋅ + ⋅ = ⋅ + ⋅ (11)

Por tanto deben diseñarse dos circuitos, uno para la función lógica 0 ( , )C f A B= y otro para

1 ( , )C f A B= . De estas dos funciones, la más sencilla de escribir en términos lógicos es la del dígito de

acarreo 1C . En efecto: 1C debe ser 1 sólo si 1A B= = , y debe ser 0 en caso contrario; lo que coincide

con la definición del producto booleano A B⋅ . Por tanto: 1C A B= ⋅ . Para obtener 0C debe tenerse en

cuenta que sólo puede valer 1 cuando uno de los sumandos sea 1 y el otro cero, ya que cuando ambos

sumandos son 1 o son cero, el valor de 0C debe ser 0. Así que: 0C A B A B= ⋅ + ⋅ .

Dada la sencillez de las expresiones booleanas de 0C y 1C , se pueden implementar directamente con

puertas lógicas sin necesidad de simplificación. El resultado se muestra en la Fig. 7.

14

Fig. 7 Circuito de conmutación del sumador binario.

Al igual que en el ejemplo anterior, en la explicación para el alumno pueden obtenerse las funciones

lógicas a partir de una tabla de verdad de doble salida aplicando el método de Karnaugh.

Este ejercicio muestra de manera explícita cómo el Álgebra de Boole, que sólo puede actuar sobre

“unos y ceros” de acuerdo a las reglas de la lógica, es capaz de sumar dos números naturales gracias a que

éstos se han expresado en código binario.

6 Conclusiones

Se propone introducir el Álgebra de Boole dentro de los módulos Sistemas Informáticos Monousuario y

Multiusuario (SIMM) y Sistemas Informáticos Multiusuario y en Red (SIMR) pertenecientes a los ciclos

de grado superior Administración de Sistemas Informáticos (ASI) y Desarrollo de Aplicaciones

Informáticas (DAI).

Para ello se debe incluir una Unidad de Trabajo denominada “Álgebra de conmutación” donde se

explique cómo es posible diseñar sistemas de conmutación para procesar automáticamente la información

operando con criterios lógicos similares a los del pensamiento humano, y cómo esos mismos esquemas de

procesamiento son capaces de realizar operaciones aritméticas elementales con números binarios. Siendo

esto último de importancia capital a la hora de mostrar al alumno el nexo entre las unidades de trabajo

“Sistemas de numeración” y “Fundamentos de los sistemas informáticos”.

Además se han expuesto los aspectos principales del Álgebra de Boole como una introducción

sugerente para aquéllos docentes que puedan interesarse en su impartición. De este modo, dicha

exposición constituye una primera guía para la elaboración de los contenidos teóricos sobre los que el

docente pueda fundamentar su actuación en el aula.

Finalmente, como guía para la praxis, se sugieren dos supuestos prácticos para exponer las dos

principales líneas de aplicación del Álgebra de Boole a los circuitos de conmutación, a saber: el diseño de

un sistema de alarma doméstico, como muestra de un circuito que toma decisiones lógicas en función de

estímulos externos; y la implementación de un sumador de números binarios, como ejemplo de circuito

lógico capaz de realizar cálculos aritméticos sencillos.

15

Agradecimientos

La autora desea agradecer la disponibilidad y espíritu de colaboración de los equipos docentes de los

centros I.E.S. Europa de Rivas-Vaciamadrid (Madrid) e I.E.S. Francisco de Quevedo de Madrid, en los

que las ideas expuestas en este artículo fueron llevadas a la práctica con éxito durante los cursos

académicos 2005/06, 2006/07 y 2007/08. Y, sobre todo, a los alumnos: por su receptividad y por

contagiar a la autora el entusiasmo necesario para escribir el presente artículo a partir de las experiencias

acumuladas durante la impartición de aquellas clases.

Referencias

BALLESTA PAGÁN J. (1996). Función didáctica de los materiales curriculares. Píxel-Bit, Revista de

Medios y Comunicación, Nº 6.

BOOLE G. (1982) Investigación sobre las leyes del pensamiento. Madrid, Paraninfo. 11-164.

Manual de Electronic Work Bench. http://www.uclm.es/gsee/aie/circuitos/EWB.pdf

MUÑOZ LÓPEZ F. J. (2006). Sistemas Informáticos Multiusuario y en Red. Madrid. McGraw Hill.

MUÑOZ LÓPEZ F. J. (2006). Sistemas Informáticos Monousuario y Multiusuario. Madrid. McGraw

Hill.

RAYA GONZÁLEZ L., RODRIGO RAYA V., SANTOS GONZÁLEZ M., MARTÍNEZ RUIZ M. A.

(2007). Sistemas Informáticos Multiusuario y en Red. Madrid. Ra-Ma.

RAYA GONZÁLEZ L., RODRIGO RAYA V., SANTOS GONZÁLEZ M., MARTÍNEZ RUIZ M. A.

(2007). Sistemas Informáticos Monousuario y Multiusuario. Madrid. Ra-Ma.

RECIO SAUCEDO M. A., CABERO ALMENARA J. (2005). Enfoques de aprendizaje, rendimiento

académico y satisfacción de los alumnos en formación en entornos virtuales. Píxel-Bit, Revista de

Medios y Comunicación, Nº 25. 93-115.

R.D. 1660/1994, de 22 de julio, por el que se establece el título de Técnico en Administración de

Sistemas Informáticos y las correspondientes enseñanzas mínimas.

R. D. 1661/1994, de 22 de julio, por el que se establece el título en Técnico de Desarrollo de Aplicaciones

Informáticas y las correspondientes enseñanzas mínimas.

R. D. 1675/1994, de 22 de julio, por el que se establece el currículo del ciclo formativo de grado superior

correspondiente al título de Técnico de Administración de Sistemas Informáticos.

R. D. 1676/1994, de 22 de julio, por el que se establece el currículo del ciclo formativo de grado superior

correspondiente al título de Técnico de Desarrollo de Aplicaciones Informáticas.

Simulador Logicly. http://www.tecnologiadiaria.com/2009/05/simulador-online-circuitos-

electricos.html/