1
00:00:10,670 --> 00:00:12,920
Ejemplo de manejo de matrices.

2
00:00:13,340 --> 00:00:15,510
Podemos observar en el siguiente código.

3
00:00:15,620 --> 00:00:17,420
Un ejemplo para el uso de matrices

4
00:00:28,350 --> 00:00:30,810
desde la declaración en la línea 5.

5
00:00:30,960 --> 00:00:38,160
El distanciamiento en la línea 7 la inicialización de valores en las líneas 9 a 14 y finalmente la lectura

6
00:00:38,160 --> 00:00:44,220
de datos en las líneas 18 a 23 podemos observar en este caso que todos los valores de la matriz están

7
00:00:44,280 --> 00:00:45,190
inicializar.

8
00:00:45,840 --> 00:00:51,720
Sin embargo si hubiera valores que no se hayan inicialización su valor será por default según el tipo

9
00:00:51,730 --> 00:00:58,980
declarado y en el caso del arreglo de tipo int el valor por default es cero y en el caso de tipo Persona

10
00:00:59,160 --> 00:01:05,280
su valor por default será nulo ya que es un tipo obvie así que podemos observar en este ejemplo que

11
00:01:05,280 --> 00:01:13,080
por un lado estamos declarando una matriz de tipo entero llamada edades y especificamos que es una matriz

12
00:01:13,320 --> 00:01:17,110
utilizando el doble corchete posteriormente instancia.

13
00:01:17,220 --> 00:01:18,390
Nuestra matriz.

14
00:01:18,450 --> 00:01:24,690
Para ello vamos a utilizar el operador nio indicamos el tipo respectivo y el número de renglones que

15
00:01:24,690 --> 00:01:31,350
van a ser tres y el número de columnas que van a ser dos para esta matriz finalmente inicialización

16
00:01:31,360 --> 00:01:32,680
los valores de la matriz.

17
00:01:32,780 --> 00:01:40,070
En este caso uno por uno inicializar los valores de esta matriz así que esta matriz se va a formar como

18
00:01:40,070 --> 00:01:44,540
sigue tenemos tres renglones.

19
00:01:44,740 --> 00:01:51,940
Recordemos que empieza en el índice cero entonces sería cero uno y dos renglones son tres renglones

20
00:01:52,330 --> 00:01:59,140
y posteriormente tenemos dos columnas inicia en el índice cero y con eso tenemos las dos columnas y

21
00:01:59,140 --> 00:02:05,740
si vaciamos los elementos según se muestra en nuestra matriz en el elemento cero cero.

22
00:02:05,740 --> 00:02:11,650
Podemos observar que debemos de seleccionar el elemento cero cero en este momento estamos asignando

23
00:02:11,710 --> 00:02:14,140
el valor de 30 a esta celda.

24
00:02:14,680 --> 00:02:19,800
Posteriormente en el renglón 0 o columna 1 cero columna.

25
00:02:19,840 --> 00:02:20,470
1.

26
00:02:20,480 --> 00:02:23,720
Estamos indicando el valor de 15.

27
00:02:23,720 --> 00:02:27,380
Este es el valor que estamos agregando y así sucesivamente.

28
00:02:27,470 --> 00:02:31,810
En el renglón 1 columna cero este sería renglón 1 columna 0.

29
00:02:32,300 --> 00:02:40,640
Agregamos el valor de 20 positivamente renglón 1 Columna 1 sería esta celda en el renglón 1 Columna

30
00:02:40,730 --> 00:02:44,270
1 entonces el valor sería de 45

31
00:02:48,380 --> 00:02:53,230
posteriormente en el renglón 2 columna cero asignamos el valor de 5.

32
00:02:53,390 --> 00:03:02,120
Y finalmente en el renglón 2 Columna 1 asignamos el valor de 38 así que esta es una forma de representar

33
00:03:02,180 --> 00:03:03,680
nuestra matriz.

34
00:03:03,680 --> 00:03:09,410
Y finalmente si queremos leer los valores de esta matriz vamos proporcionando cada uno de los índices

35
00:03:09,770 --> 00:03:14,870
así que para recuperar el valor de la celda en el renglón podemos observar que si proporcionamos los

36
00:03:14,870 --> 00:03:19,130
valores de renglón 0 o columna cero el valor que nos va a regresar es 30

37
00:03:21,890 --> 00:03:29,690
posteriormente para el renglón 0 Columna 1 renglón cero Columna 1 nos va a regresar el valor de 15 y

38
00:03:29,690 --> 00:03:31,430
así sucesivamente.

39
00:03:31,430 --> 00:03:40,550
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

40
00:03:40,640 --> 00:03:49,760
1 nos va a regresar el valor de 45 y en el renglón 2 columna cero renglón dos columna cero nos regresa

