1
00:00:06,540 --> 00:00:12,930
La raid pet shops y la estoy recorriendo de punta a punta a rabo Carrón la placa

2
00:00:16,420 --> 00:00:19,530
y me dice posición cero valor día y posición de valor 23.

3
00:00:19,540 --> 00:00:22,640
Y así todo el rey pet shops.

4
00:00:24,160 --> 00:00:30,880
Entonces el break para qué sirve el break es una sentencia que lo que hace es mejor no le voy a decir

5
00:00:30,880 --> 00:00:35,940
qué hace qué tal si lo probamos y vemos en vivo o podemos deducir para qué sirve.

6
00:00:35,940 --> 00:00:38,220
Mira voy a decir

7
00:00:43,160 --> 00:00:46,340
supongamos que te digo

8
00:00:49,250 --> 00:00:52,310
probemos a acabar si.

9
00:00:52,900 --> 00:01:01,870
Si cuenta es igual a tres quiero que así apliques o ejecutes break.

10
00:01:02,290 --> 00:01:04,870
Entonces nos vamos a meter en este bucle.

11
00:01:04,880 --> 00:01:11,820
Voy a ordenar un poquito nos vamos a meter en este bucle y en cuanto empiece a ejecutarse cuenta ir

12
00:01:11,910 --> 00:01:16,830
aumentando o ir imprimiendo y cuando llega tres va a ejecutar break para que veamos qué pasa.

13
00:01:16,840 --> 00:01:23,040
Así que atento cuando esto llegue al 3 porque ahí se va a ejecutar y vamos a ver qué sucede.

14
00:01:40,240 --> 00:01:47,930
Podemos deducir de manera muy simple que lo que hace Brak es romper el bucle y continuar fuera pero

15
00:01:48,010 --> 00:01:52,220
vamos a ordenar más esto aún porque quiero que quede más claro

16
00:01:58,550 --> 00:02:01,810
bien esta parte de acá es lo que tenemos adentro del bucle.

17
00:02:01,830 --> 00:02:05,580
Ben se abre ahí y se cierra Kar-Wai.

18
00:02:05,610 --> 00:02:12,680
Esto es lo que se repite pero sin embargo cuando llega 3 si cuenta es igual a tres break.

19
00:02:12,900 --> 00:02:21,060
Rompo el bucle y lo que hago es saltar sin importar si cumple o no cumplir todas las vueltas del bucle.

20
00:02:21,210 --> 00:02:26,950
Lo que hago es saltar acá y sigo con mi programa como si no hubiera pasado nada y es lo que sucede.

21
00:02:27,010 --> 00:02:31,260
0 1 2 y cuando llegó el 3 break.

22
00:02:31,260 --> 00:02:37,620
Y porque veo esto que dice Akashi ejecutando porque se está imprimiendo esta sentencia que puse y lo

23
00:02:37,620 --> 00:02:40,650
hice a propósito para mostrar cómo sigue ejecutándose.

24
00:02:40,650 --> 00:02:51,740
Luego de El ciclo o bucle guay que tenemos acá vamos a ver algo parecido o más bien lo opuesto y es

25
00:02:51,740 --> 00:02:54,940
él continua.

26
00:02:55,010 --> 00:02:56,270
Para qué servirá.

27
00:02:56,960 --> 00:02:59,590
Vamos a cargarlo y a ver si nos damos cuenta para qué sirve.

28
00:03:07,430 --> 00:03:08,360
Se cargó

29
00:03:15,550 --> 00:03:18,700
y ya dos veces qué pasa acá.

30
00:03:18,700 --> 00:03:26,700
Se imprime tres posiciones después nos imprime más nada se está deteniendo ejecución.

31
00:03:26,700 --> 00:03:30,870
Que sucede que sucede a esperado algo.

32
00:03:30,890 --> 00:03:39,760
Algo me dice que haga era poner todo arriba del momento en el que se ejecuta el continuo cargo

33
00:03:46,120 --> 00:03:56,200
que se ejecute de manera indefinida pero pasa lo interesante miren así cero uno dos tres tres tres tres

