LA REPRESENTACIÓN DE LA INFORMACIÓN ES UN ASPECTO BÁSICO EN INFORMÁTICA

 

La mayor parte de los programas dedican mástiempo a gestionar información que a realizar cómputos

 

La información debe organizarse de manera que se optimice su procesamiento

 

OBJETIVOS DE DISEÑO: Buscar la

representación de la información más correcta y eficiente para un determinado problema ??Una solución es correcta si cumple con los requisitos del problema

??Una solución es eficiente si resuelve un problema con menos coste (espacio en

memoria, tiempo...) que otras opciones

 

OBJETIVOS DE IMPLEMENTACIÓN:

??Abstracción: Analizar un sistema complicado para reducirlo a sus partes constituyentes y describir éstas en un lenguaje preciso.

 

??Encapsulación (Ocultación de información): Libertad de elección/cambio de implementaciones

 

??Modularidad: estructura organizada en unidades funcionales separadas

 


TEMA 1:

 

PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS

 

ÍNDICE DE CONTENIDOS

 

1.1  ABSTRACCIÓN DE DATOS

1.2 TIPO DE DATOS, TIPO ABSTRACTOS DE DATOS Y ESTRUCTURA DE DATOS

1.2  DISEÑO DESCENDENTE DE ESTRUCTURAS DE DATOS ABSTRACCIÓN DE DATOS

1.3   

 

• La información que se procesa en un programa es una abstracción del mundo real

 

Información: conocimiento que puede comunicarse

Dato: información que se ha preparado, normalmente con un formato específico, para un fin determinado

Abstracción: simplificación de la realidad en la que ciertas propiedades y características de los objetos reales se ignoran, porque no interesan para el

problema a resolver

 

• Desde el punto de vista de los datos, a la hora de resolver un problema es preciso:

1. Elegir una abstracción de la realidad (datos)

2. Seleccionar una forma de representación

 

ABSTRACCIÓN DE DATOS

 

• Lenguajes de alto nivel: el programador no conoce los detalles de representación, en términos de bits, de las abstracciones elegidas.

• Abstracción de datos ? barrera entre la visión del programador sobre los datos y la del ordenador.

Abstracción de datos: separación de las propiedades lógicas de los datos de su implementación física

• La abstracción de datos oculta datos irrelevantes para la resolución del problema: Principio de ocultación de la información.

Ocultación de la información: práctica de ocultar los detalles de una estructura, haciéndolos inaccesibles a otras partes del programa

• Los principios de abstracción de datos y ocultación de la información son las bases del diseño descendente de estructuras de datos.

 

TIPO DE DATOS, TIPO ABSTRACTO DE DATOS Y ESTRUCTURA DE DATOS

 

• Todos los datos que se utilizan en un programa pertenecen a un único tipo de datos

 

Tipo de datos: clase o conjunto de valores que se definen en función de las operaciones que se aplican a los objetos de dicho tipo, sin considerar la forma de

Representarlos

 

Ejemplo: tipos de datos para la representación de números enteros en Java

Tipo Tamaño Datos representados

byte 1 byte [-128, 127]

short 2 bytes [-32.768, 32.767]

int 4 bytes [-231, 231 – 1]

long 8 bytes [-263, 263 – 1]

 

• Características del tipo de datos:

1. Determina el conjunto de valores al que puede pertenecer una constante, que puede asumir una variable o expresión y que puede ser generado por una función.

2. El tipo de datos de una constante, variable o expresión puede deducirse de su forma o de su declaración, sin necesidad de ejecutar ningún proceso.

3. Cada operación (operador o método) requiere unos argumentos de un determinado tipo y produce unos resultados de un tipo.

 

TIPO DE DATOS, TIPO ABSTRACTO DE DATOS Y ESTRUCTURA DE DATOS

 

Tipo abstracto de datos (TAD): modelo matemático, junto con varias operaciones definidas sobre ese modelo, con el que se representa la estructura y el comportamiento de una parte del mundo real TAD vs Tipo de datos: el concepto matemático del conjunto N se implementa en los lenguajes de programación a través de una serie de tipos de datos (e.g. byte, short, int y long en Java) que imponen una serie de restricciones al TAD. Un TAD especifica el qué, no el cómo

 

Estructura de datos: indica la forma en que se combinan una serie de partes para formar un valor compuesto

• Estructura de datos = Estructura de almacenamiento + Operaciones de manipulación

• La estructura de datos puede estudiarse desde tres perspectivas:

Nivel Lógico o abstracto

Nivel de aplicación o de usuario

Nivel de Implementación

 

Regresar