41
00:03:49,790 --> 00:03:58,340
el valor de cinco y finalmente en el renglón 2 Columna 1 no regresa el valor de 38 así que con esto

42
00:03:58,340 --> 00:04:01,580
podemos observar un ejemplo del manejo de matrices.

43
00:04:01,760 --> 00:04:07,370
Más adelante realizaremos este ejercicio para poner en práctica estos conceptos del manejo de matrices

44
00:04:10,430 --> 00:04:14,840
ejemplo de cómo recorrer una matriz utilizando un ciclo for anidado

45
00:04:25,790 --> 00:04:32,330
finalmente vamos a estudiar un ejemplo con una matriz de tipo string utilizando la notación simplificada.

46
00:04:32,330 --> 00:04:37,460
También aprovecharemos para mostrar cómo iterar los elementos de una matriz con la ayuda de un ciclo

47
00:04:37,760 --> 00:04:43,800
anidado un ciclo anidado es simplemente un ciclo Forth dentro de otro ciclo Forth.

48
00:04:43,850 --> 00:04:50,090
En este caso realizaremos esta anidación para poder recorrer cada uno de los elementos de una matriz.

49
00:04:50,240 --> 00:04:53,990
En primer lugar veremos un ejemplo del uso de la notación simplificada.

50
00:04:53,990 --> 00:04:57,320
Esto lo podemos observar en la línea 6 de este código.

51
00:04:57,710 --> 00:05:04,640
En este caso es una matriz de tipo string y en la misma línea instancia la matriz inicializar los valores

52
00:05:04,640 --> 00:05:05,590
de la misma.

53
00:05:05,810 --> 00:05:10,420
Así que en esta línea 6 podemos observar que estamos creando una matriz de tipo String.

54
00:05:10,460 --> 00:05:16,310
Posteriormente indicamos el nombre de la matriz y especificamos que va a contener renglones y columnas

55
00:05:17,060 --> 00:05:26,120
y podemos observar que estamos utilizando dos renglones por ello es que tenemos dos listas de valores

56
00:05:26,950 --> 00:05:28,650
y tenemos tres columnas.

57
00:05:28,790 --> 00:05:35,220
Es decir el índice cero uno y dos esto nos da un total de tres columnas.

58
00:05:35,580 --> 00:05:40,340
Así que esta matriz va a ser de dos renglones por tres columnas.

59
00:05:40,620 --> 00:05:45,250
En este caso no hay que indicar el número de renglones o columnas que contendrá la matriz.

60
00:05:45,480 --> 00:05:51,030
Este número se obtendrá directamente del número de elementos que se agregan en la inicialización de

61
00:05:51,030 --> 00:05:52,410
la matriz.

62
00:05:52,410 --> 00:05:58,090
Cabe aclarar que en esta estructura de datos no es posible hacer más grande o más pequeña la matriz.

63
00:05:58,140 --> 00:06:02,240
Una vez declarada o como en este caso una vez inicializar.

64
00:06:02,970 --> 00:06:08,520
Sin embargo veremos en el siguiente curso el tema de colecciones donde veremos estructuras como una

65
00:06:08,700 --> 00:06:14,730
lista los cuales son estructuras que pueden crecer dinámicamente una vez que hemos definido cuántos

66
00:06:14,730 --> 00:06:20,800
elementos tendrá la matriz podemos obtener el número de renglones y de columnas de nuestra matriz.

67
00:06:21,180 --> 00:06:27,420
Así que para comprobar estos valores mandamos a imprimir el número de renglones con el código siguiente

68
00:06:27,750 --> 00:06:33,270
podemos mostrar el número de renglones que tiene esta matriz utilizando la sintaxis el nombre de la

69
00:06:33,270 --> 00:06:35,430
matriz punto length.

70
00:06:35,460 --> 00:06:41,460
Esto nos va a regresar el número de renglones que contiene esta matriz y si observamos la salida podemos

71
00:06:41,460 --> 00:06:47,790
observar que el valor es 2 así que nuestra matriz es de dos renglones y ahora vamos a ver cómo podemos

72
00:06:47,790 --> 00:06:52,700
obtener el número de columnas máximo para obtener el número de columnas.

73
00:06:52,710 --> 00:06:55,140
Basta con especificar el nombre de la matriz.

74
00:06:55,440 --> 00:06:58,340
Posteriormente indicar algún renglón válido.

75
00:06:58,410 --> 00:07:02,040
En este caso puede ser el renglón Cero y Punto length.

76
00:07:02,100 --> 00:07:08,130
Esto nos va a regresar el número de columnas que tiene un renglón seleccionado así que por este motivo

77
00:07:08,280 --> 00:07:11,180
el número de columnas es igual a tres.

78
00:07:11,220 --> 00:07:16,770
Aquí podemos proporcionar cualquier renglón válido pero no puede ser un renglón por ejemplo el renglón