34
00:03:56,200 --> 00:03:57,200
quedó pegado en el.

35
00:03:58,140 --> 00:04:00,310
Bueno lo que está pasando es revisemos el Bubble

36
00:04:03,560 --> 00:04:06,010
en teoría tienen que realizar nueve veces esto.

37
00:04:06,020 --> 00:04:06,700
Imprimir.

38
00:04:08,330 --> 00:04:14,480
Preguntar si cuenta igual a tres en el caso de que sea tres va a aplicar continuó y luego le suma 1

39
00:04:14,560 --> 00:04:19,990
aval el aval a la variable cuenta para ir aumentando y hasta en algún momento romper el Weyl.

40
00:04:20,630 --> 00:04:27,680
Pero lo que sucede es que continúe hace que se rompa ese único ciclo de ejecución y sin importar lo

41
00:04:27,680 --> 00:04:30,320
que venga después salteamos al siguiente.

42
00:04:30,380 --> 00:04:38,440
Entonces lo que pasa es que la posición es la posición cero 1 y 2 se ejecuta lo más bien sin ningún

43
00:04:38,440 --> 00:04:44,280
problema pero en cuanto llega a la 3 le dice contínuas hay salteamos lo que viene después.

44
00:04:44,320 --> 00:04:52,930
C saltea esto de incrementar un 1 algo muy importante y sigue con el próximo ciclo que es imprimir.

45
00:04:53,200 --> 00:04:53,860
Pero qué pasa.

46
00:04:53,860 --> 00:04:59,700
Cuánto vale cuenta ahora sí valiendo 3 porque eso no aumente nunca la variable.

47
00:04:59,710 --> 00:05:03,630
Entonces otra vez es Althea igual imprimir y vuelve a imprimir.

48
00:05:03,920 --> 00:05:06,400
Y cuentas se queda en 3.

49
00:05:06,400 --> 00:05:12,520
Entonces cuando utilicemos este Contino hay que tener mucho cuidado de donde tenemos el incremento con

50
00:05:12,520 --> 00:05:13,880
los ciclos for.

51
00:05:13,930 --> 00:05:20,320
No pasa nada porque el ciclo en sí se encarga de aumentar la variable no lo tengo que hacer yo por fuera

52
00:05:20,440 --> 00:05:27,730
o por mi cuenta pero acá no. Entonces lo voy a tener al incremento de la variable me voy a tener que

53
00:05:27,730 --> 00:05:32,100
encargar de hacerlo antes de que se pueda producir en algún momento.

54
00:05:32,140 --> 00:05:36,280
Continua entonces ahora si me va a funcionar bien.

55
00:05:36,590 --> 00:05:37,060
Bravo

56
00:05:41,080 --> 00:05:47,310
Bueno voy a borrar para que no queden dudas lo que había antes en la pantalla ejecutar listo y vean

57
00:05:50,310 --> 00:05:57,780
como ven no tiene mucho sentido lo que hice porque cuando aplico el continúes no tengo nada más bajo

58
00:05:57,840 --> 00:05:58,730
para mostrar.

59
00:05:58,770 --> 00:06:01,310
Disculpen esto tendría que haber ido acá.

60
00:06:01,650 --> 00:06:02,360
Ahora sí.

61
00:06:02,530 --> 00:06:05,600
Perdón pero vamos de nuevo

62
00:06:10,030 --> 00:06:13,050
y a ver si uno dos y salta la cuatro.

63
00:06:13,060 --> 00:06:13,590
Por qué.

64
00:06:13,800 --> 00:06:22,490
Porque en cuanto se ejecutó el continuo es porque se llegó a tres la sentencia que hace que se imprima

65
00:06:22,490 --> 00:06:32,450
el valor por la terminal no se va a ejecutar iba a saltar al siguiente y sucede uno dos y salta al cuatro

66
00:06:33,980 --> 00:06:40,300
Bueno de eso se trata el continua volvemos al ejemplo original que teníamos

