miércoles, 29 de septiembre de 2010

HERRAMIENTAS: COMPORTAMIENTO PARA LA RELACIÓN DE PROBLEMAS

HARDWARE:
En computación, término inglés que hace referencia a cualquier componente físico tecnológico, que trabaja o interactúa de algún modo con la computadora. No sólo incluye elementos internos como el disco duro, CD-ROM, disquetera, sino que también hace referencia al cableado, circuitos, gabinete, etc. E incluso hace referencia a elementos externos como la impresora, el mouse, el teclado, el monitor y demás periféricos.

El
hardware contrasta con el software, que es intangible y le da lógica al hardware (además de ejecutarse dentro de éste).

El
hardware no es frecuentemente cambiado, en tanto el software puede ser creado, borrado y modificado sencillamente. (Excepto el firmware, que es un tipo de software que raramente es alterado).

Hardware típico de una computadora

El
típico hardware que compone una computadora personal es el siguiente:

• Su
chasis o gabinete
• La
placa madre, que contiene: CPU, cooler, RAM, BIOS, buses (PCI, USB, HyperTransport, CSI, AGP, etc)
Fuente de alimentación
Controladores de almacenamiento: IDE, SATA, SCSI
Controlador de video• Controladores del bus de la computadora (paralelo, serial, USB, FireWire), para conectarla a periféricos
Almacenamiento: disco duro, CD-ROM, disquetera, ZIP driver y otros
Tarjeta de sonido
• Redes: módem y tarjeta de red

El hardware también puede incluir componentes externos como:
Teclado
Mouse, trackballs
Joystick, gamepad, volante
Escáner, webcam
• Micrófono, parlante
Monitor (LCD, o CRT)
Impresora

SISTEMA OPERATIVO:


Un Sistema Operativo es el software encargado de ejercer el control y coordinar el uso del hardware entre diferentes programas de aplicación y los diferentes usuarios. Es un administrador de los recursos de hardware del sistema. 
En una definición informal es un sistema que consiste en ofrecer una distribución ordenada y controlada de los procesadores, memorias y dispositivos de E/S entre los diversos programas que compiten por ellos.
A pesar de que todos nosotros usamos sistemas operativos casi a diario, es difícil definir qué es un sistema operativo. En parte, esto se debe a que los sistemas operativos realizan dos funciones diferentes. 
Proveer una máquina virtual, es decir, un ambiente en el cual el usuario pueda ejecutar programas de manera conveniente, protegiéndolo de los detalles y complejidades del hardware. Administrar eficientemente los recursos del computador. 

PROGRAMAS DE APLICACIÓN:

En la informática, es un tipo de software diseñado para facilitar al usuario la concreción de un cierto trabajo. Esta característica lo diferencia de otros tipos de programas, como los sistemas operativos (que son los que hacen funcionar a la computadora) y las utilidades (que realizan tareas de mantenimiento o de uso general).

LENGUAJES DE PROGRAMACIÓN:

Los lenguajes de programación son herramientas que nos permiten crear programas y software. Entre ellos tenemos Delphi, Visual Basic, Pascal, Java, etc..

Una computadora funciona bajo control de un programa el cual debe estar almacenado en la unidad de memoria; tales como el disco duro.

Los lenguajes de programación de una computadora en particular se conoce como código de máquinas o lenguaje de máquinas.
 
Estos lenguajes codificados en una computadora específica no podrán ser ejecutados en otra computadora diferente.

Para que estos programas funcionen para diferentes computadoras hay que realizar una versión para cada una de ellas, lo que implica el aumento del costo de desarrollo.

Por otra parte, los lenguajes de programación en código de máquina son verdaderamente difíciles de entender para una persona, ya que están compuestos de códigos numéricos sin sentido nemotécnico.

Los lenguajes de programación facilitan la tarea de programación, ya que disponen de formas adecuadas que permiten ser leidas y escritas por personas, a su vez resultan independientes del modelo de computador a utilizar.

Los lenguajes de programación representan en forma simbólica y en manera de un texto los códigos que podrán ser leidos por una persona.

Los lenguajes de programación son independientes de las computadoras a utilizar.
Existen estrategias que permiten ejecutar en una computadora un programa realizado en un lenguaje de programación simbólico. Los procesadores del lenguaje son los programas que permiten el tratamiento de la información en forma de texto, representada en los lenguajes de programación simbólicos.

Hay lenguajes de programación que utilizan compilador.


La ejecución de un programa con compilador requiere de dos etapas:

1) Traducir el programa simbólico a código máquina
2) Ejecución y procesamiento de los datos.

Otros lenguajes de programación utilizan un programa intérprete o traductor, el cual analiza directamente la descripción simbólica del programa fuente y realiza las instrucciones dadas.

El intérprete en los lenguajes de programación simula una máquina virtual, donde el lenguaje de máquina es similar al lenguaje fuente.

La ventaja del proceso interprete es que no necesita de dos fases para ejecutar el programa, sin embargo su inconveniente es que la velocidad de ejecución es más lenta ya que debe analizar e interpretar las instrucciones contenidas en el programa fuente.



BIBLIOGRAFÍA:
http://www.alegsa.com.ar/Dic/hardware.php
http://definicion.de/programa-de-aplicacion/
http://www.euram.com.ni/pverdes/verdes_informatica/informatica_al_dia/que_es_un_so_144.htm
http://www.lenguajes-de-programacion.com/lenguajes-de-programacion.shtml

sábado, 18 de septiembre de 2010

EXPRESIONES BOOLEANAS

Las expresiones booleanas se usan para determinar si un conjunto de una o más condiciones es verdadero o falso, y el resultado de su evaluación es un valor de verdad. Los operandos de una expresión booleana pueden ser cualquiera de los siguientes:
  • Expresiones relacionales: que comparan dos valores y determinan si existe o no una cierta relación entre ellos (ver más adelante), tal como mfn<10;
  • Funciones booleanas: tal como p(v24), que regresa un valor de verdad (estos se explican bajo "Funciones booleanas").
Las expresiones relacionales permiten determinar si una relación dada se verifica entre dos valores. La forma general de una expresión relacional es:
       expresión-1 operador-de-relación expresión-2
 donde:
  • expresión-1 es una expresión numérica o de cadena
  • operador-de-relación es uno de los siguientes:
    •  = Igual
    • <> No igual (diferente de)
    • < Menor que
    • <= Menor o igual que
    • > Mayor que
    • >= Mayor o igual que
    • : Contiene (puede ser usado sólo en expresiones de cadena)

  • expresión-2 es una expresión del mismo tipo que expresión-1, o sea, expresión-1 y expresión-2 deben ser ambas expresiones numéricas o ambas expresiones de cadena.
Los operadores de relación = <> < <= > >= tienen su significado convencional cuando se aplican a expresiones numéricas (dentro de los límites de precisión de los valores numéricos definidos bajo "Expresiones numéricas"). Cuando se comparan expresiones de cadena, se aplican las siguientes reglas:

  • Excepto por el operador ":" (contiene), las cadenas se comparan exactamente en la forma en que ocurren, o sea, las letras mayúsculas y minúsculas se comparan de acuerdo con el código ASCII que les corresponde (p.ej. A será considerada menor que a);

  • Dos expresiones de cadena no son consideradas iguales, a menos que tengan la misma longitud. Si dos expresiones generan cadenas de diferente longitud que son idénticas, carácter por carácter, hasta el total de la longitud de la más corta, entonces, la más corta será considerada menor que la más larga.
El operador : (contiene), busca una cadena de caracteres (definida por expresión-2) en otra cadena (definida por expresión-1). Si el segundo operando existe en cualquier parte del segundo operando, el resultado es Verdadero (TRUE). Este operador es insensible al hecho de que los caracteres se hallen en mayúsculas o minúsculas: por lo que las letras minúsculas se consideran iguales a su letra mayúscula correspondiente. Por ejemplo, el resultado de:
        v10 : 'química'
será Verdadero (True) si, y sólo si, el campo 10 contiene la cadena química. en caso contrario, el resultado será Falso (False). Nótese que el segundo operando puede ser cualquier cadena o carácter, y no necesita ser una palabra como tal. Por lo tanto, en este ejemplo, el resultado será Verdadero no sólo si el campo 10 contiene la palabra química, sino también si contuviera bioquímica, fotoquímicas, químicamente, etc.
Los operandos de una expresión booleana pueden combinarse con los operadores siguientes:

  • NOT (NO) Este operador produce el valor Verdadero, si su operando es Falso; y el valor Falso, si su operando es Verdadero. El operador NOT sólo puede usarse como operador signo +, o sea, siempre se aplica a la expresión booleana que le sigue;

  • AND (Y) Este operador produce el valor Verdadero si ambos operandos son Verdadero. Si cualquiera de los dos operandos es Falso, entonces el resultado será Falso;

  • OR (O) Este operador realiza una operación O-inclusivo. El resultado es Verdadero si cualquiera de los dos operandos, o ambos son Verdadero. En caso contrario, es Falso.
Al evaluar expresiones booleanas, y en ausencia de paréntesis, CDS/ISIS ejecutará las operaciones NOT en primer lugar, después las operaciones AND, y finalmente las OR. Las series de dos o más operadores del mismo nivel, se ejecutan de izquierda a derecha. Se pueden usar paréntesis para alterar el orden de evaluación: las expresiones dentro de paréntesis se evalúan antes, y las expresiones entre paréntesis internos a otros, son evaluadas antes que las expresiones externas a los paréntesis.
La figura 17 presenta ejemplos de expresiones booleanas.


