Array Bidimensional
1. Contenido
Ø
Definición
Los arreglos bidimensionales son tablas de valores. Cada elemento de un arreglo bidimensional
está simultáneamente en una fila y en una columna.
En matemáticas, a los
arreglos bidimensionales se les llama matrices, y son muy utilizados en
problemas de Ingeniería.
En un arreglo bidimensional,
cada elemento tiene una posición que se identifica mediante dos índices: el de
su fila y el de su columna.
Son estructuras de datos que agrupan muchos datos del mismo tipo, en
donde cada elemento se puede trabajar individualmente y se puede referenciar
con un mismo nombre. Se usan para representar datos que pueden verse como
una tabla con filas y columnas.
Ø
Declaración de un Array Bidimensional
Tipo_dato nombre_matriz [índice
fila] [índice columna]
·
Crear arreglos
bidimensionales
Los arreglos bidimensionales
también son provistos por NumPy, por lo que debemos comenzar importando las
funciones de este módulo:
Al igual que los arreglos de una
dimensión, los arreglos bidimensionales también pueden ser creados usando la
función array,
pero pasando como argumentos una lista con las filas de la matriz:
Todas las filas deben
ser del mismo largo, o si no ocurre un error de valor:
Los arreglos tienen un atributo llamado shape,
que es una tupla con los tamaños de cada dimensión. En el ejemplo, a es un arreglo de dos dimensiones que
tiene tres filas y cuatro columnas:
Los arreglos también tienen otro
atributo llamado size que indica cuántos elementos tiene el
arreglo:
Por supuesto, el valor de a.size siempre es el producto de los elementos
de a.shape.
Hay que tener cuidado con la función len,
ya que no retorna el tamaño del arreglo, sino su cantidad de filas:
Las funciones zeros y ones también sirven para crear arreglos
bidimensionales. En vez de pasarles como argumento un entero, hay que
entregarles una tupla con las cantidades de filas y columnas que tendrá la
matriz:
Lo mismo se cumple
para muchas otras funciones que crean arreglos; por ejemplom la función random:
Para
referenciar un elemento de la matriz, debe darse un nombre de la matriz y el
índice de la fila y de la columna que el elemento ocupa en dicha matriz. Es
importante que los índices de las matrices tanto de las filas como de las
columnas empiezan en 0 y terminan en tamaño fila-1 y tamaño columna-1
respectivamente.
A las
matrices se le asignan automáticamente valores iniciales predeterminados a cada
uno de sus elementos, de acuerdo a los siguientes criterios:
·
Si el tipo del arreglo es numérico, a
sus elementos se les asigna el valor cero.
·
Si el tipo del arreglo es char, a sus
elementos se les asigna el valor ‘\u0000’.
·
Si el tipo del arreglo es bool, a sus elementos
se les asigna el valor false.
·
Si el tipo del arreglo es una clase, a
sus elementos se les asigna el valor null.
Ø
Operaciones
Al igual que los arreglos de una dimensión, las operaciones sobre
las matrices se aplican término a término:
Cuando
dos matrices aparecen en una operación, ambas deben tener exactamente la misma forma:
Obtener elementos de un arreglo
bidimensional
Para obtener un elemento de un arreglo,
debe indicarse los índices de su fila i y su columna jmediante
la sintaxis a[i, j]:
También se puede obtener secciones
rectangulares del arreglo usando el operador de rebanado con los índices:
Para
obtener una fila completa, hay que indicar el índice de la fila, y poner : en el de las columnas (significa «desde
el principio hasta el final»). Lo mismo para las columnas:
Note que el número de
dimensiones es igual a la cantidad de rebanados que hay en los índices:
Otras operaciones
La trasposicion consiste en cambiar las
filas por las columnas y viceversa. Para trasponer un arreglo, se usa el método transpose:
El método reshape entrega un arreglo que tiene los mismos
elementos pero otra forma. El parámetro de reshape es una tupla indicando la nueva forma
del arreglo:
Ø La función diag aplicada a un arreglo bidimensional entrega la diagonal principal
de la matriz (es decir, todos los elementos de la forma a[i, i]):
Además, diag recibe un segundo parámetro opcional para indicar otra diagonal
que se desee obtener. Las diagonales sobre la principal son positivas, y las
que están bajo son negativas:
La misma función diag también cumple el rol inverso: al
recibir un arreglo de una dimensión, retorna un arreglo bidimensional que tiene
los elementos del parámetro en la diagonal:
Reducciones por fila y por columna
Algunas operaciones pueden aplicarse
tanto al arreglo completo como a todas las filas o a todas las columnas.
Por ejemplo, a.sum() entrega la suma de todos los elementos
del arreglo. Además, se le puede pasar un parámetro para hacer que la operación
se haga por filas o por columnas:
El parámetro indica a lo
largo de qué dimensión se hará la suma. El 0 significa «sumar a lo largo de las filas». Pero hay que tener
cuidado, ¡por que lo que se obtiene son las sumas de las columnas! Del mismo
modo, 1 significa «a lo largo de las columnas, y lo que se obtiene es el
arreglo con las sumas de cada fila.
Las operaciones a.min() y a.max() funcionan del mismo modo:
a.argmin() y a.argmax() también:
Ø
Ejemplos
#include <stdio.h>
int
main()
{
int
fila, columna;
int
matriz[2][2];
for(fila=0;
fila<2; fila++)
for(columna=0;
columna<2; columna++)
printf(“%d”,
matriz[fila][columna]);
return
0;
}
Int a[4][3];
a[0][0]
|
a[0][1]
|
a[0][2]
|
a[1][0]
|
a[1][1]
|
a[1][2]
|
a[2][0]
|
a[2][1]
|
a[2][2]
|
a[3][0]
|
a[3][1]
|
a[3][2]
|
#include <stdio.h>
int main()
{
int
fila, columna;
int
matriz[2][2];
for(fila=0;
fila<2; fila++){
for(columna=0;
columna<2; columna++){
printf(“%d”,
matriz[fila][columna]);
}}}
2. Resumen
Los arreglos bidimensionales son tablas de valores. Cada elemento de un arreglo bidimensional
está simultáneamente en una fila y en una columna.
En matemáticas, a los
arreglos bidimensionales se les llama matrices, y son muy utilizados en problemas
de Ingeniería.
3. Recomendaciones
· Las variables se definen SÓLO dentro y
al principio de las funciones/procedimientos
· La precedencia de operadores se basará
en el uso de paréntesis
· Una función no puede devolver un array
· Prohibido modificar las variables
contadoras dentro de un bucle para, ni el uso de break ni continue.
4. Conclusiones
Los arreglos son estructuras de datos
que nos permiten organizar información en conjuntos y sectores reservando
espacio en memoria para garantizar su almacenamiento y consulta.
El mantener la información bien
organizada disminuye el riesgo de pérdida de información o inconsistencia de la
misma por sobrescritura de variables. Se recomienda la implementación de
arreglos cuando se hace referencia a un mismo tema y que necesiten almacenarse
en un solo paquete de información, (como en los ejemplos anteriores donde lo
que se guardaban eran calificaciones).
En los arreglos bidimensionales se
pueden almacenar relaciones de datos sobre un tema común, por ejemplo, el
número de lista de un alumno y su calificación, lo cual permitiría una
precisión superior al momento de extraer la información.
5. Apreciación del equipo
En una matriz
normalmente hablamos de filas y columnas y decimos que la matriz tiene m filas
y n columnas. Así, cada elemento queda identificado por su fila i y su columna
j.
6. Glosario de términos
PROVISTOS: es una conjugación del verbo proveer. Esta
acción refiere a aportar, abastecer o procurar de algo.
Diapositiva:
http://es.slideshare.net/JorgeParedesToledo/array-bidimensional-69817128
Diapositiva:
http://es.slideshare.net/JorgeParedesToledo/array-bidimensional-69817128
7. Bibliografía
Comentarios
Publicar un comentario