67
00:06:44,510 --> 00:06:45,990
con cruceta.

68
00:06:46,210 --> 00:06:50,320
Gracias por existir ahí estamos.

69
00:06:50,320 --> 00:06:58,700
Bueno y por último vamos a ver algo súper súper interesante bueno estábamos recorriendo Pet Shop a ver

70
00:06:58,700 --> 00:06:59,240
si funciona.

71
00:06:59,240 --> 00:07:00,310
Volvamos al original

72
00:07:05,110 --> 00:07:12,700
si quiero recorrer Miren acá yo había declarado un char a Rey o sea es una rey de caracteres.

73
00:07:12,700 --> 00:07:17,770
Esta es la manera simple es una manera práctica de declararlo pero en realidad la cesta en la posición

74
00:07:17,770 --> 00:07:28,900
cero o en la posición 1 y así en realidad si lo vamos a hacer pulcramente o de otra manera más digamos

75
00:07:28,900 --> 00:07:29,430
formal.

76
00:07:29,440 --> 00:07:38,050
Tendríamos que haberlo puesto así se Koma entre comillas simple cada carácter o Koma y así sucesivamente.

77
00:07:38,050 --> 00:07:42,050
Pero para hacerlo rápido también es lícito hacerlo así.

78
00:07:42,320 --> 00:07:49,810
Bueno tenemos este Char llamado palabras un char a raíz de diez letras que yo desde nada menos cantidad

79
00:07:49,810 --> 00:08:00,550
de letras no pasa nada entonces acá vamos a recorrer 10 ya que tendríamos que cambiar el posición cuenta.

80
00:08:00,570 --> 00:08:11,390
Existe el valor en vez de pechotes vamos a poner la palabra bueno esto es no lo necesito pero

81
00:08:15,110 --> 00:08:15,620
pruebo

82
00:08:18,660 --> 00:08:24,820
bueno me recorre las 10 posiciones correctamente y como ven en cada posición Cordova perfecto.

83
00:08:27,180 --> 00:08:28,270
Pero qué sucede.

84
00:08:28,810 --> 00:08:34,140
Yo por qué puse acá un número 10 y porque quiero que el bucle cuente 10 veces porque sé de antemano

85
00:08:34,140 --> 00:08:44,280
que el array tiene 10 elementos con forma me pasaría lo mismo cuando uno prepara un foro for yo estoy

86
00:08:44,280 --> 00:08:52,050
diciendo con que arranca valiendo cero y si y que lo ejecute mientras sea menor a aquel que voy a poner

87
00:08:52,200 --> 00:09:00,480
Menorah 10 porque sé de antemano que me Arráiz tiene 10 elementos pero es como que medio es una utopía

88
00:09:00,980 --> 00:09:06,180
en la mayoría de los casos o por lo menos voy a decir que en muchos casos yo no sé de antemano cuántos

89
00:09:06,180 --> 00:09:13,380
elementos tiene la raíz de hecho ahora que está de moda y vamos a trabajar en algún momento con el Internet

90
00:09:13,380 --> 00:09:15,520
de las cosas es normal.

91
00:09:15,540 --> 00:09:21,140
Es frecuente que yo reciba a raíz de otros dispositivos o que los esté bajando de Internet esté conectando

92
00:09:21,160 --> 00:09:26,450
una página me bajo una raíz de datos porque es una configuración no sé.

93
00:09:26,520 --> 00:09:33,240
Tranquilamente puede suceder es normal que se me baje una raíz de números separados por coma y el primer

94
00:09:33,240 --> 00:09:41,310
número sea no sé una posición el valor de una tensión el valor de cuántas personas pasaron por un sensor

95
00:09:44,030 --> 00:09:46,520
y la cantidad de elementos puede ser variable.

96
00:09:46,550 --> 00:09:48,530
Yo no lo conozco de antemano.

97
00:09:48,530 --> 00:09:55,910
Entonces para asegurarme a la hora de recorrerlo que estoy recorriendo todo y no me estoy quedando corto

