Ejemplo de manejo de matrices.
Podemos observar en el siguiente código.
Un ejemplo para el uso de matrices
desde la declaración en la línea 5.
El distanciamiento en la línea 7 la inicialización de valores en las líneas 9 a 14 y finalmente la lectura
de datos en las líneas 18 a 23 podemos observar en este caso que todos los valores de la matriz están
inicializar.
Sin embargo si hubiera valores que no se hayan inicialización su valor será por default según el tipo
declarado y en el caso del arreglo de tipo int el valor por default es cero y en el caso de tipo Persona
su valor por default será nulo ya que es un tipo obvie así que podemos observar en este ejemplo que
por un lado estamos declarando una matriz de tipo entero llamada edades y especificamos que es una matriz
utilizando el doble corchete posteriormente instancia.
Nuestra matriz.
Para ello vamos a utilizar el operador nio indicamos el tipo respectivo y el número de renglones que
van a ser tres y el número de columnas que van a ser dos para esta matriz finalmente inicialización
los valores de la matriz.
En este caso uno por uno inicializar los valores de esta matriz así que esta matriz se va a formar como
sigue tenemos tres renglones.
Recordemos que empieza en el índice cero entonces sería cero uno y dos renglones son tres renglones
y posteriormente tenemos dos columnas inicia en el índice cero y con eso tenemos las dos columnas y
si vaciamos los elementos según se muestra en nuestra matriz en el elemento cero cero.
Podemos observar que debemos de seleccionar el elemento cero cero en este momento estamos asignando
el valor de 30 a esta celda.
Posteriormente en el renglón 0 o columna 1 cero columna.
1.
Estamos indicando el valor de 15.
Este es el valor que estamos agregando y así sucesivamente.
En el renglón 1 columna cero este sería renglón 1 columna 0.
Agregamos el valor de 20 positivamente renglón 1 Columna 1 sería esta celda en el renglón 1 Columna
1 entonces el valor sería de 45
posteriormente en el renglón 2 columna cero asignamos el valor de 5.
Y finalmente en el renglón 2 Columna 1 asignamos el valor de 38 así que esta es una forma de representar
nuestra matriz.
Y finalmente si queremos leer los valores de esta matriz vamos proporcionando cada uno de los índices
así que para recuperar el valor de la celda en el renglón podemos observar que si proporcionamos los
valores de renglón 0 o columna cero el valor que nos va a regresar es 30
posteriormente para el renglón 0 Columna 1 renglón cero Columna 1 nos va a regresar el valor de 15 y
así sucesivamente.
En el renglón 1 columna 0 1 columna 0 nos va a regresar el valor de 20 en la celda con renglón 1 Columna
1 nos va a regresar el valor de 45 y en el renglón 2 columna cero renglón dos columna cero nos regresa
el valor de cinco y finalmente en el renglón 2 Columna 1 no regresa el valor de 38 así que con esto
podemos observar un ejemplo del manejo de matrices.
Más adelante realizaremos este ejercicio para poner en práctica estos conceptos del manejo de matrices
ejemplo de cómo recorrer una matriz utilizando un ciclo for anidado
finalmente vamos a estudiar un ejemplo con una matriz de tipo string utilizando la notación simplificada.
También aprovecharemos para mostrar cómo iterar los elementos de una matriz con la ayuda de un ciclo
anidado un ciclo anidado es simplemente un ciclo Forth dentro de otro ciclo Forth.
En este caso realizaremos esta anidación para poder recorrer cada uno de los elementos de una matriz.
En primer lugar veremos un ejemplo del uso de la notación simplificada.
Esto lo podemos observar en la línea 6 de este código.
En este caso es una matriz de tipo string y en la misma línea instancia la matriz inicializar los valores
de la misma.
Así que en esta línea 6 podemos observar que estamos creando una matriz de tipo String.
Posteriormente indicamos el nombre de la matriz y especificamos que va a contener renglones y columnas
y podemos observar que estamos utilizando dos renglones por ello es que tenemos dos listas de valores
y tenemos tres columnas.
Es decir el índice cero uno y dos esto nos da un total de tres columnas.
Así que esta matriz va a ser de dos renglones por tres columnas.
En este caso no hay que indicar el número de renglones o columnas que contendrá la matriz.
Este número se obtendrá directamente del número de elementos que se agregan en la inicialización de
la matriz.
Cabe aclarar que en esta estructura de datos no es posible hacer más grande o más pequeña la matriz.
Una vez declarada o como en este caso una vez inicializar.
Sin embargo veremos en el siguiente curso el tema de colecciones donde veremos estructuras como una
lista los cuales son estructuras que pueden crecer dinámicamente una vez que hemos definido cuántos
elementos tendrá la matriz podemos obtener el número de renglones y de columnas de nuestra matriz.
Así que para comprobar estos valores mandamos a imprimir el número de renglones con el código siguiente
podemos mostrar el número de renglones que tiene esta matriz utilizando la sintaxis el nombre de la
matriz punto length.
Esto nos va a regresar el número de renglones que contiene esta matriz y si observamos la salida podemos
observar que el valor es 2 así que nuestra matriz es de dos renglones y ahora vamos a ver cómo podemos
obtener el número de columnas máximo para obtener el número de columnas.
Basta con especificar el nombre de la matriz.
Posteriormente indicar algún renglón válido.
En este caso puede ser el renglón Cero y Punto length.
Esto nos va a regresar el número de columnas que tiene un renglón seleccionado así que por este motivo
el número de columnas es igual a tres.
Aquí podemos proporcionar cualquier renglón válido pero no puede ser un renglón por ejemplo el renglón
3 ya que esta matriz únicamente tiene el índice 0 y 1 ya que contiene dos renglones únicamente pero
cualquier índice de renglón válido podemos utilizarlo para obtener el largo de las columnas que contiene
esta matriz.
Una vez que tenemos estos índices los elementos máximo para renglón y columna podemos combinar dos ciclos
utilizando dos contadores.
En este caso las variables i y j iremos alterando cada uno de los elementos de la matriz como sigue.
En el primer ciclo el más externo recorre los renglones de la matriz y el ciclo más interno recorre
las columnas de la matriz.
Por ello en la salida de nuestra consola observaremos que los tres primeros valores del índice del renglón
se mantiene fijo mientras que el índice de la columna se va moviendo hasta que se acaba de iterar las
columnas para ese renglón seleccionado.
Así que en este primer caso estamos recorriendo el primer renglón el renglón cero pero estamos moviéndonos
en las columnas la columna 0 1 y 2 y de esta misma manera estamos recuperando los nombres.
Podemos observar que en la columna 0 1 y 2 así que se mantiene primero fijo el renglón.
En este caso el renglón 0 y nos vamos moviendo en las columnas.
Esto es lo que hace precisamente este ciclo.
Primero estamos seleccionando el renglón y posteriormente como tenemos un ciclo interno estamos moviéndonos
ahora por las columnas y hasta que no termina de iterar cada una de las columnas del renglón seleccionado
entonces es que no se mueve al siguiente renglón.
Por ello primero vacía todas las columnas del renglón seleccionado y así sucesivamente se va a mover
al siguiente renglón la siguiente vez que termine de imprimir las columnas se mueve al siguiente renglón
incrementándose y vuelve a iterar cada una de las columnas.
Una vez que entra a este ciclo interno de nueva cuenta imprime todas las columnas respectivas de 0 a
dos y una vez que termina de imprimir estas columnas entonces pasa al siguiente renglón si ya no hay
más renglones.
Entonces termina tanto el ciclo interno como el ciclo externo y podemos observar la sintaxis para recuperar
el índice respectivo en la matriz tanto para el renglón como para la columna utilizamos la sintaxis
de la variable.
En este caso la variable de la matriz llamada nombres e indicamos el renglón que estamos integrando
en este caso el contador y también la columna que se está moviendo en este foro anidado así que la I
sería para los renglones y la J sería para las columnas.
Por lo tanto debemos recordar que la variable y controla los renglones y la variable J controlan las
columnas.
Finalmente el ciclo más externo se detendrá cuando se hayan revisado todos los renglones de la matriz
según la condición del ciclo externo.
Con esto ya habremos alterado todos los renglones así como cada columna de cada renglón seleccionado
y por consiguiente de todos los elementos de la matriz.
Más adelante veremos la ejecución de este código para poner en práctica estos conceptos.