martes, 27 de noviembre de 2007

TIPOS DE DATOS

Introducción a los tipos de datos

Para poder empezar se expone lo siguiente

Datos

Representación formal de hechos, conceptos o instrucciones adecuadas para su comunicación, interpretación y procesamiento por seres humanos o medios automáticos


Tipo de dato

Especificación de un dominio (rango de valores) de un conjunto valido de operaciones a los que normalmente los traductores asocian un esquema de representación propio

Ahora bien un tipo de dato es una colección de objetos caracterizados por un conjunto de operaciones que satisfacen un conjunto de propiedades específicas.


Una definición muy simple pero que en escencia da a entender que es un tipo de dato.

Aqui tambien cabria la siguiente definicion, ya que se estará hablando en el curso de lenguajes de programacion, seria tener en cuenta lo siguiente:

Tipos de Datos Abstractos (TDA).

Para brindar descripciones adecuadas a los objetos de un tipo determinado, se necesita una metodología que cumpla las siguientes condiciones:

  1. Descripciones precisas y sin ambigüedades, es decir, que exprese con claridad y de manera concisa la funcionalidad del tipo de dato que se pretende describir.
  2. Descripción completa, o lo más completa posible, de las propiedades que distinguen a un determinado tipo de dato del resto de los tipos.
  3. Especificar solo lo necesario (NO a las sobreespecificaciones).


Sin embargo cabe señalar que en los tipos de datos tambien hay clasificaciones internas, que vienen meramente de las matrematicas, aun más en particular de el algebra; es decir, que hasta el leguaje puede tener una base matematica para poder representarse y darse a entender, esto no quiere decir que las matematicas sean tan faciles como el hablar, ya que el lenguaje puede arse a entender de diferente forma para cad "usuario" (por asi decirlo) y su perspectiva en cuanto a este, por lo cual se exponen la siguiente clasificacion segun mi criterio:

Clasificación de los tipos de datos

En función de quien los define

  • Tipos de datos estándar
  • Tipos de datos definidos por el usuario


En función de su representación interna

  • Tipos de datos escalares o simples
  • Tipos de datos estructurados

Simples son los datos primitivos es decir desde su mínima expresión, y que solo cuenta con reglas básicas de operación, ya que de acuerdo con el tipo de dato se puede realizar diferentes tipos de operaciones

Estructurados

Los datos estructurados son a diferencia del primero y como su nombre lo indica datos que están estructurados a partir de los datos simples, es una forma más compleja y es debido que son de otro nivel pues son diferentes las operaciones que se pueden realizar en ellos.

Aunado a estos, situándonos en el área y contexto de la programación, y que la programación conlleva a el uso de computadoras, y aun mas el transmitir hoy en ida datos de cualquier tipo es fundamental se debe tener un protocolo para ello esto es una codificación para que un dato en una maquina represente la misma idea (valor, significado, etc.) en la otra pues debe ser el mismo que se envía.

Creo en lo personal, que dar la clasificación básica en cuanto a datos es muy trivial, de acuerdo con el nivel de licenciatura, es decir, definir que es dato real, uno flotante, etc., es de “cajón” para cualquiera que tenga el nivel académico que manejamos y es por lo determine mas en lo búsqueda y en la forma de representarlos por consiguiente hablar mas de el lenguaje maquina.

Al hacer la aclaración correspondiente, doy paso a lo siguiente:

Codificación de datos en los computadores (Lenguaje Maquina)

Los datos son reprensados en binario, esto quiere decir que emplea solo dos símbolos, 0 y 1

· Un bit nos permite representar 2 símbolos diferentes: 0 y 1

· Dos bit nos permiten decodificar 4 símbolos diferentes: 00 01 10 11

· Por consiguiente tres bit nos permiten codificar 8 símbolos distintos: 000 001 010 011 100 101 110 111

En general con N bits podemos codificar 2^N valores diferentes

N

2^N

1

2

2

4

3

8

4

16

5

32

6

64

7

128

8

256

9

512

10

1024

11

2048

12

4096

13

8192

14

16384

15

32768

16

65536



Si queremos representar X valores, necesitaremos N bits, donde N es el menor entero mayor o igual que log Base 2 de X

