jueves, 14 de noviembre de 2019

UNIDAD 4: ORGANIZACIÓN DE DATOS

UNIDAD 4: ORGANIZACIÓN DE DATOS
4.1 Arreglos
ARREGLO: colección ordenada de elementos de un mismo tipo. Ordenada significa que cada elemento tiene una ubicación determinada dentro del arreglo y debemos conocerla para poder accederlo.
Sintaxis:
Tipo nombre_variable[longitud];
Ejemplo:
Int matricula[20];
Con esto diremos que nombre_variable es un arreglo de longitud elementos del tipo necesitado cabe destacar que longitud debe ser cualquier expresión entera constante mayor que cero.






4.2  Unidimensionales: conceptos básicos, operaciones y aplicaciones.

Conceptos básicos
Un arreglo unidimensional tiene una sola dimensión. A los arreglos de una dimensión también se les llama listas.
Un arreglo unidimensional es un tipo de datos estructurado que está formado de una colección finita y ordenada de datos del mismo tipo. Es la estructura natural para modelar listas de elementos iguales.
El tipo de acceso a los arreglos unidimensionales es el acceso directo, es decir, podemos acceder a cualquier elemento del arreglo sin tener que consultar a elementos anteriores o posteriores, esto mediante el uso de un índice para cada elemento del arreglo que nos da su posición relativa.
Para implementar arreglos unidimensionales se debe reservar espacio en memoria, y se debe proporcionar la dirección base del arreglo, la cota superior y la inferior.

Operaciones
Para manejar un arreglo, las operaciones a efectuarse son:
·         Declaración del arreglo,
·         Creación del arreglo,
·         Inicialización de  los elementos del arreglo, y
·         Acceso a los elementos del arreglo.

Aplicaciones
Los elementos de un arreglo son variables del tipo base del vector, por lo que se utilizan de la misma manera en expresiones y demás instrucciones, como la asignación. Por ejemplo, para asignar un valor a un elemento de un arreglo basta con escribir:
            arreglo[indice] = valor;
en donde arreglo es el nombre de la variable e indice hace referencia a la posición del elemento al que se le quiere asignar el valor.
Importante: Puesto que los arreglos son estructuras complejas (es decir, no básicas), no es posible asignar un arreglo a otro mediante una simple asignación (=). Para hacer esto es necesario escribir un ciclo y asignar elemento a elemento.
Algunos lenguajes como C, no controla la validez de los índices que se emplean para referenciar un arreglo. Esto quiere decir que es posible cometer errores muy difíciles de detectar en este sentido. Es necesario prestar especial interés a los valores que toman los índices para evitar estos problemas.
Por ejemplo, la siguiente porción de código compila sin problemas (es decir, sin errores sintácticos), pero probablemente produzca un error en tiempo de ejecución al referenciarse posiciones inexistentes del arreglo.
/* Ejemplo de error por acceso fuera de rango a un arreglo. */
/* Las posiciones con índices del 20 al 29 son inválidas. */
int i, arreglo[20];
for (i=0; i<30; i++) arreglo[i] = 0;
También es común cometer estos errores olvidando que las posiciones de los arreglos están numeradas a partir del índice cero. Es decir, en un arreglo de tamaño N las posiciones están numeradas de 0 a N-1.
El nombre de un arreglo también puede emplearse sin índice, bajo ciertas circunstancias, por ejemplo, para pasar el arreglo completo como parámetro a una función. Cuando se emplea el nombre solo, lo que se está manejando es en realidad un puntero al primer elemento del arreglo. Más adelante, en la sección de strings se hará una descripción más detallada sobre esto. 


4.3 Multidimensionales: conceptos básicos, operaciones y aplicaciones.

Conceptos básicos.
Los arreglos multidimensionales tienen más de una dimensión. Este también es un tipo de dato estructurado, que está compuesto por n dimensiones. Para hacer referencia a cada componente del arreglo es necesario utilizar n índices, uno para cada dimensión.


Operaciones
Para manejar un arreglo, las operaciones a efectuarse son:
·         Declaración del arreglo
·         Creación del arreglo
·         Inicialización de de los elementos del arreglo
·         Acceso a los elementos del arreglo


Aplicaciones.
Se necesita manejar, en un arreglo, la posición todos los caracteres escritos en una enciclopedia. El arreglo deberá tener las siguientes dimensiones:
·                     Una para manejar el renglón en la página,
·                     otra para la columna en la página,
·                     otra para la hoja en el volumen y
·                     otra para el volumen en la enciclopedia.

Cada página tiene 30 renglones y 80 columnas.
Cada volumen tiene 500 páginas.
La enciclopedia tiene 18 volúmenes.
El siguiente fragmento de programa implementa la solución a este problema.
char car;
// Declara y crea el arreglo.
char[ , , , ] enciclopedia = new char [18,500,30,80] ;






// Lee, desde el teclado, cada carácter para la enciclopedia.
for(int v = 0 ; v < 18 ; v++) // Volumen
for(int p = 0 ; p < 500 ; p++) // Página
for(int r = 0 ; r < 30 ; r++) // Renglón
for(int c = 0 ; c < 80 ; c++) // Columna
{
     Car = (char)Console.Read( );
     enciclopedia[v,p,r,c] = car ;


}

4.4 Estructuras o registros.

Un registro es una agrupación de datos, llamados campos, los cuales no necesariamente son del mismo tipo. Se definen con la palabra "struct".
En C# (al contrario que en C), primero deberemos declarar cual va a ser la estructura de nuestro registro, lo que no se puede hacer dentro de "Main". Más adelante, ya dentro de "Main", podremos declarar variables de ese nuevo tipo.
Los datos que forman un "struct" pueden ser públicos o privados. Por ahora, a nosotros nos interesará que sean accesibles desde el resto de nuestro programa, por lo que siempre les añadiremos delante la palabra "public" para indicar que queremos que sean públicos.
Ya desde el cuerpo del programa, para acceder a cada uno de los datos que forman el registro, tanto si queremos leer su valor como si queremos cambiarlo, se debe indicar el nombre de la variable y el del dato (o campo) separados por un punto:






No hay comentarios.:

Publicar un comentario