Este documento describe las estructuras de datos fundamentales como arreglos, conjuntos y ficheros. Explica que los arreglos permiten el acceso directo a elementos mediante índices, mientras que los conjuntos almacenan elementos de forma no ordenada. También describe los diferentes tipos de ficheros como de texto, de acceso aleatorio y con tipo, y sus operaciones básicas de lectura, escritura y posicionamiento.
6. Almacenamiento en Memoria : - El array se almacena es posiciones consecutivas de memoria. A la variable referencia se le asocia la dirección del primer elemento del array, denominada dirección base. - Cantidad de espacio que se requiere para almacenar el array: tamañoFisicoArray = numElementos x p p = número de bytes necesarios para almacenar un elemento de tipo TipoBase - Se puede calcular la dirección física del elemento i-ésimo: direccion (nombreArray[indiceSeleccion]) = direccionBase (nombreArray) + (p ´ indiceSeleccion)
7. Arreglos Bidimensionales : NIVEL LÓGICO · Un array bimensional es un array cuyos elementos son arrays. · Es idéntico al array unidimensional sólo que se necesitarán dos índices que tenga el array. · Operaciones básicas: - Constructor: construirArray (fils, cols) - Selector: accederElemento (indiceSelección1, indiceSelección2)
8. Arreglos Multidimensionales : NIVEL LÓGICO · Un array multimensional es un array cuyos elementos son arrays. · Es idéntico al array unidimensional sólo que se necesitarán tantos índices como dimensiones tenga el array. Operaciones básicas: - Constructor: construirArray (rangoIndice1, rangoIndice2, ..., rangoIndiceN) - Selector: accederElemento (indiceSelección1, ..., indiceSelecciónN)
9.
10. Almacenamiento en Memoria : B. Se almacenan en bloques consecutivos de memoria las direcciones de las filas de la matriz, que a su vez se almacenan como arrays - Cantidad de espacio que se requiere para almacenar una matriz: tamañoFisicoMatriz = numFilas ´ (p’ + numColumnas ´ p) p’ : número de bytes que ocupa una referencia a memoria
11. Conjunto : NIVEL LÓGICO · Un conjunto matemático C es una colección no ordenada de miembros o elementos de un determinado tipo (T0). · Conjunto potencia (2 C ): conjunto de todos los subconjuntos de T0 · Dado un tipo de conjunto definido sobre un tipo base T0, una variable de ese tipo podrá ser cualquier subconjunto del conjunto potencia de T0
12.
13.
14.
15. Ficheros : NIVEL LÓGICO · El fichero es una secuencia almacenada en memoria secundaria . · Los arrays y conjuntos tiene cardinalidad finita, siempre que los tipos sobre los que se definen sean de cardinalidad finita, pero los ficheros son de cardinalidad infinita · En tiempo de compilación no se puede determinar el tamaño del fichero, ya que éste puede crecer/decrecer. · La secuencia es una estructura de cardinalidad infinita .
16. Ficheros : NIVEL DE IMPLEMENTACIÓN · Tipos de ficheros Ficheros de texto Ficheros de acceso aleatorio (clase RandomAccessFile) Ficheros con tipo (interfaz Serializable)
17.
18.
19.
20.
21.
22. Ficheros Con Tipo : Archivos con tipo (de acceso directo), contienen una serie de datos accesibles individualmente. · Estos tipos de datos pueden ser simples (enteros, carácter, etc) o estructurados (registros, cadenas, etc) pero no enumerados ni subrango. · Los archivos con tipos están organizados en registros con estructuras fijas. La longitud de un registro corresponde al número de bytes requeridos para almacenar el tipo de datos. · Cuando un archivo se abre, su puntero indica el registro de rango cero, es decir el primer registro. Después de cada operación de lectura o escritura, el puntero de archivo se incrementa en el número de registros leídos o escritos.