FUENTE: http://www.cindoc.csic.es/isis/04-2-3.htm

COMPUERTAS LÓGAS



-INTRODUCCIÓN:


Hay disponible una gran variedad de compuertas estándar, cada una con un comportamiento
perfectamente definido, y es posible combinarlas entre si para obtener funciones nuevas.
Desde el punto de vista practico, podemos considerar a cada compuerta como una caja negra, en la que
se introducen valores digitales en sus entradas, y el valor del resultado aparece en la salida.
Cada compuerta tiene asociada una tabla de verdad, que expresa en forma de lista el estado de su salida
para cada combinación posible de estados en la(s) entrada(s).
Si bien al pensar en la electrónica digital es muy común que asumamos que se trata de una tecnología
relativamente nueva, vale la pena recordar que Claude E. Shannon experimento con relés e
interruptores conectados en serie, paralelo u otras configuraciones para crear las primeras compuertas
lógicas funcionales. En la actualidad, una compuerta es un conjunto de transistores dentro de un circuito
integrado, que puede contener cientos de ellas. De hecho, un microprocesador no es más que un chip
compuesto por millones de compuertas lógicas.
Veremos a continuación que símbolo se utiliza para cada compuerta, y su tabla de verdad.


-Compuerta IF (SI)


La compuerta IF se representa
con un triángulo.





La puerta lógica IF, llamada SI en castellano, realiza la función
booleana de la igualdad. En los esquemas de un circuito electrónico
se simboliza mediante un triangulo, cuya base corresponde a la
entrada, y el vértice opuesto la salida. Su tabla de verdad es
también sencilla: la salida toma siempre el valor de la entrada. Esto
significa que si en su entrada hay un nivel de tensión alto, también
lo habrá en su salida; y si la entrada se encuentra en nivel bajo, su
salida también estará en ese estado.
En electrónica, generalmente se utilizan compuertas IF como amplificadores de corriente (buffers en
ingles), para permitir manejar dispositivos que tienen consumos de corriente elevados desde otros que
solo pueden entregar corrientes más débiles.


La compuerta IF es la más sencilla de todas


-Compuerta NOT (NO)




Entrada A    Salida A


      0               0
      1               1



El circulo en la salida significa
negación.





Esta compuerta presenta en su salida un valor que es el opuesto del
que esta presente en su única entrada. En efecto, su función es la
negación, y comparte con la compuerta IF la característica de tener
solo una entrada.
Se utiliza cuando es necesario tener disponible un valor lógico
opuesto a uno dado. La figura muestra el símbolo utilizado en los
esquemas de circuitos para representar esta compuerta, y su tabla
de verdad.
Se simboliza en un esquema eléctrico en el mismo símbolo que la compuerta IF, con un pequeño circulo
agregado en su salida, que representa la negación.





Entrada A   Salida S


      0             1
      1             0


El estado de la salida es el opuesto al de la entrada.

-Compuerta AND (Y)



Compuertas AND de 2 y 4
entradas.



Con dos o más entradas, esta compuerta realiza la función
booleana de la multiplicación.
Su salida será un “1” cuando todas sus entradas también estén en
nivel alto. En cualquier otro caso, la salida será un “0”. El operador
AND se lo asocia a la multiplicación, de la misma forma que al
operador SI se lo asociaba a la igualdad.
En efecto, el resultado de multiplicar entre si diferentes valores
binarios solo dará como resultado “1” cuando todos ellos también
sean 1, como se puede ver en su tabla de verdad.
Matemáticamente se lo simboliza con el signo “x”.



Entrada A   Entrada B   Salida S


       0               0             0
       0               1             0
       1               0             0
       1               1             1


Tabla de verdad de la compuerta AND de dos entradas.


Entrada A   Entrada B   Entrada C   Salida S


       0                0              0             0
       0                0              1             0
       0                1              0             0
       0                1              1             0
       1                0              0             0
       1                0              1             0
       1                1              0             0


Es posible tener más de dos
entradas.



A la izquierda, compuertas AND de 2 y 4 entradas



Podemos pensar en esta compuerta como una lámpara, que hace las veces de salida, en serie con la
fuente de alimentación y dos o mas interruptores, cada uno oficiando de entrada. La lámpara se
encenderá únicamente cuando todos los interruptores estén cerrados. En este ejemplo, el estado de los
interruptores es “1” cuando están cerrados y 0 cuando están abiertos. La salida esta en 1 cuando la
lámpara esta encendida, y en 0 cuando esta apagada.


