Está en la página 1de 14

Introducción a los conceptos digitales y

operaciones lógicas

MAGNITUDES ANALÓGICAS Y DIGITALES


Los circuitos electrónicos pueden dividirse en dos amplias categorías:
digitales y analógicos. La electrónica digital utiliza magnitudes con valores
discretos y la electrónica analógica emplea magnitudes con valores
continuos.
Una magnitud analógica es aquella que toma valores continuos. Una
magnitud digital es aquella que toma un conjunto de valores discretos. La
mayoría de las cosas que se pueden medir cuantitativamente aparecen en
la naturaleza en forma analógica. Por ejemplo, la temperatura varía dentro
de un rango continuo de valores. A lo largo de un día, la temperatura no
varía por ejemplo entre 20ºC y 25ºC de forma instantánea, sino que alcanza
todos los infinitos valores que hay en ese intervalo. Otro ejemplo de
magnitudes analógicas son el tiempo, la presión, la distancia y el sonido.
Veamos el siguiente gráfico, donde se representa la temperatura de un día
promedio:

1
En lugar de hacer una gráfica de temperatura en un rango continuo,
supongamos que simplemente medimos la temperatura cada hora. Lo que
tenemos ahora son muestras que representan la temperatura en instantes
discretos de tiempo (cada hora) a lo largo de un período de 24 horas. De
esta forma, hemos convertido de forma efectiva una magnitud analógica a
un formato que ahora puede digitalizarse, representando cada valor
muestreado mediante un código digital. Es importante darse cuenta de que
la siguiente figura no es la representación digital de la magnitud analógica.

Representación de los valores muestreados (cuantificación) de la magnitud analógica de la Figura


anterior. Cada valor representado por un punto puede digitalizarse, representándolo como un código
digital que consta de una serie de 1s y 0s.

Un sistema electrónico analógico


Un sistema de altavoz, que se emplea para amplificar el sonido de modo
que pueda ser escuchado por una gran audiencia, es un ejemplo de una
aplicación de electrónica digital. El siguiente diagrama básico ilustra cómo
estas ondas sonoras, que son analógicas por naturaleza, son captadas por
un micrófono y convertidas en una pequeña variación analógica de tensión
denominada señal de audio. Esta tensión varía de forma continua a medida
que el volumen y la frecuencia del sonido varían, y se aplica a la entrada de
un amplificador lineal. La salida del amplificador, que es una reproducción
amplificada de la tensión de entrada, se aplica al altavoz. El altavoz

2
convierte de nuevo la señal de audio amplificada en ondas sonoras con un
volumen mucho mayor que el sonido original captado por el micrófono.

Sistema básico de altavoz.

Sistema que utiliza métodos digital y analógico


Un reproductor de CD es un ejemplo de un sistema en que se emplean tanto
circuitos digitales como analógicos. La música en formato digital se
almacena en el CD. Un sistema óptico de diodos láser lee los datos digitales
del disco cuando éste gira y los transfiere al convertidor digital-analógico
(DAC, Digital-to-Analog Converter). El DAC transforma los datos digitales en
una señal analógica que es una reproducción eléctrica de la música original.
Esta señal se amplifica y se envía al altavoz para que podamos disfrutarla.
Cuando la música original se grabó en el CD se utilizó el proceso inverso
del descrito aquí, y que utilizaba un convertidor analógico-digital (ADC,
Analog-to-Digital Converter).

3
DÍGITOS BINARIOS, NIVELES LÓGICOS Y FORMAS DE
ONDA DIGITALES
La electrónica digital utiliza sistemas y circuitos en los que sólo existen dos
estados posibles. Estos estados se representan mediante dos niveles de
tensión diferentes: ALTO (HIGH) y BAJO (LOW).
Estos dos estados también pueden representarse mediante niveles de
corriente, bits y relieves en un CD o en un DVD, etc. En los sistemas digitales
como las computadoras, las combinaciones de los dos estados,
denominadas códigos, se emplean para representar números, símbolos,
caracteres alfabéticos y otros tipos de datos. El sistema de numeración de
dos estados se denomina binario y los dos dígitos que emplea son 0 y 1. Un
dígito binario se denomina bit.

Dígitos binarios
Cada uno de los dos dígitos del sistema binario, 1 y 0, se denomina bit, que
es la contracción de las palabras binary digit (dígito binario). En los circuitos
digitales se emplean dos niveles de tensión diferentes para representar los
dos bits. Por lo general, el 1 se representa mediante el nivel de tensión más
elevado, que se denomina nivel ALTO (HIGH) y 0 se representa mediante
el nivel de tensión más bajo, que se denomina nivel BAJO (LOW). Este
convenio recibe el nombre de lógica positiva.
ALTO (HIGH) = 1 y BAJO (LOW) = 0
Un sistema en el que un 1 se representa por un nivel BAJO y un 0
mediante un nivel ALTO se dice que emplea lógica negativa.

4
Los grupos de bits (combinaciones de 1s y 0s), llamados códigos, se utilizan
para representar números, letras, símbolos, instrucciones y cualquier otra
cosa que se requiera en una determinada aplicación.

Niveles lógicos
Las tensiones empleadas para representar un 1 y un 0 se denominan niveles
lógicos. En el caso ideal, un nivel de tensión representa un nivel ALTO y otro
nivel de tensión representa un nivel BAJO. Sin embargo, en un circuito digital
real, un nivel ALTO puede ser cualquier tensión entre un valor mínimo y un
valor máximo especificados. Del mismo modo, un nivel BAJO puede ser
cualquier tensión comprendida entre un mínimo y máximo especificados. No
puede existir solapamiento entre el rango aceptado de niveles ALTO y el
rango aceptado de niveles BAJO.
Por ejemplo, los valores para el nivel ALTO en un determinado tipo de
circuito digital denominado CMOS pueden variar en el rango de 2 V a 3,3 V
y los valores para el nivel BAJO en el rango de 0 V a 0,8 V. De esta manera,
si por ejemplo se aplica una tensión de 2,5 V, el circuito lo aceptará como
un nivel ALTO, es decir, un 1 binario. Si se aplica una tensión de 0,5 V, el
circuito lo aceptará como un nivel BAJO, es decir, un 0 binario. En este tipo
de circuito, las tensiones comprendidas entre 0,8 V y 2 V no son aceptables.

5
OPERACIONES LÓGICAS BÁSICAS
En su forma más simple, la lógica es la parte del razonamiento humano que
nos dice que una determinada proposición (sentencia de asignación) es
cierta si se cumplen ciertas condiciones. Las proposiciones se pueden
clasificar como verdaderas o falsas. Muchas situaciones y procesos que
encontramos en nuestra vida cotidiana pueden expresarse como funciones
proposicionales o lógicas. Dado que tales funciones son sentencias
verdaderas/falsas o afirmativas/negativas, pueden aplicarse a los circuitos
digitales, ya que éstos se caracterizan por sus dos estados.
Cuando se combinan varias proposiciones se forman funciones lógicas o
proposicionales. Por ejemplo, la proporción “la luz está encendida” será
cierta si “la bombilla no está fundida” lo es y si “el interruptor está dado”
también es verdadera. Por tanto, esta proposición lógica puede formularse
de la manera siguiente: la luz está encendida sólo si la bombilla no está
fundida y el interruptor está dado. En este ejemplo, la primera sentencia sólo
es verdadera si las dos últimas lo son. La primera proposición (“la luz está
encendida”) es por tanto la proposición básica y las otras dos son las
condiciones de las que depende la proposición.
Hacia 1850, el matemático y lógico irlandés George Boole desarrolló un
sistema matemático para formular proposiciones lógicas con símbolos, de
manera que los problemas puedan formularse y resolverse de forma similar
a como se hace en el álgebra ordinaria. El álgebra de Boole, como se le
conoce hoy día, encuentra aplicaciones en el diseño y el análisis de los
sistemas digitales.
El término lógico se aplica a los circuitos digitales que se utilizan para
implementar funciones lógicas. Existen varios tipos de circuitos lógicos que
son los elementos básicos que constituyen los bloques sobre los que se
construyen los sistemas digitales más complejos, como por ejemplo una
computadora. Ahora vamos a abordar estos elementos y vamos a estudiar
sus funciones de una forma muy general.

6
A continuación, se muestran los símbolos estándar distintivos de las tres
operaciones lógicas básicas (NOT, AND y OR).

Las líneas conectadas a cada símbolo son las entradas y las salidas. Las
entradas son las líneas situadas a la izquierda de cada símbolo y la salida
es la línea de la derecha. Un circuito que realiza una operación lógica
determinada (NOT, AND, OR) se denomina puerta lógica. Las puertas AND
y OR pueden tener cualquier número de entradas.
En las operaciones lógicas, las condiciones mencionadas anteriormente de
verdadero/falso se representan mediante un nivel ALTO (verdadero) y un
nivel BAJO (falso). Cada una de las tres operaciones básicas da lugar a una
única respuesta para un determinado conjunto de condiciones.

NOT
La operación NOT cambia de un nivel lógico al nivel lógico opuesto.
Cuando la entrada está a nivel ALTO (1), la salida se pone a nivel BAJO (0).
Cuando la entrada está a nivel BAJO, la salida se pone a nivel ALTO. En
cualquier caso, la salida no es la misma que la entrada. La operación NOT
se implementa mediante un circuito lógico conocido como inversor.

7
AND
La operación AND genera un nivel ALTO sólo cuando todas las entradas
están a nivel ALTO, para el caso de dos entradas. Cuando una entrada está
a nivel ALTO y la otra entrada está a nivel ALTO, la salida se pone a nivel
ALTO. Cuando cualquiera de las entradas o todas ellas están a nivel BAJO,
la salida se pone a nivel BAJO. La operación AND se implementa mediante
un circuito lógico conocido como puerta AND.

