PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
Presentacion de vectores y matrices
1.
2. En programación, una matriz o vector (llamado en inglés array) es
una zona de almacenamiento continuo, que contiene una serie de
elementos del mismo tipo, los elementos de la matriz. Desde el
punto de vista lógico una matriz se puede ver como un conjunto de
elementos ordenados en fila (o filas y columnas si tuviera dos
dimensiones).
En principio, se puede considerar que todas las matrices son de
una dimensión, la dimensión principal, pero los elementos de dicha
fila pueden ser a su vez matrices (un proceso que puede ser
recursivo), lo que nos permite hablar de la existencia de matrices
multidimensionales, aunque las más fáciles de imaginar son los de
una, dos y tres dimensiones.
Estas estructuras de datos son adecuadas para situaciones en las
que el acceso a los datos se realice de forma aleatoria e
impredecible. Por el contrario, si los elementos pueden estar
ordenados y se va a utilizar acceso secuencial sería más adecuado
utilizar una lista, ya que esta estructura puede cambiar de tamaño
fácilmente durante la ejecución de un programa.
3. VECTORES DINÁMICOS Y ESTÁTICOS
Lo habitual es que un vector tenga una cantidad fija de memoria asignada, aunque dependiendo
del tipo de vector y del lenguaje de programación un vector podría tener una cantidad variable de
datos. En este caso, se les denomina vectores dinámicos, en oposición, a los vectores con una
cantidad fija de memoria asignada se los denomina vectores estáticos.
El uso de vectores dinámicos requiere realizar una apropiada gestión de memoria dinámica. Un
uso incorrecto de los vectores dinámicos, o mejor dicho, una mala gestión de la memoria
dinámica, puede conducir a una fuga de memoria. Al utilizar vectores dinámicos siempre habrá
que liberar la memoria utilizada cuando ésta ya no se vaya a seguir utilizando.
Lenguajes más modernos y de más alto nivel, cuentan con un mecanismo denominado recolector
de basura (como es el caso de Java) que permiten que el programa decida si debe liberar el
espacio basándose en si se va a utilizar en el futuro o no un determinado objeto.
Ejemplos en C
Declaración en C/C++ de un vector estático.
int main(void)
{
int i, v[5]; // v[5] es un vector de 5 componentes
for(i=0; i<5; i++)
{
v[i] = 0; // Asignamos un valor
printf("%dn", v[i]);
printf("n"); // Crea una nueva línea
}
return 0
}
}
4. Declaración en C/C++ de un vector estático utilizando aritmética de punteros.
Siendo el identificador del vector, un puntero constante que contiene la dirección del
comienzo del vector (vector[0], primer elemento)
int main(void)
{
int i, v[5]; // v[5] es un vector de 5 componentes
for(i=0; i<5; i++)
{
*(v + i) = 0; // Asignamos un valor en la dirección (vector + ((índice * sizeof (int)
cantidad de bytes de desplazamiento desde la base.)
printf("%dn", *(vector + i)); printf("n"); // Crea una nueva línea } return 0
}
Declaración en C++ de un vector de STL:
#include <vector>
vector<int> v; // Si no se especifica el tamaño inicial es 0
for(int i=0 ;i<5 ;i++)
{
v.push_back(2*i); // inserta un elemento al final del vector
}
5.
6.
7.
8. Puede almacenar distintas variables del mismo tipo en una estructura de datos de matriz. Para declarar una matriz especifique el
tipo de sus elementos.
type[] arrayName;
Los ejemplos siguientes crean matrices unidimensionales, multidimensionales y escalonadas:
C#
class TestArraysClass
{
static void Main()
{
// Declare a single-dimensional array
int[] array1 = new int[5];
// Declare and set array element values
int[] array2 = new int[] { 1, 3, 5, 7, 9 };
// Alternative syntax
int[] array3 = { 1, 2, 3, 4, 5, 6 };
// Declare a two dimensional array
int[,] multiDimensionalArray1 = new int[2, 3];
// Declare and set array element values
int[,] multiDimensionalArray2 = { { 1, 2, 3 }, { 4, 5, 6 } };
// Declare a jagged array
int[][] jaggedArray = new int[6][];
// Set the values of the first array in the jagged array structure
jaggedArray[0] = new int[4] { 1, 2, 3, 4 };
}
}
9. Información general sobre las matrices
Una matriz tiene las propiedades siguientes:
Una matriz puede ser unidimensional, multidimensional o escalonada.
El número de dimensiones y la longitud de cada dimensión se establecen cuando se
crea la instancia de la matriz. Estos valores no se pueden cambiar durante la duración
de la instancia.
Los valores predeterminado de los elementos numéricos de matriz se establece en
cero y el de los elementos de referencia se establece en null.
Una matriz escalonada es una matriz de matrices y por consiguiente sus elementos
son tipos de referencia y se inicializan en null.
Las matrices se indizan basadas en cero: una matriz con n elementos se indiza desde
0 hasta n-1.
Los elementos de una matriz pueden ser de cualquier tipo, incluido el tipo matriz.
Los tipos de matriz son tipos de referencia derivados del tipo base abstracto Array.
Puesto que este tipo implementa IEnumerable e IEnumerable<T>, puede utilizar la
iteración foreach en todas las matrices de C#.
Secciones relacionadas
Utilizar matrices como objetos (Guía de programación de C#)
Utilizar foreach con matrices (Guía de programación de C#)
Pasar matrices como argumentos (Guía de programación de C#)
Pasar matrices mediante Ref y Out (Guía de programación de C#)
Más información sobre variables en Comenzar a usar Visual C# 2010