Capitulo2Lenguajes

Páginas: 7 (1590 palabras) Publicado: 19 de abril de 2012
Capítulo 2: Abstracción
Introducción
● Abstraer es condensar un objeto grande a sus partes esenciales, ignorando los detalles.
● También significa encontrar las partes esenciales de un ejemplo que deben ser compartidas por cualquier otro ejemplo que se considere semejante. Ej.: el “abstract” de un artículo, una pintura abstracta.
● Mucho en las matemáticas tiene que ver con sistemasabstractos que nos ayudan a organizar nuestro mundo y pensamiento.
● Algunos sistemas funcionan mejor para cierto tipo de problemas que otros. Ej.: geometría plana, esférica y proyectiva. Esto mismo ocurre en los lenguajes de programación.
● A diferencia de las matemáticas en lenguajes de programación debemos preocuparnos por la relación de las abstracciones con una máquina física, es decir suimplementación.

2.0 En este capitulo

● Bárbara Liskov del MIT y sus colegas han identificado tres clases de abstracción
soportada por los lenguajes de programación:
– Abstracción de datos.
– Abstracción de control.
– Abstracción de procedimiento.
2.1 Abstracción de Datos
● Los lenguajes de programación de alto nivel ven los datos de acuerdo con lo que puede hacerse hacia y con ellos.

Losdatos y el Almacenamiento
● Cada tipo de datos es reconocido no solamente por sus elementos de datos sino por la operaciones asociadas con él.
● A un conjunto de elementos de datos se le conoce como dominio de datos.

Tipos de Datos Abstractos
● A uno o más dominios de datos con sus operaciones asociadas se les llama ADT en inglés o TDA en español.
● Al incorporar los TDA en un programa seobtienen beneficios como:
– Encapsulamiento de datos.
– Independencia de datos.
– Ocultamiento de la información.
● Como ya se mencionó, en lenguajes de programación es necesario implementar las abstracciones. Podemos mencionar dos métodos a través de los cuales se puede mostrar que una implementación de un tipo de datos representa fielmente un tipo de datos abstracto:
– El método de los modelosabstractos de C.Hoare.
– La especificación algebraica de J. Guttag.
● Zilles y sus colegas identificaron dos requerimientos para que un lenguajes soporte abstracciones de datos:
– Se necesita una construcción lingüística que permita la implementacion de una abstracción de datos como una unidad.
– El lenguaje debe limitar el acceso a la representación únicamente a las operaciones.
● Ejemplo:Comparar C y Java.
Tipos Genéricos:
Puede actuar como una plantilla para elementos de distintos tipos mediante el uso de parámetros en la declaración de tipos.
2.2 Abstracción de Control
● Define los métodos para secuenciar acciones arbitrarias. Los métodos más importantes mediante los cuáles los lenguajes proporcionan abstracción de control son:
– Ramificación
– Iteración
– Recursión
–Excepciones
Ramificación e Iteración
● La ramificación involucra la reubicación de la ejecución del programa en una porción del código fuente posiblemente diferente a la del enunciado subsecuente. Los enunciados más comunes de ramificación son el if...then..[else] y el case.
● La iteración es la repetición de un enunciado o bloque de enunciados. Los enunciados más comunes de iteración son elfor..., el while... y el repeat.

Recursión
● Permite que se puedan crear muchos entornos o ambientes diferentes para un mismo procedimiento o función.
● Se logra cuando un procedimiento/función contiene una llamada a sí mismo creando de esta forma una invocación adicional a su entorno.
● Ejemplo: Dibuje los registros de activación que definen diferentes ambientes para la llamada al procedimientosumArr([3, 2, 6], 3).
Nota:ver figura
● Ejemplo: Dibuje los registros de activación que definen diferentes ambientes para la llamada al procedimiento sumN(3,0).
Nota:ver figura
● Al observar los registros de activación para el ejemplo anterior nos damos cuenta que el resultado deseado se obtiene al llegar a la parte superior de la pila y después sólo debe pasarse hacia abajo.
● A una...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS