Vous êtes sur la page 1sur 2

Apuntes preliminares sobre datos estructurados

Primera parte Bibliografa de la ctedra La ctedra recomienda como bibliografa principal el texto Algoritmos + Estructuras fundamentales de datos= Programas de Niklaus Wirth y como secundaria Estructura de Datos de Osvaldo Cairo y Silvia Guardati. Las diferencias entre ambos son notorias, para comenzar el texto de Wirth es fundacional del tema, no de balde el autor es creador del Pascal; mientras que el segundo es un texto universitario ms avanzado en el tiempo. Por supuesto una cosa no supone ser mejor que otra, porque son complementarios en varios puntos. El primer texto posee su exposicin en pascal mientras que el segundo en algoritmos independientes del lenguaje de programacin. Habr que traducir algunas cosas, y tener en cuenta que pascal es sinnimo de delphi y por cercanas con C, C++. Un concepto esencial al inicio de la lectura de la primer aparte del texto de Wirth es que conviene tener en cuenta la teora de conjuntos y tambin las operaciones esenciales de lgica matemtica, porque especialmente en la operatoria de conjuntos se har necesaria para comprender los conceptos. Comenzando por el inicio Los datos elementales (tambin llamados en algunos textos atmicos ) consisten en una sola casilla de memoria, as la mayora de los datos simples son enteros, reales, reales, caracteres, booleanos, enumerados, subrangos. Los datos estructurados como su nombre lo indica son composiciones de muchos datos relacionados de alguna manera entre si, de esta relacin surgen los distintos tipos de datos que en su constitucin corresponden a colecciones de datos elementales. Los operadores llamados normalizados por Wirth consisten en las cuatro operaciones matemticas de rigor, el operador de resto (modulo), las operaciones lgicas (de booleanos) and, or, not (conjuncin, unin y negacin) que producen salida lgica true o false. Los primeros tipos que se analizan en la bibliografa conjunta son: Arrays (arreglos en espaol), registros (records) y conjuntos (set). Un breve y somero repaso de lo esencial a continuacin Arrays Los arreglos (llamados arrays en lenguajes de programacin) consisten en una coleccin finita, homognea y ordenada de datos. Esto es un solo tipo de datos en sus componentes para todos los ndices. Cuando un array posee mas de una dimensin se forman matrices. En estas construcciones se aplica el algebra lineal (vectores y matrices) que seguramente recordaremos de la materia homnima. Se invoca el valor de una posicin en particular refirindonos a sus ndices, por ejemplo Animales[2]= perro mientras que Animales[6]=canario. Esta invocacin por ndices hace que sea mas flexible a la hora de programar porque se puede aludir a un valor en una sentencia que llame a ese valor del componente. Registros

Los registros por su parte son una coleccin finita no homognea y ordenada de datos; esto es que pueden tener varios tipos de datos en su constitucin, como las fichas de un censo. Cada variable se llama campo como si fuera una base de datos (en realidad la gnesis de las bases de datos proviene de aqu). Por eso la invocacin al valor de un campo requiere que en lugar de ndice se utilice el nombre del campo, por ejemplo en el registro clientes : clientes.nombre=pepe. Esto quita algo de flexibilidad a la hora de programar. Conjuntos Los conjuntos consisten en una coleccin finita que definen la pertenencia de un elemento o no a dicho conjunto. Esta coleccin de objetos debe ser del mismo tipo base: enteros, caracteres, enumerados y subrangos. En la poca de redaccin de Wirth el limite de nmeros de elementos de los conjuntos lo determinaba el largo de la palabra (en bits) del sistema que se estaba operando, normalmente mltiplo de 8., cuestin que sigue vigente.