lunes, 29 de noviembre de 2010

Tablas de Verdad

Tabla de verdad para ~p.

p ~p
V F
F V
Esta tabla nos hace recordar la definición que vimos anteriormente de la negación, que dice: si el valor de verdad de p es verdadero, entonces el valor de verdad de ~p es falso. Si el valor de verdad de p es falso, entonces el valor de verdad de ~p es verdadero.

Tabla de verdad para p v q.

p q p v q
V V V
V F V
F V V
F F F



En esta tabla se observa: Si p es verdadero o q es verdadero o si ambos p y q son verdaderos, entonces p v q es verdadero; en otro caso p v q es falso. Es decir, la disyunción de dos proposiciones es falsa solamente si cada proposición componente es falsa.





Tabla de verdad para p ^ q.

p q p ^ q
V V V
V F F
F V F
F F F



Esta tabla nos hace ver la definición de la conjunción:
Si p es verdadero y q es verdadero, entonces p ^ q es verdadero; en otro caso p ^ q es falso. Es decir, la conjunción de dos proposiciones es verdadera solamente si cada componente es verdadero.





Tabla de verdad para p --> q.

p q p --> q
V V V
V F F
F V V
F F V



De la tabla anterior se abserva que el condicional p --> q es verdadero a menos que p sea verdadero y q falso. Es decir una proposición verdadera no puede implicar una falsa.





Tabla de verdad para p <--> q.

p q p <--> q
V V V
V F F
F V F
F F V



De la anterior tabla se puede observar que:
Si p y q tienen el mismo valor de verdad, entonces p <--> q es verdadero; si p y q tienen valores de verdad opuestos, entonces p <--> q es falso.




Las tablas de verdad anteriores son las que se necesitan para deducir el valor de verdad de cualquier proposición por complicada que sea. A las tablas de verdad deducidas a partir de ellas se les llama tablas de verdad deducidas
Ilustremos esto con el siguiente ejemplo:
Calculemos la tabla de verdad de la proposición ~p v q. Como se indica en la tabla que veremos a continuación, para construir dicha tabla, debemos empezar con todas las posibles combinaciones de valores de verdad de p que se deducen de la primera columna, podemos escribir la columna dos en la cuarta columna, finalmente aplicamos la definición de la disyunción para ~p v q. Esto lo verificamos con la siguiente tabla:

Tabla de verdad para ~p v q.

p q ~p q ~p v q
V V F V V
V F F F F
F V V V V
F F V F V




Nota:
De la tabla anterior podemos observar lo siguiente:Si comparamos las columnas primera y segunda con los de la cuarta columna, es decir los valores de verdad de p y q con los valores de verdad de ~p v q, observamos que ~p v q es falsa solamente cuando p es verdadera y q es falsa. Esto nos hace recordar los valores de la proposición condicional p <--> q, veremos mas tarde la relación que existe entre éstas dos proposiciones.




Antes de continuar construyendo tablas de verdad mas complejas, es necesario dar una regla para la construcción de dichas tablas:
Regla: Si tenemos dos proposiciones, como en todos los casos anteriores que hemos visto, necesitaremos cuatro filas. De estas cuatro filas la primera columna tendrá los valores de verdad: V,V, y F,F, y la segunda columna V,F,V y F. Las siguientes columnas tendrán los valores de verdad según la proposición dada.
Si se tienen tres proposiciones, necesitaremos ocho filas, de las cuales la primera columna se acomodarán los valores de verdad de la siguiente manera: V,V,V,V y F,F,F,F. Para la segunda columna se reparten los valores: V,V, F,F, V,V, F,F. Y para la tercera columna seran: V,F,V,F,V,F,V,F.
Para cuatro proposiciones, se necesitan 16 filas de las cuales en la primera columna se reparten los valores de verdad: 8 V y 8 F. La segunda columna empezará con cuatro V, despues cuatro F, y así sucesivamente hasta ocupar los 16 lugares, es decir, V,V,V,V F,F,F,F V,V,V,V y F,F,F,F. Para la tercera columna: V,V, F,F...hasta la fila número 16.
En general:
Analizando que para dos proposiciones se necesitan cuatro filas..o visto de otra manera: se necesitan 22 = 4 filas. Para tres proposiciones se necesitan ocho filas, o, 23 = 8. Para cuatro proposiciones necesitaremos 24 = 16 filas...en general para n proposiciones necesitaremos 2n filas.