98
00:09:56,150 --> 00:09:57,800
ni me estoy pasando de largo.

99
00:09:57,990 --> 00:10:00,120
Miren qué interesante si yo me paso de largo con una

100
00:10:03,490 --> 00:10:07,200
este tiene 10 y yo le voy a pedir que lo recorra 100 veces.

101
00:10:07,210 --> 00:10:07,600
Vamos ahora

102
00:10:13,380 --> 00:10:16,170
bueno seguir siguió.

103
00:10:16,180 --> 00:10:22,780
Pero fíjense que empiecen a aparecer caracteres raros y estos miren miren no pudo haber salido mejor

104
00:10:22,780 --> 00:10:29,040
el ejemplo que tiene de Arráiz Córdoba La verdad es que esto no está planeado.

105
00:10:29,240 --> 00:10:30,840
Si lo había hecho a propósito no me sale así.

106
00:10:32,660 --> 00:10:34,730
Valiosísimos valiosísimo.

107
00:10:34,850 --> 00:10:38,280
Miren miren miren palabra tiene 10.

108
00:10:38,520 --> 00:10:41,630
Entonces desde cero hasta 9 estoy mostrando palabras.

109
00:10:41,640 --> 00:10:44,940
Acá no sale nada porque nos den todos los valores.

110
00:10:44,940 --> 00:10:50,940
Sin embargo después aparecen cosas raras y se acuerdan que declarar el tamaño de una raíz.

111
00:10:51,030 --> 00:10:58,730
En definitiva y en definitiva estoy reservando pedacitos estoy reservando cajoncitos de memoria.

112
00:10:59,160 --> 00:11:01,360
A donde voy a guardar posibles datos.

113
00:11:01,860 --> 00:11:07,970
Y acá me estoy diciendo fuera de eso que yo reserve está invadiendo el terreno de otro quizás de otro

114
00:11:07,980 --> 00:11:12,660
rey o quizás de otra variable de un proceso interno del programa o del microcontrolador.

115
00:11:12,690 --> 00:11:16,720
Miren lo que pasa acá en la posición 14 aparecen símbolos raros por acá.

116
00:11:16,730 --> 00:11:18,820
Bueno esto puede deberse a procesos internos.

117
00:11:19,020 --> 00:11:31,270
Lo desconozco pero miren acá Gammy bajando que parece acá aparece Pablo aparece Pedro Bueno.

118
00:11:31,440 --> 00:11:36,500
Lo que pasa es que me estoy metiendo allá en el lugar a donde estoy guardando estos strings.

119
00:11:36,780 --> 00:11:38,990
Miren que lucen igual que los Char Arráiz.

120
00:11:39,030 --> 00:11:46,960
Sólo que tienen un espacio en blanco al final acabamos de develar un secreto los strings son char Arráiz

121
00:11:47,190 --> 00:11:52,800
que al final tienen un carácter en blanco y le sirve a la clase para detectar cuándo se termina esa

122
00:11:52,800 --> 00:11:55,120
oración.

123
00:11:56,830 --> 00:12:03,070
Vean lo que pasa si yo no controlo bien el tamaño a la hora de recorrer un bucle entonces la manera

124
00:12:03,070 --> 00:12:12,880
práctica o dinámica para poder conocer el tamaño de un array es una función que tiene C C++ que es la

125
00:12:12,880 --> 00:12:16,690
función 6 off size of se escribe.

126
00:12:16,690 --> 00:12:23,200
Vamos a probarla así como declara una variable llamada tamaño y viene a decir que es igual a 6 o el

127
00:12:23,200 --> 00:12:30,150
tamaño de y le paso el nombre de la raíz que quiero medir ahora palabra perfecta.

128
00:12:30,190 --> 00:12:33,970
Yo sé de antemano que tiene 10 así que vamos a ver si funciona para ver el tamaño.

129
00:12:33,970 --> 00:12:36,220
Voy a poner serio el punto printed LN

130
00:12:38,460 --> 00:12:48,290
tamaño es lospuntos espacios Izumo string tamaño perfecto.