79
00:07:16,770 --> 00:07:24,300
3 ya que esta matriz únicamente tiene el índice 0 y 1 ya que contiene dos renglones únicamente pero

80
00:07:24,300 --> 00:07:29,640
cualquier índice de renglón válido podemos utilizarlo para obtener el largo de las columnas que contiene

81
00:07:29,670 --> 00:07:31,110
esta matriz.

82
00:07:31,110 --> 00:07:37,770
Una vez que tenemos estos índices los elementos máximo para renglón y columna podemos combinar dos ciclos

83
00:07:38,640 --> 00:07:40,370
utilizando dos contadores.

84
00:07:40,590 --> 00:07:47,700
En este caso las variables i y j iremos alterando cada uno de los elementos de la matriz como sigue.

85
00:07:47,700 --> 00:07:54,360
En el primer ciclo el más externo recorre los renglones de la matriz y el ciclo más interno recorre

86
00:07:54,480 --> 00:07:56,520
las columnas de la matriz.

87
00:07:56,550 --> 00:08:04,460
Por ello en la salida de nuestra consola observaremos que los tres primeros valores del índice del renglón

88
00:08:04,550 --> 00:08:10,490
se mantiene fijo mientras que el índice de la columna se va moviendo hasta que se acaba de iterar las

89
00:08:10,490 --> 00:08:13,760
columnas para ese renglón seleccionado.

90
00:08:13,760 --> 00:08:20,600
Así que en este primer caso estamos recorriendo el primer renglón el renglón cero pero estamos moviéndonos

91
00:08:20,630 --> 00:08:27,500
en las columnas la columna 0 1 y 2 y de esta misma manera estamos recuperando los nombres.

92
00:08:27,530 --> 00:08:35,040
Podemos observar que en la columna 0 1 y 2 así que se mantiene primero fijo el renglón.

93
00:08:35,060 --> 00:08:39,360
En este caso el renglón 0 y nos vamos moviendo en las columnas.

94
00:08:39,590 --> 00:08:42,050
Esto es lo que hace precisamente este ciclo.

95
00:08:42,320 --> 00:08:50,000
Primero estamos seleccionando el renglón y posteriormente como tenemos un ciclo interno estamos moviéndonos

96
00:08:50,030 --> 00:08:55,520
ahora por las columnas y hasta que no termina de iterar cada una de las columnas del renglón seleccionado

97
00:08:55,760 --> 00:08:58,870
entonces es que no se mueve al siguiente renglón.

98
00:08:58,910 --> 00:09:05,720
Por ello primero vacía todas las columnas del renglón seleccionado y así sucesivamente se va a mover

99
00:09:05,760 --> 00:09:11,660
al siguiente renglón la siguiente vez que termine de imprimir las columnas se mueve al siguiente renglón

100
00:09:11,770 --> 00:09:16,110
incrementándose y vuelve a iterar cada una de las columnas.

101
00:09:16,160 --> 00:09:23,480
Una vez que entra a este ciclo interno de nueva cuenta imprime todas las columnas respectivas de 0 a

102
00:09:23,480 --> 00:09:30,230
dos y una vez que termina de imprimir estas columnas entonces pasa al siguiente renglón si ya no hay

103
00:09:30,230 --> 00:09:30,980
más renglones.

104
00:09:30,980 --> 00:09:38,990
Entonces termina tanto el ciclo interno como el ciclo externo y podemos observar la sintaxis para recuperar

105
00:09:39,260 --> 00:09:45,860
el índice respectivo en la matriz tanto para el renglón como para la columna utilizamos la sintaxis

106
00:09:46,190 --> 00:09:47,060
de la variable.

107
00:09:47,060 --> 00:09:53,540
En este caso la variable de la matriz llamada nombres e indicamos el renglón que estamos integrando

108
00:09:53,840 --> 00:10:00,630
en este caso el contador y también la columna que se está moviendo en este foro anidado así que la I

109
00:10:00,650 --> 00:10:05,000
sería para los renglones y la J sería para las columnas.

110
00:10:05,000 --> 00:10:10,460
Por lo tanto debemos recordar que la variable y controla los renglones y la variable J controlan las

111
00:10:10,460 --> 00:10:11,450
columnas.

112
00:10:11,450 --> 00:10:17,270
Finalmente el ciclo más externo se detendrá cuando se hayan revisado todos los renglones de la matriz

113
00:10:17,570 --> 00:10:20,640
según la condición del ciclo externo.

114
00:10:20,780 --> 00:10:26,510
Con esto ya habremos alterado todos los renglones así como cada columna de cada renglón seleccionado

115
00:10:26,900 --> 00:10:30,100
y por consiguiente de todos los elementos de la matriz.

116
00:10:30,230 --> 00:10:34,780
Más adelante veremos la ejecución de este código para poner en práctica estos conceptos.