OR
La operación OR genera un nivel ALTO cuando una o más entradas están
a nivel ALTO, para el caso de dos entradas. Cuando una de las entradas
está a nivel ALTO o ambas entradas están a nivel ALTO, la salida es un
nivel ALTO. Cuando ambas entradas están a nivel BAJO, la salida será un
nivel BAJO. La operación OR se implementa mediante un circuito lógico
denominado puerta OR.

8
Estructuras de Control Condicional
1. Instrucciones condicionales
Las estructuras condicionales permiten la ejecución condicional de bloques
de código. La instrucción if, que en inglés tiene el mismo significado que
nuestro "si" condicional, permite evaluar una expresión y, sobre la base de
su resultado (verdadero o falso), ejecutar o no la instrucción o el bloque que
le sigue. Es decir, si el resultado de la expresión es verdadero, ejecuta el
código. En caso contrario, el programa sigue su curso normal.
Una instrucción (o estructura) condicional o de selección es aquella que
establece qué instrucciones deben de ejecutarse o no, en función del valor
de una condición.
TIPOS DE INSTRUCCIONES CONDICIONALES
• de condición simple,
• bicondicional o
• de condición múltiple.
El valor de la condición que determina si se ha de ejecutar o no un conjunto
de instrucciones viene dado por un valor booleano que es el resultado de
una expresión booleana.

2. Condicional Simple
Un condicional simple es una estructura de control que ejecuta un conjunto
de líneas de código si es cierta una expresión booleana. En Processing* un
condicional simple se expresa según este código:
if (expresion) {
Líneas de código que se ejecutan
si la expresión es cierta.
}

Ejemplo 1. Un ejemplo simple de un condicional simple

Processing es un lenguaje de programación y entorno de desarrollo integrado de código abierto basado en Java, de
fácil utilización, y que sirve como medio para la enseñanza y producción de proyectos multimedia e interactivos de
diseño digital.

9
El siguiente código muestra la división de dos números naturales siempre y
cuando el denominador no sea nulo.

3. La cláusula else
A un condicional simple se le puede añadir la cláusula else para especificar
qué líneas de código se quieren ejecutar si la expresión booleana es falsa.
En este caso se habla de la estructura if-else, que en Processing se expresa
según este código:
if (expresion) {
Líneas de código que se ejecutan
si la expresión es cierta.
} else {
Líneas de código que se ejecutan
si la expresión es falsa.
}

Ejemplo 2. Un ejemplo sencillo de un bicondicional

El siguiente código muestra un mensaje para indicar cuándo un número es


negativo y cuándo no lo es.

4. Anidamiento
Las instrucciones (o estructuras) condicionales pueden aparecer en
cualquier bloque del programa. Por ejemplo, puede aparecer en el bloque
de una función, pero también puede aparecer en los bloques que componen
una instrucción condicional.

10
Un bloque de un programa es todo aquello que se encuentra entre las llaves
{ y }.
Cuando en alguno de los bloques de una instrucción if-else se incluye otro
if u otro if-else se dice que esta segunda estructura está anidada en la
primera y se habla de secuencia de estructuras condicionales anidadas.

Ejemplo 3. Estructuras condicionales anidadas


El siguiente código mejora el código anterior. Se muestra un mensaje para
indicar cuándo un número es negativo, positivo o nulo. Para ello se recurre
a una estructura condicional que está anidada en la cláusula else.

Dicho código es equivalente al siguiente, formado únicamente por condicionales


simples.

11
5.Estructura de selección múltiple
En el caso de anidar reiteradamente estructuras if-else en cada una de las
cláusulas else puede convenir la estructura de selección múltiple. Es una
estructura que permite seleccionar entre varias alternativas posibles. Las
alternativas tienen que ser valores literales de tipo int, char o String. En
Processing se expresa según este código:
switch (expresion) {
case constante1:
conjunto de sentencias que se ejecutarán
si expresion == constante1 es cierto.
break;
case constante2:
conjunto de sentencias que se ejecutarán
si expresion == constante2 es cierto.
break;
...
case constanteK:
conjunto de sentencias que se ejecutarán
si expresion == constanteK es cierto.
break;
default:
conjunto de sentencias que se ejecutarán
si expresion no retorna un valor coincide
con ninguna de las constantes anteriores.
}
Ejemplo 5. Uso de switch-case-default

12
El siguiente código muestra un mensaje correspondiente al día de la semana, en
función de un valor numérico.

6. Repaso
✓ Una estructura condicional ejecuta ciertas líneas de código en función
de una expresión booleana.

✓ Hay 3 tipos de estructuras de control condicional.


• de condición simple, la estructura if;
• bicondicional, la estructura if-else; y
• de condición múltiple, la estructura switch-case-default.

13
✓ Mientras que en las estructuras if y if-else la expresión booleana
condicional puede contener cualquier tipo de dato y puede intervenir
cualquier tipo de operador condicional o booleano, la expresión
condicional de la estructura switch-case es solo de comparación de
igualdad y restringida a los tipos de datos int, char o String

✓ Cualquiera de estas estructuras pueden estar anidadas en cualquier


bloque del programa, donde se incluyen los bloques de las estructuras
anidadas.

14

También podría gustarte