131
00:12:48,470 --> 00:12:49,170
Probemos

132
00:12:54,070 --> 00:12:55,390
espero.

133
00:12:55,400 --> 00:12:55,960
Listo.

134
00:12:55,970 --> 00:13:03,860
El tamaño es 10 y lo hace correctamente así que tranquilamente puedo poner acá tamaño.

135
00:13:03,870 --> 00:13:04,550
Por qué.

136
00:13:04,550 --> 00:13:13,270
Porque el tamaño vale 10 entonces de ahora en más ya no me importa el tamaño que vaya a tener el array

137
00:13:14,060 --> 00:13:18,510
porque va a ser dinámico nunca se va a pasar de largo ni lo va a recorrer de menos si se lo comento

138
00:13:19,420 --> 00:13:20,290
acá.

139
00:13:20,530 --> 00:13:25,590
15 e incluso me va a permitir poner más más letras.

140
00:13:25,630 --> 00:13:27,100
Decir miren miren cómo funciona.

141
00:13:32,150 --> 00:13:32,800
Perfecto.

142
00:13:32,840 --> 00:13:36,620
15 y recorrió 15 veces el acero a la 14.

143
00:13:36,620 --> 00:13:42,350
Esto es hacer una aplicación o un proyecto dinámico capaz de enfrentarse a cualquier escenario.

144
00:13:43,310 --> 00:13:50,450
Hay que tener un particular cuidado cuando los Arráiz que voy a medir están compuestos por elementos

145
00:13:51,110 --> 00:13:54,390
que miden más de un bit porque sois Zoff.

146
00:13:54,440 --> 00:13:56,770
En realidad no me dice el tamaño exacto.

147
00:13:56,840 --> 00:13:59,900
Elementos me dice el tamaño en bits.

148
00:14:00,140 --> 00:14:02,570
Y sucede que una letra ocupa un bit.

149
00:14:02,690 --> 00:14:06,340
Entonces acá coincide cada letra ocupa un bit.

150
00:14:06,600 --> 00:14:11,690
Entonces si esto tiene 15 bits el tamaño me va a decir que es de 15.

151
00:14:12,560 --> 00:14:17,210
Pero miren qué pasa cuando quiero medir el tamaño de nombres.

152
00:14:17,390 --> 00:14:18,410
Vamos por partes.

153
00:14:18,410 --> 00:14:21,760
Arranquemos por Pet Shop Pet Shop tiene 9.

154
00:14:21,820 --> 00:14:22,730
Sé que tiene 9.

155
00:14:23,220 --> 00:14:24,050
Entonces probemos

156
00:14:29,850 --> 00:14:34,630
tendré que cambiar también para que tenga coherencia.

157
00:14:34,740 --> 00:14:35,480
Listo.

158
00:14:35,620 --> 00:14:36,720
Veamos si funciona.

159
00:14:36,820 --> 00:14:42,230
Tendría que funciona o no van a ver que tiene una particularidad.

160
00:14:42,660 --> 00:14:45,950
Bueno en vez de decirme 9 me dijo 18.

161
00:14:46,190 --> 00:14:47,240
Qué pasó.

162
00:14:47,240 --> 00:14:48,320
Veníamos bien.

163
00:14:48,320 --> 00:14:57,090
Lo que sucede es que me dice el número envites que ocupa todo el Arráiz que tiene asignado en memoria

164
00:15:00,600 --> 00:15:12,200
lo que sucede es que en Arduino en C++ los enteros están compuestos por 16 bits y 16 bits están hechos

165
00:15:12,200 --> 00:15:20,060
por dos elementos de 8 bits o sea son dos bits de 8 bits combinados.

166
00:15:20,060 --> 00:15:27,050
Por eso es que se dice que esto pesa el doble ocupa el doble porque cada número de estos está hecho

167
00:15:27,050 --> 00:15:32,090
por dos variables de 8 bits 8 bits hacen un bit.

