Monografías Plus      Agregar a favoritos      Ayuda      Português      Ingles     

Tipos de datos estructurados

Enviado por Pablo Turmero



Partes: 1, 2



Monografias.com
Tipos de datos Clasificación de tipos Simples Estándar: int, float, double, char, bool Conjunto de valores predeterminado Definidos por el usuario: enumerados Conjunto de valores definido por el programador Estructurados Colecciones homogéneas: arrays Todos los elementos del mismo tipo Colecciones heterogéneas: estructuras Los elementos pueden ser de tipos distintos ? ? ?

Monografias.com
Tipos estructurados Colecciones o tipos aglomerados Agrupaciones de datos (elementos): Todos del mismo tipo: array o tabla De tipos distintos: estructura, registro o tupla Arrays (tablas) Elementos organizados por posición: 0, 1, 2, 3, ... Acceso por índice: 0, 1, 2, 3, ... Una o varias dimensiones Estructuras (tuplas, registros) Elementos (campos) sin orden establecido Acceso por nombre

Monografias.com
Arrays [] Estructura secuencial Cada elemento se encuentra en una posición (índice): Los índices son enteros positivos El índice del primer elemento siempre es 0 Los índices se incrementan de uno en uno Acceso directo A cada elemento se accede a través de su índice: ventas[4] accede al 5º elemento (contiene el valor 435.00) cout < < ventas[4]; ventas[4] = 442.75; (Gp:) Datos de un mismo tipo base: Se usan como cualquier variable

Monografias.com
Tipos y variables arrays Declaración de tipos de arrays const int Dimensión = ...; typedef tipo_base tNombre[Dimensión]; Ejemplo: const int Dias = 7; typedef double tVentas[Dias]; Declaración de variables de tipos array: como cualquier otra tVentas ventas; ¡NO se inicializan los elementos automáticamente! ¡Es responsabilidad del programador usar índices válidos! No se pueden copiar arrays directamente (array1 = array2) Hay que copiarlos elemento a elemento

Monografias.com
Arrays y bucles for Procesamiento de arrays Recorridos Búsquedas Ordenación etcétera... Recorrido de arrays con bucles for Arrays: tamaño fijo ? Bucles de recorrido fijo (for) tVentas ventas; double media, total = 0; ... for (int i = 0; i < Dias; i++) { total = total + ventas[i]; } media = total / Dias; const int Dias = 7; typedef double tVentas[Dias];

Monografias.com
tVentas ventas; double media, total = 0; ... for (int i = 0; i < Dias; i++) { total = total + ventas[i]; } (Gp:) 12.40 (Gp:) 1 (Gp:) 23.36 (Gp:) 2 (Gp:) 31.79 (Gp:) 3 (Gp:) 43.44 (Gp:) 4 (Gp:) 84.62 (Gp:) 7 Arrays y bucles for (Gp:) false (Gp:) true (Gp:) total+=ventas[i] (Gp:) i++ (Gp:) i< Dias (Gp:) i = 0 ...

Monografias.com
Inicialización de arrays Podemos inicializar los elementos de los arrays en la declaración Asignamos una serie de valores al array: const int DIM = 10; typedef int tTabla[DIM]; tTabla i = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; Se asignan los valores por su orden: i[0] i[1] i[2] i[3] i[4] ... i[9] 1º 2º 3º 4º 5º ... 10º Si hay menos valores que elementos, los restantes se ponen a 0 tTabla i = { 0 }; // Pone todos los elementos a 0

Monografias.com
Enumerados como índices const int Colores = 3, typedef enum { rojo, verde, azul } tRGB; typedef int tColor[Colores]; tColor color; ... cout < < "Cantidad de rojo (0-255): "; cin >> color[rojo]; cout < < "Cantidad de verde (0-255): "; cin >> color[verde]; cout < < "Cantidad de azul (0-255): "; cin >> color[azul]; Recuerda que internamente se asignan enteros a partir de 0 a los distintos símbolos del enumerado rojo ? 0 verde ? 1 azul ? 2

Monografias.com
Paso de arrays a subprogramas Simulación de paso de parámetro por referencia Sin poner & en la declaración del parámetro Los subprogramas reciben la dirección en memoria del array const int Max = 10; typedef int tTabla[Max]; void inicializa(tTabla tabla); // Sin poner & Las modificaciones del array quedan reflejadas en el argumento inicializa(array); Si inicializa() modifica algún elemento de tabla, automáticamente queda modificado ese elemento de array ¡Son el mismo array!

Monografias.com
Paso de arrays a subprogramas 0 1 2 3 4 5 6 7 8 9 const int Dim = 10; typedef int tTabla[Dim]; void inicializa(tTabla tabla); // no se usa & void inicializa(tTabla tabla) { for (int i = 0; i < Dim; i++) tabla[i] = i; } int main() { tTabla array; inicializa(array); // array queda modificado for (int i = 0; i < Dim; i++) cout < < array[i] < < " "; ...

Monografias.com
Paso de arrays a subprogramas ¿Cómo evitar que se modifique el array? Usando el modificador const en la declaración del parámetro: const tTabla tabla Un array de constantes void muestra(const tTabla tabla); El argumento se tratará como un array de constantes Si en el subprograma hay alguna instrucción que intente modificar un elemento del array: error de compilación void muestra(const tTabla tabla) { for (int i = 0; i < Dim; i++) { cout < < tabla[i] < < " "; // OK. Se accede, pero no se modifica } }

Monografias.com
Implementación de listas con arrays Listas con un número fijo de elementos Array con el nº de elementos como dimensión const int NUM = 100; typedef double tLista[NUM]; // Exactamente 100 double tLista lista; Recorrido de la lista: for (int i = 0; i < NUM; i++) { ... Búsqueda en la lista: while ((i < NUM) && !encontrado) { ...

Partes: 1, 2

Página siguiente 

Comentarios


Trabajos relacionados

Ver mas trabajos de Programacion

 
 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.


Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Iniciar sesión

Ingrese el e-mail y contraseña con el que está registrado en Monografias.com

   
 

Regístrese gratis

¿Olvidó su contraseña?

Ayuda