Ilustremos todo esto con un ejemplo, construyamos la tabla de verdad para la proposición compuesta: [(p v q) ^ r ] --> ~q ^ p.
Este el caso para tres proposiciones:p, q y r, en donde según vimos anteriormente necesitamos ocho filas. En la primera columna irán repartidos los valores: V,V,V,V y F,F,F,F, para la segunda columna: V,V, F,F, V,V, F,F, y para la tercera columna: V,F,V,F,V,F,V,F.
Se observa que la proposición compuesta [(p v q) ^ r] --> ~q ^ p a fín de cuentas es una condicional p --> q, donde digamoslo así p = [(p v q ^ r)] y q = ~q ^ p. Por tanto lo que nos interesa al final son los valores de verdad de la condicional -->.
Debemos encontrar los valores para la proposición [(pvq) ^ r ], donde observamos que esta proposición es una conjunción p ^ q, donde p = p v q y q = r, (conste que hago estas igualdades para que se te haga mas claro). Para esto encontraremos el valor de verdad de la disyunción p v q ,donde los valores de ésta se deducen de las columnas primera y segunda, los valores de esta disyunción las colocaremos en la cuarta columna. Ahora encontraremos los valores de verdad de la conjunción [(p v q) ^ r] de la cual los valores los podemos deducir de las columnas tercera y cuarta, dichos valores los colocamos en la quinta columna.
Ahora nos hace falta encontrar los valores de verdad de la proposición ~q ^ p, la cual evidentemente se trata de una conjunción, para esto se necesita encontrar los valores de ~q los cuales se deducen de la columna dos aplicando la ley de la negación: si q es V entonces ~q es F, si q es F entonces ~q es V..etc., a estos valores los colocamos en la columna número seis, y ahora hayamos los valores de la conjunción ~q ^ p, estos se deducen de las columnas primera y sexta, valores que colocamos en la séptima columna. Finalmente encontramos los valores de la implicación [(p v q) ^ r] --> ~q ^ p de donde ahora se pueden deducir con claridad de las columnas quinta y séptima, a estos valores los colocamos en la octava y última columna.
La tabla de dicha proposición es la siguiente:





Tabla de verdad para [(p v q) ^ r] --> ~q ^ p.