Circuito eléctrico equivalente a una compuerta AND.


-Compuerta OR (O)


La función booleana que realiza la compuerta OR es la asociada a la
suma, y matemáticamente la expresamos como “+”.
Esta compuerta presenta un estado alto en su salida cuando al
menos una de sus entradas también esta en estado alto.
En cualquier otro caso, la salida será 0.
Tal como ocurre con las compuertas AND, el número de entradas
puede ser mayor a dos.
Entrada A   Entrada B   Salida S


      0                0              0
      0                1              1
      1                0              1
      1                1              1



Tabla correspondiente a una OR de dos
entradas.

 
      0              0                 0            0
      0              0                 1            1
      0              1                 0            1
      0              1                 1            1
      1              0                 0            1
      1              0                 1            1
      1              1                 0            1
      1              1                 1            1


Con tres entradas, la tabla
contiene el doble de estados
posibles.


Un circuito eléctrico equivalente a esta compuerta esta compuesto por una lámpara conectada en serie
con la alimentación y con dos o mas interruptores que a su vez están conectados en paralelo entre si.
Nuevamente, los interruptores serian las entradas, y la lámpara la salida. Si seguimos las convenciones
fijadas en el ejemplo visto al explicar la compuerta AND, tenemos que si ambos interruptores están
abiertos (o en 0), la lámpara permanece apagada. Pero basta que cerremos uno o más de los
interruptores para que la lámpara se encienda.


Circuito eléctrico equivalente a una compuerta OR

-Compuerta NAND (NO Y)



Agregando una etapa NOT a una
compuerta AND obtenemos una
NAND.


Cualquier compuerta lógica se puede negar, esto es, invertir el
estado de su salida, simplemente agregando una compuerta NOT
que realice esa tarea. Debido a que es una situación muy común,
se fabrican compuertas que ya están negadas internamente. Este
es el caso de la compuerta NAND: es simplemente la negación de
la compuerta AND vista anteriormente.
Esto modifica su tabla de verdad, de hecho la invierte (se dice
que la niega) quedando que la salida solo será un 0 cuando todas
sus entradas estén en 1.
El pequeño círculo en su salida es el que simboliza la negación. El
numero de entradas debe ser como mínimo de dos, pero no es
raro encontrar NAND de 3 o mas entradas.


Entrada A   Entrada B   Salida S


      0                0            1
      0                1            1
      1                0            1
      1                1            0
La compuerta NAND es una AND negada

-Compuerta NOR (NO O)




Agregando una etapa NOT a una compuerta AND obtenemos
una NAND.


De forma similar a lo explicado con la compuerta NAND, una
compuerta NOR es la negación de una compuerta OR, obtenida
agregando una etapa NOT en su salida.


Como podemos ver en su tabla de verdad, la salida de una compuerta NOR es 1 solamente cuando todas
sus entradas son 0. Igual que en casos anteriores, la negación se expresa en los esquemas mediante un
círculo en la salida. El número de entradas también puede ser mayor a dos.


Entrada A   Entrada B   Salida S


      0                0            1
      0                1            0
      1                0            0
      1                1            0
Tabla de verdad de la compuerta NOR

FUENTE: http://www.ucontrol.com.ar/PDF/compuertasl.pdf


Entrada A   Entrada B   Entrada C   Salida S

SISTEMAS DE NUMERACIÓN

Un sistema de numeración es un conjunto de símbolos y reglas que permi­ten representar datos numéricos. Los sistemas de numeración actuales son sistemas posicionales, que se caracterizan porque un símbo­lo tiene distinto valor según la posición que ocupa en la cifra.



-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) a los que otorga un valor dependiendo de la posición que ocupen en la cifra: unidades, decenas, centenas, millares, etc.
El valor de cada dígito está asociado al de una potencia de base 10, número que coincide con la cantidad de símbolos o dígitos del sistema decimal, y un exponente igual a la posición que ocupa el dígito menos uno, contando desde la de­recha.
En el sistema decimal el número 528, por ejemplo, significa:

5 centenas + 2 decenas + 8 unidades, es decir:
5*102 + 2*101 + 8*100 o, lo que es lo mismo:
500 + 20 + 8 = 528

En el caso de números con decimales, la situación es análoga aunque, en este caso, algunos exponentes de las potencias serán negativos, concreta­mente el de los dígitos colocados a la derecha del separador decimal. Por ejemplo, el número 8245,97 se calcularía como:

8 millares + 2 centenas + 4 decenas + 5 unidades + 9 décimos + 7 céntimos
8*103 + 2*102 + 4*101 + 5*100 + 9*10-1 + 7*10-2, es decir:
8000 + 200 + 40 + 5 + 0,9 + 0,07 = 8245,97

 

-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