miércoles, 5 de diciembre de 2007

Datos

Tipos de Datos.
Enteros
-Integer (Integro) (2 bytes) los valores que puedo representar van del 0 al 65.535, a menos que el numero tenga signo, entonces el primero bite indica el signo por lo tanto podemos representar del -32.768 al +32.768. Cualquier numero que pueda representar en este rango lo guardare en el formato integer para usar el menor espacio posible (2 bytes).
-Long (Largo) (4 bytes) Si un Long es positivo puedo representar dese el 0 hasta el 4.294.967.296 y si tiene signo desde el -2.147.483.698 hasta el +2.147.486.698 si un numero de se encuentra entre 65.535 y 4.294.967.296 tendremos que usar 4 bytes, es decir usar tipo Long.
Reales
Los numeros que utilizan decimales estan en esta categoria. El gran problema de los numeros reales es el famoso "redondeo" donde se puede perder cierta precision en el numero.
El signo puede ser positivo o negativo, el exponente es el numero al que esta elevado y la mantisa son los numeros que se encuentan detras de la coma.
-Simple (2 bytes) 1 bit de signo, 8 bits de exponente + 7 bits de mantisa
-Doble precision (4 bytes) 1 bit de signo, 8 bits de exponente + 23 bits de mantisa
-Cuadruple precision (8 bytes) 1 bit de signo, 8 bits de exponente + 55 bits de mantisa
Booleano
Solo tiene 2 valores ya sea 0-1 o V-F o S-N que son Verdadero, Falso, Si y No. Se suele decir que estos tipos de datos son para relaciones. Los transistores son los que manejan este tipo de "puertas".
Los operadores de relacion son:
> Mayor que
<>= Mayor o igual que
<= Menor o igual que
= Igual que
<> Distinto que
Los operadores logicos son:
AND
OR
NOT
NAND
NOR
XOR
Todos estos valores logicos cumplen la "TABLA DE LA VERDAD".









Caracter
Estos datos solo pueden almacenar un caracter, solo uno. Es un dato individual.
No existen operaciones para este tipo de dato.

Enumerado
Es un conjunto finito de valores.
Es una lista de datos, como el dato "semana" contiene desde el lunes al domingo. Se guardan como un dato de tipo entero. A cada dato le da un valor, el primer dato el 1, el segundo dato el 2.. como el lunes seria el 1 y el martes el 2.

Subrango
Es un rango de datos, de valores. Como puede ser un rango de valores entre el 0 y el 10. O el rango de valores que hay entre la "a" y la "f" del abecedario.

Estructuras de Datos.

Estructuras de Datos.
Matriz o "Array" es un conjunto de elementos del mismo tipo.
Pueden ser fijos o variables, dependiendo de la circunstancia. Como una matriz de dias de la semana seria fijo porque siempre hay 7 dias. Y una matriz de dias en el mes seria variable ya que no todos los meses tienen el mismo numero de dias. Pueden ser unidimencionales (en una sola dimencion o direccion, como seria un conjunto d numeros seguidos) o bidimencionales (que seria mas como una tabla de exel donde tienes tanto filas como columnas, o el famoso juego de hundir la flota donde hay que dar 2 direcciones para referirse a un dato dentro de la misma) y por ultimo multidimencionales (tendriamos que dar tantas direcciones como dimenciones tenga).
Cadena de caracteres o string
Es como una matriz pero solo tiene una dimencion, es variable, solo tiene caracteres y el ultimo dato es nulo.
Registro
Es un conjunto de datos referidos al mismo ente, y este conjunto es totalmente eterogeneo. Cada uno de los elementos que forman un registro se llama Campo. Todos los datos dentro del mismo campo pertenecen a la misma familia.
Lista
Es un conjunto de datos en el que todos los elementos menos el primero tienen un predecesor y todos menos el ultimo tienen un sucesor. Cada dato te dice que dato es el siguiente, lo cual no significa que sean consecutivos, pueden estar todos los datos separados y desordenados pero cada dato sabe quien es el dato siguiente.
Existen dos tipos de listas:
-LIFO (Last Input First Output) El ultimo que entra es el primero que sale. (pila)
-FIFO (First Input First Output) El primero que entra es el primero que sale. (cola)
Lo que apunto donde esta el siguiente dato se llama puntero.
Arboles
Un "nodo raiz" tiene varias ramas y dentro d cada rama otro nodo, y dentro de este tamb puede tener mas raices que llevan a otro nodo y a la vez este nodo puede seguir con mas raices que llevan a mas nodos. En cada nodo se encuentra un dato, que estara relacionado con el nodo anterior del que llego la raiz. Un ejemplo claro y facil de un arbol seria el modo de organizar las carpetas de windows.