168
00:15:32,480 --> 00:15:39,680
Entonces en definitiva yo tengo que hacer lo siguiente para averiguar el tamaño el tamaño de Pet Shops

169
00:15:39,800 --> 00:15:42,320
dividido el tamaño

170
00:15:46,430 --> 00:15:54,100
6 Zoff el tamaño de cualquiera de los elementos de ese Array porque eso hace que el tamaño en bytes

171
00:15:54,400 --> 00:15:57,610
de 10 es 2 el tamaño en bits de 23.

172
00:15:57,610 --> 00:16:09,690
2 El tamaño en bits de cero es 2 6 Zoff y cómo hago para seleccionar uno cualquiera y Pet Shops cero

173
00:16:10,300 --> 00:16:14,220
bueno este es una manera de resolver este problema.

174
00:16:14,240 --> 00:16:14,900
Veamos anda

175
00:16:19,350 --> 00:16:23,130
ahora si lo corrige servirá esto para nombres

176
00:16:28,800 --> 00:16:36,810
anteriormente y acá tengo que cambiar nombres no es perfecto pero

177
00:16:41,940 --> 00:16:42,460
bueno.

178
00:16:42,620 --> 00:16:43,800
Otra vez el desastre.

179
00:16:44,700 --> 00:16:52,550
Miren me dice que el tamaño es 42 porque me está devolviendo el tamaño en bits que ocupa este array

180
00:16:52,550 --> 00:16:55,070
nombres 42 bits.

181
00:16:55,080 --> 00:17:02,960
Entonces lo que tendría que saber cuánto ocupa una de las variables para dividir este número por una

182
00:17:02,960 --> 00:17:03,520
de las variables.

183
00:17:03,530 --> 00:17:09,300
Pero sabemos la curiosidad cuánto gasta Arduino para guardar un string de estos.

184
00:17:09,360 --> 00:17:18,750
Veamos nombres como para elegir uno solo y le pongo un índice carcomió a mano.

185
00:17:19,180 --> 00:17:23,650
Voy a preguntarles cuántos bits utiliza para guardar ese strings

186
00:17:29,690 --> 00:17:30,440
tamaño 6.

187
00:17:30,440 --> 00:17:32,140
Miren cómo desperdiciã.

188
00:17:32,140 --> 00:17:38,390
No por eso hay que tener cuidado en Arduino UNO que es un microcontrolador vamos a decir de los más

189
00:17:38,390 --> 00:17:45,330
pequeños de recursos limitados en cuanto a RAM vamos a tener cuidado porque si uso muchos strings la

190
00:17:45,350 --> 00:17:47,260
voy a consumir de manera muy rápida.

191
00:17:47,360 --> 00:17:56,170
Así que cuidado porque Arduino UNO es bastante limitado a encontrar en cuanto de ram.

192
00:17:56,500 --> 00:18:01,490
Entonces para que funcione de manera correcta vamos a hacer lo siguiente

193
00:18:05,230 --> 00:18:08,170
Vamos a decir que tamaño es igual

194
00:18:11,420 --> 00:18:19,340
al tamaño de nombres debido a la cantidad de bits que ocupa uno de sus elementos aunque ese elemento

195
00:18:19,340 --> 00:18:20,320
esté vacío o funcional.

196
00:18:20,330 --> 00:18:24,360
Miren voy a vaciar Juan Juan en la posición cero no tiene nada.

197
00:18:24,680 --> 00:18:25,730
Vamos lo pruebo.

198
00:18:29,750 --> 00:18:36,380
El tamaño 7 y lo recorre correctamente a pesar de que estoy midiendo con una posición vacía porque no

199
00:18:36,380 --> 00:18:47,910
estoy midiendo cuan largo es lo que está acá estoy midiendo cuántos bits utiliza para guardar un string.

200
00:18:47,970 --> 00:18:55,140
Bueno esto ha sido todo por hoy espero que haya quedado claro la utilidad de esto y bueno nos vemos

201
00:18:55,200 --> 00:18:56,600
en el próximo capítulo.
