La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Una aproximación a Vectores y Matrices

Presentaciones similares


Presentación del tema: "Una aproximación a Vectores y Matrices"— Transcripción de la presentación:

1 Una aproximación a Vectores y Matrices
Arreglos Una aproximación a Vectores y Matrices Algoritmos (Programación 1) Arreglos

2 Arreglos ¿Qué es un arreglo? ¿Cómo se define? ¿Qué es una dimensión?
Navegando las estructuras de datos. Posicionamiento ¿Para qué se usan los arreglos? Algoritmos (Programación 1) Arreglos

3 ¿Qué es un arreglo? Un arreglo es una estructura de datos preparada para guardar valores múltiples. Estos valores serán del mismo tipo (tendrán la misma definición) y serán referenciados a través de un nombre único. Estos valores se estructuran en dimensiones. La forma de distinguir un elemento de otro es por su ubicación dentro de toda la estructura. Para indicar esta posición se utilizan uno o más índices, uno para cada dimensión del arreglo. A cada posición dentro del arreglo se la denomina celda, y la cantidad de celdas está determinada por el tamaño de las dimensiones del arreglo. Algoritmos (Programación 1) Arreglos

4 Definición de un arreglo
Para definir un arreglo escribimos… tipoDeDato Arreglo[tamaño dim 1][tamaño dim 2]…[tamaño dim N]; … donde dim indica el tamaño en celdas de esa dimensión. La cantidad de dimensiones del arreglo determina su forma lógica. Algoritmos (Programación 1) Arreglos

5 Definición de un arreglo
Por ejemplo, la definición de un arreglo para guardar la cantidad de días para cada mes del año sería… int diasMes[12]; La cantidad de días de Diciembre Cantidad de ocurrencias Etiqueta o Nombre Tipo de dato 31 28 30 31 [0] [1] [10] [11] diasMes Algoritmos (Programación 1) Arreglos

6 Dimensiones de un arreglo
En C, C++ y muchos otros lenguajes, el tamaño de las estructuras no coincide con el rango de valores de la dimensión. Por ejemplo, es muy común que, al definir... int datos[3]; ... uno imagine datos 31 28 30 [1] [2] [3] Algoritmos (Programación 1) Arreglos

7 Dimensiones de un arreglo
Sin embargo eso no es así, porque en estos lenguajes el índice indica el desplazamiento desde el comienzo, desde la primera posición de la dimensión. Es decir que... int datos[3]; ... da por resultado datos 31 28 30 [0] [1] [2] Algoritmos (Programación 1) Arreglos

8 Multidimensionalidad
Llamamos Vectores a aquellos arreglos de una sola dimensión, y Matrices a aquellos que tienen dos o más dimensiones. Intuitivamente podemos pensar que una matriz es un vector dentro de otro vector. También podemos pensar a las matrices como tablas de doble entrada. Algoritmos (Programación 1) Arreglos

9 Multidimensionalidad
Los siguientes son ejemplos de declaraciones de vectores y matrices: // para llevar la cuenta de la lluvia caída en el año. float lluviaPorMes[12]; // para llevar la cuenta de la lluvia caída cada día // del año, mes a mes. float lluviaPorDia[12][31]; Algoritmos (Programación 1) Arreglos

10 Multidimensionalidad
Podemos representarlos como: float lluviaPorMes[12]; float lluviaPorDia[12][31]; días 11,1 8,4 9,3 ... 9,7 0,7 lluviaPorMes[0] 39,5 lluviaPorMes[1] 35,9 lluviaPorMes[2] 8,3 meses lluviaPorMes[3] 0,7 ... lluviaPorMes[11] 5,1 El 2 de abril (lluviaPorDia[3][1]) cayeron 0,7 mm. Algoritmos (Programación 1) Arreglos

11 Multidimensionalidad
Podría haber más dimensiones: ¿Cinco años? float lluviaPorDia[5][12][31] ... 0,7 2,4 9,2 1,7 9,0 ... 0,7 9,7 9,3 8,4 11,1 ¿Cómo se nombra a esta posición? ... 0,7 5,3 9,2 14,2 7,9 ... 0,7 5,8 29,8 14,2 7,9 ... 0,7 9,7 9,3 8,4 11,1 meses Desde la primera celda (la del 11,1) me moví 2 hojas, ninguna fila y 30 columnas años días lluviaPorDia[2][0][30] Algoritmos (Programación 1) Arreglos

12 Posicionamiento Al acto de ubicar una posición dentro de la estructura se lo denomina Posicionamiento. Éste puede ser Directo (de ahora en más PD) o Indirecto (PI). Algoritmos (Programación 1) Arreglos

13 Posicionamiento Directo
Usaremos PD cuando los valores para el rango: Sean valores ordinales (int y char, básicamente). Sean consecutivos. Cuando el dato que tenemos para ubicar lo que necesitamos, no es un valor guardado en la estructura y se puede usar como índice. Algoritmos (Programación 1) Arreglos

14 Posicionamiento Indirecto
Usaremos PI cuando los valores clave... No sean valores ordinales. O no sean consecutivos. El rango posible sea muy distinto al tamaño de la dimensión, o mayor. En todos estos casos el valor que nos sirve para ubicar lo que deseamos es un dato que debemos encontrar en alguna estructura, sea la misma u otra, secundaria. Algoritmos (Programación 1) Arreglos

15 Posicionamiento Relacionando estructuras
A veces, el índice que nos ubica en una estructura nos sirve también para acceder a otra. En este caso, las estructuras están relacionadas mes a mes. días meses 39,5 11,1 8,4 9,3 ... 9,7 0,7 lluviaPorMes[0] meses 35,9 lluviaPorMes[1] 8,3 lluviaPorMes[2] 0,7 lluviaPorMes[3] ... 5,1 lluviaPorMes[11] Algoritmos (Programación 1) Arreglos

16 Concluyendo Los arreglos son eficaces aliados a la hora de guardar grupos de información. Llamamos a los arreglos de una dimensión Vectores, y a las de dos o más dimensiones Matrices. Toda la estructura comparte el mismo nombre, y distinguimos una celda de otra por su posición. La posición de cada celda está determinada por su coordenada, una por cada eje o dimensión. Para ubicar un dato se utiliza Posicionamiento Directo o Indirecto. Se dice que usamos Posicionamiento Indirecto siempre que necesitamos hacer una búsqueda. Podemos relacionar distintos arreglos para inventar estructuras de datos más complejas. Algoritmos (Programación 1) Arreglos

17 ¿Para qué se usan los arreglos?
Te invitamos a encontrar en la vida diaria otros ejemplos de arreglos, similares a los presentados, y su uso o aplicación. ¿Siempre se puede usar arreglos? ¿Cuándo no podemos hacerlo? Algoritmos (Programación 1) Arreglos


Descargar ppt "Una aproximación a Vectores y Matrices"

Presentaciones similares


Anuncios Google