p q r p v q p v q ^ r ~q ~q ^ p [(p v q ^ r] --> ~q ^ r
V V V V V F F F
V V F V F F F V
V F V V V V V V
V F F V F V V V
F V V V V F F F
F V F v F F F V
F F V F F V F V
F F F F F V F V

Sistemas de Numeración

Sistema de numeración decimal.

El sistema de numeración que utiliza­mos habitualmente es el decimal, que se compone de diez símbolos o dígi­tos (0, 1, 2, 3, 4, 5, 6, 7, 8 y 9)

Sistema de numeración binario.

El sistema de numeración binario utiliza sólo dos dígitos, el cero (0) y el uno (1).
En una cifra binaria, cada dígito tiene distinto valor dependiendo de la posición que ocupe. El valor de cada posición es el de una potencia de base 2, elevada a un exponente igual a la posición del dígito menos uno. Se puede observar que, tal y como ocurría con el sistema decimal, la base de la potencia coincide con la cantidad de dígitos utilizados (2) para representar los números.
De acuerdo con estas reglas, el número binario 1011 tiene un valor que se calcula así:

1*23 + 0*22 + 1*21 + 1*20 , es decir:

8 + 0 + 2 + 1 = 11

y para expresar que ambas cifras describen la misma cantidad lo escribimos así:

10112 = 1110

Conversión entre números decimales y binarios

Convertir un número decimal al sistema binario es muy sencillo: basta con realizar divisiones sucesivas por 2 y escribir los restos obtenidos en cada división en orden inverso al que han sido obtenidos.
Por ejemplo, para convertir al sistema binario el número 7710 haremos una serie de divisiones que arrojarán los restos siguientes:
77 : 2 = 38 Resto: 1
38 : 2 = 19 Resto: 0
19 : 2 = 9 Resto: 1
9 : 2 = 4 Resto: 1
4 : 2 = 2 Resto: 0
2 : 2 = 1 Resto: 0
1 : 2 = 0 Resto: 1
y, tomando los restos en orden inverso obtenemos la cifra binaria:

7710 = 10011012

Conversión de binario a decimal

El proceso para convertir un número del sistema binario al decimal es aún más sencillo; basta con desarrollar el número, teniendo en cuenta el valor de cada dígito en su posición, que es el de una potencia de 2, cuyo exponente es 0 en el bit situado más a la derecha, y se incrementa en una unidad según vamos avanzando posiciones hacia la izquierda.
Por ejemplo, para convertir el número binario 10100112 a decimal, lo desarrollamos teniendo en cuenta el valor de cada bit:

1*26 + 0*25 + 1*24 + 0*23 + 0*22 + 1*21 + 1*20 = 83

10100112 = 8310

Sistema de numeración octal

El inconveniente de la codificación binaria es que la representación de algunos números resulta muy larga. Por este motivo se utilizan otros sistemas de numeración que resulten más cómodos de escribir: el sistema octal y el sistema hexadecimal. Afortunadamente, resulta muy fácil convertir un número binario a octal o a hexadecimal.
En el sistema de numeración octal, los números se representan mediante ocho dígitos diferentes: 0, 1, 2, 3, 4, 5, 6 y 7. Cada dígito tiene, naturalmente, un valor distinto dependiendo del lu­gar que ocupen. El valor de cada una de las posiciones viene determinado por las potencias de base 8.
Por ejemplo, el número octal 2738 tiene un valor que se calcula así:

2*83 + 7*82 + 3*81 = 2*512 + 7*64 + 3*8 = 149610

2738 = 149610

Conversión de un número decimal a octal

La conversión de un número decimal a octal se hace con la misma técnica que ya hemos utilizado en la conversión a binario, mediante divisiones sucesivas por 8 y colocando los restos obtenidos en orden inverso. Por ejemplo, para escribir en octal el número decimal 12210 tendremos que hacer las siguientes divisiones:

122 : 8 = 15     Resto: 2
15 : 8 = 1           Resto: 7
1 : 8 = 0               Resto: 1
Tomando los restos obtenidos en orden inverso tendremos la cifra octal:

12210 = 1728

Conversión octal a decimal

La conversión de un número octal a decimal es igualmente sencilla, conociendo el peso de cada posición en una cifra octal. Por ejemplo, para convertir el número 2378 a decimal basta con desarrollar el valor de cada dígito:

2*82 + 3*81 + 7*80 = 128 + 24 + 7 = 15910

2378 = 15910

Sistema de numeración hexadecimal

En el sistema hexadecimal los números se representan con dieciséis símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F. Se utilizan los caracteres A, B, C, D, E y F representando las cantidades decima­les 10, 11, 12, 13, 14 y 15 respectivamente, porque no hay dígitos mayores que 9 en el sistema decimal. El valor de cada uno de estos símbolos depende, como es lógico, de su posición, que se calcula mediante potencias de base 16.
Calculemos, a modo de ejemplo, el valor del número hexadecimal 1A3F16:

1A3F16 = 1*163 + A*162 + 3*161 + F*160
 
1*4096 + 10*256 + 3*16 + 15*1 = 6719

1A3F16 = 671910

Conversión de números binarios a octales y viceversa

Cada dígito de un número octal se representa con tres dígitos en el sistema binario. Por tanto, el modo de conver­tir un número entre estos sistemas de numeración equivale a "expandir" cada dígito octal a tres dígitos bi­narios, o en "contraer" grupos de tres caracteres binarios a su correspondiente dígito octal.


Por ejemplo, para convertir el número binario 1010010112 a octal tomaremos grupos de tres bits y los sustituiremos por su equivalente octal:

1012 = 58
0012 = 18
0112 = 38
y, de ese modo: 1010010112 = 5138

 Conversión de números binarios a hexadecimales y viceversa

Del mismo modo que hallamos la correspondencia entre números octales y binarios, podemos establecer una equivalencia directa entre cada dígito hexadecimal y cuatro dígitos binarios, como se ve en la siguiente tabla:


DECIMAL

BINARIO

HEXADECIMAL
0
0000
0
1
0001
1
2
0010
2
3
0011
3
4
0100
4
5
0101
5
6
0110
6
7
0111
7
8
1000
8
9
1001
9
10
1010
A
11
1011
B
12
1100
C
13
1101
D
14
1110
E
15
1111
F


La conversión entre números hexadecimales y binarios se realiza "expandiendo" o "con­trayendo" cada dígito hexadecimal a cuatro dígitos binarios. Por ejemplo, para expresar en hexadecimal el número binario 1010011100112 bastará con tomar grupos de cuatro bits, empezando por la derecha, y reemplazarlos por su equivalente hexadecimal: 

10102 = A16
01112 = 716
00112 = 316
y, por tanto: 1010011100112 = A7316

En caso de que los dígitos binarios no formen grupos completos de cuatro dígitos, se deben añadir ceros a la izquierda hasta completar el último grupo. Por ejemplo:
1011102 = 001011102 = 2E16

 

jueves, 18 de noviembre de 2010

Puertos & Ranuras

 La Placa Base de un PC


Las ranuras de expansión del PC no son la única opción a la hora de conectar periféricos al PC. De hecho, los periféricos externos suelen precisar la instalación de una tarjeta adaptadora (normalmente PCI), a la cual se conecta el dispositivo en sí (disminuyendo, por tanto, el número de ranuras disponibles y limitando la capacidad de expansión). Afortunadamente, cualquier PC actual está equipado con diversos puertos para la comunicación directa con dispositivos externos (ratón, impresora, webcam, asistente personal, etc.), sin necesidad de instalar tarjetas adaptadoras. Cada tipo de puerto está dotado de unas características y un funcionamiento diferentes, que condicionan el tipo de dispositivos que se pueden conectar. Por ejemplo, la conexión de un módem sugiere el empleo de un puerto serie, mientras que una impresora invita a la utilización del puerto paralelo.
Puertos & Ranuras


 Los puertos de comunicación, como su nombre indica, son una serie de puertos que sirven para comunicar nuestro ordenador con los periféricos u otros ordenadores. Se trata en definitiva de dispositivos I/O (Input/Output, o Entrada/Salida).

Puerto Serie
Los puertos serie -también conocidos como puertos de comunicaciones (COM)- están considerados como una interfaz externa fundamental. De hecho, dichos puertos han acompañado al PC desde hace más de veinte años. En general, todo PC incluye dos puertos serie RS-232, denominados COM1 y COM2Los puertos serie -también conocidos como puertos de comunicaciones (COM)- están considerados como una interfaz externa fundamental. De hecho, dichos puertos han acompañado al PC desde hace más de veinte años. En general, todo PC incluye dos puertos serie RS-232, denominados COM1 y COM2
 Señales empleadas por el Puerto en Serie

 
Los conectores DB9 y DB25, a pesar de presentar un diferente número de terminales, transportan los mismos tipos de señales. El uso principal para el que fue diseñado el puerto serie consistía en la conexión de un módem, hecho que se refleja claramente en la disposición de los terminales.
 El puerto Paralelo
 
Las impresoras recuerdan inmediatamente la imagen mental del puerto paralelo, ya que
es ésta la interfaz mayormente empleada para la conexión de dicho periférico. Durante el
diseño de los primeros PC, IBM introdujo dicho puerto, con el objetivo de conectar una
Impresora. 





Señales empleadas por el Puerto Paralelo


Al igual que las señales del puerto serie están orientadas al uso de un módem, las señales del puerto paralelo se encuentran particularmente en línea con el control de una impresora. A continuación se describe el propósito de las señales mostradas en el gráfico.


Strobe. Esta señal produce un cambio de tensión cada vez que el PC envía un byte de datos. De esta forma, la impresora detecta que ya se han establecido los estados lógicos deseados en las 8 líneas de datos, y por tanto se puede leer la información (un byte).
Data0 - Data7. Contienen los datos enviados a la impresora (8 bits cada vez).
Acknowledge. La impresora indica que ha recibido el byte enviado, y está lista para recibir un nuevo byte.
Busy. Al igual que ocurría en el puerto serie (señales CTS y RTS), la impresora utiliza esta señal para indicar que aún no está preparada para recibir más datos.
Paper end. La impresora indica que se ha quedado sin papel.
Select. La impresora indica que se encuentra en línea.
Auto Feed. Cuando se recibe un retorno de carro, existen dos formas de interpretarlo. Algunas impresoras simplemente retornan al comienzo de la línea. Sin embargo, otras añaden -además- un avance de línea. La señal auto feed permite conmutar entre dichos modos de funcionamiento.
Error. La impresora emplea esta señal para notificar cualquier tipo de error detectado.
Init. Ante un cambio de estado lógico en esta señal, la impresora se reinicializa.
Select In. Esta señal permite poner a la impresora fuera de servicio.
GND. Terminales de masa (referencia de tensión para todas las demás señales).




El bus USB


A pesar de que han persistido desde los inicios del PC, y de su conveniencia para multitud de aplicaciones, los puertos serie y paralelo presentan claras limitaciones en cuanto a capacidad de expansión y rendimiento se refiere. A mediados de los 90, un consorcio formado por multitud de empresas -incluyendo COMPAQ, IBM, Microsoft, NEC, etc.- desarrolló una nueva interfaz estándar para la conexión de dispositivos externos al PC.





La interfaz FireWire



El término FireWire resulta familiar, sobre todo, para los usuarios de PC interesados en el campo del vídeo digital. Pero, más allá de este campo concreto, se trata de un bus serie similar al USB, que admite la conexión de una gran variedad de dispositivos.


Cómo funcionan las Tarjetas de Sonido
 
Desde sus comienzos hasta la actualidad, el PC ha podido generar sonidos de baja calidad mediante su altavoz interno. Sin embargo, no es posible escuchar sonido de alta calidad (por ejemplo, temas musicales con calidad de CD) utilizando el altavoz interno. En ese caso es necesario añadir hardware adicional dedicado a la información de audio. Dicho hardware se conoce comúnmente como tarjeta de sonido y, hoy en día, es un elemento clave en cualquier PC.




Componentes Fundamentales 

 

El “corazón” de cualquier tarjeta de sonido está formado por tres subsistemas: el convertidor analógico/digital (CAD), el procesador digital de señales (DSP, Digital Signal Processor) y el convertidor digital/analógico (CDA).