Para esto se realiza con las siguientes especificaciones del estándar IEE 754

Para poder representar datos a lo cual se le llama representación posicional

Ejemplo

Utilizando 32 bits para números enteros disponemos de 2^32 combinaciones diferentes entre 0’s y 1’s

Por lo que 4 294 967 296 valores

Como tenemos que representar números negativos y el cero, la computadora será capaz de representar

Del – 2 147 483 648 al +2 147 483 647

Con 32 bits no podemos representar números mas grandes.

2 147 483 647 +1 = -2 147 483 648



Números reales (en notación científica)

(+/-) Mantisa x 2^exponente

La computadora solo podrá representar un subconjunto de los números reales (números coma flotante)

Las operaciones aritméticas con números en coma flotante están sujetas a errores de redondeo.

ESTÁNDAR IEE 754

El estándar IEEE 754 ha sido definido por el Instituto de Ingenieros Eléctricos y Electrónicos (Institute of Electrical and Electronics Engineers, IEEE) y establece dos formatos básicos para representar a los números reales en la computadora digital: precisión simple y precisión doble.



Precisión simple

En precisión simple, para escribir un número real se usan 32bits (4 bytes): 1 bit para el signo (s) del número, 23 bits para la mantisa (m) y 8 bits para el exponente (exp), que se distribuyen de la siguiente forma:

(bit de signo + 8 bits exponente + 23 bits mantisa)



Precisión doble

Por otro lado, en precisión doble, para escribir un número real se emplean 64 bits (8 bytes): 1 bit para el signo (s) del número, 52 bits para la mantisa (m) y 11 bits para el exponente (exp).

(bit signo + 11 bits exponente + 52 bits mantisa)

Ademas esto es solo la representacion numerica ya que las palabra, para procesadores de txto tienen otra codificacion como se ve acontinuacion

Se escoge un conjunto de caracteres: alfabéticos, numéricos, especiales (separadores y signos de puntuación), gráficos y de control (por ejemplo retorno de carro)

Se codifica de caracteres utilizando n bits

Por tanto se pueden representar hasta 2^n símbolos distintos

Ejemplo

Unicote, ISO/IEC 10646, 16 bits (6536 símbolos)

Nº de caracteres

Símbolos codificados

Códigos

Zona

256|7936|8192

Latin-1|otros alfabetos|Símbolos genereales y caracteres foneticos chinos, japoneses y coreanos

0000/00FF| |12000

0000

A

24576

Ideogramas


4000

I

16384

Pendiente de asignacion


A000

O

8192

Caractres locales y propios de los usuarios compatibles con otros cadigos


E000/EEE

R

Como se puede notar que para numeros como para palabras(procesadores de texto) se necesita un estandar pues la comunicacion es demasiado facil al parecer pero se necesita mas que memoria para poder transmitis todo tipo de datos, estos es al base para la transmision de datos, llevado en redes de datos, administrasion de datos, y otras como base de datos, ya que, son parte fundamental para su manejo y su manipulacion

Espero esto sirva para alguna duda en cuanto a datos se refiere


DEBIDO A QUE LAS IMAGENES SON MUY DIFICILES DE VER SOLO ESPERO ME ENVIEN UN CORREO PIDEINDO LAS IMAGENES ASI LES MANDARE LAS IMAGENES Y EL DOCUMENTO ORIGIANAL, CLARO SI ES QUE LO NECESITAN

ACLARO este blog lo hice solo debido a que con mis compañeros de quipo no me pude poner de acuerdo

Alumno

HERNANDEZ CAMPOS JUAN EDSON

Num Cta 3012187444

Correo: logan_nigma@hotmail.com

Tema 3

Tipos de datos

Bibliografia

  • Libro

DALE, N.: "Estructura de datos"
Mc Graw-Hill, 1989
ISBN: 84-7615-404-6
Gran parte de los temas son basados en las exposiciones dadas en este libro.

  • Link para el estandar IEEE 754

http://www.carlospes.com/curso_representacion_datos/06_01_estandar_ieee_754.php

  • Apuntes de clase de Algoritmos y Estructura de datos proporcionados durante el semestre 2008-1