viernes, 1 de marzo de 2013

Estructura de datos fundamentales

Del libro "Algoritmo y estructura de datos" de Wirth Nicklaus

Introducción

La computadora digital moderna fue inventada e ideada como dispositivo que debe facilitar y acelerar operaciones de calculo complicadas y que consumen mucho tiempo.En la mayoría de las aplicaciones su capacidad de almacenar y acceder a grandes cantidades de información se ha vuelto su principal característica  Su capacidad de contar o computar, ese ha vuelto irrelevante.

En la mayoría de los casos, esta información representa una abstracción de una parte de la realidad. La información que se ocupa es un conjunto de datos del problema real. Por lo tanto, los datos representan una abstracción de la realidad en el sentido que ciertas propiedades y características de los objetos reales son ignorados por que son irrelevantes para el problema. Una abstracción es por tanto una simplificación de hechos.

Al resolver un problema con o sin una computadora se necesita elegir una abstracción de la realidad. Esta acción debe ser guiada por el problema a resolver. Luego una elección de esta información  que normalmente por las herramientas usadas para resolver el problema, en este caso los recursos que proporciona la computadora.

Generalmente se sabe que las computadoras utilizan la numeración binaria. Que es inadecuada para los seres humanos, pero es ideal para las computadoras ya que se puede representar el 0 y 1 por la ausencia o presencia de corriente eléctrica, carga eléctrica, o campos magnéticos.

Un lenguaje de programación representa a una computadora abstracta capaz de interpretar los términos que se utilizan en este lenguaje. Así  los programadores que utiliza este lenguaje de nivel superior queda liberado de cuestiones referentes a la representación numérica para la computadora de una instrucción en especifico.

La ventaja de usar un lenguaje de programación es que incluye un conjunto conveniente de abstracciones básicas comunes a muchos problemas de procesamiento de datos. Es mas fácil diseñar un programa basado en el razonamiento con nociones bien conocidas de números  conjuntos, secuencias y repeticiones que en bits, unidades de almacenamiento y saltos.

Cuanto mas próximas estén a una cierta computadora las abstracciones, mas fácil sera hacer una elección de la representación para el ingeniero o implantador del lenguaje y mayor sera la probabilidad de que una sola elección sea adecuada para todas las aplicaciones imaginables.

Sin embargo, también hay que considerar el hecho de que si una abstracción base de un lenguaje es muy especifica, otros programadores podrán usarla de una forma errónea.

No hay comentarios:

Publicar un comentario