1 00:00:00,110 --> 00:00:01,830 Pues para introducir a Raíz. 2 00:00:01,909 --> 00:00:04,830 Vamos a situarnos, por ejemplo, en el 20. 3 00:00:05,769 --> 00:00:10,730 Que seguramente habéis hecho y estáis muy happy con él. 4 00:00:12,490 --> 00:00:18,739 A ver, un momento, que esto no es... 5 00:00:18,739 --> 00:00:21,460 Venga, nosotros no lo tenemos hecho, ¿verdad que no? 6 00:00:21,500 --> 00:00:22,839 Vamos rápidamente a hacerlo. 7 00:00:25,359 --> 00:00:26,620 Esto no era lo que yo quería. 8 00:00:39,740 --> 00:00:40,179 ¡Hala! 9 00:00:45,600 --> 00:01:10,480 Venga, pues a ver, este era programa, que lea un número entero y muestre todas sus cifras, vale, pues nada, hacemos un super escáner y leemos el dato, un super escáner, un super escáner, introduzca número, 10 00:01:10,480 --> 00:01:14,519 este es el 20 11 00:01:14,519 --> 00:01:16,200 que lo vamos a usar pues ya que estamos 12 00:01:16,200 --> 00:01:18,900 para empezar a necesitar 13 00:01:18,900 --> 00:01:20,540 a necesitar a raíz 14 00:01:20,540 --> 00:01:20,980 vale 15 00:01:20,980 --> 00:01:24,599 pues a ver, vamos a sacar las cifras 16 00:01:24,599 --> 00:01:26,040 bueno 17 00:01:26,040 --> 00:01:28,260 uno lo podría hacer, lo convierte a string 18 00:01:28,260 --> 00:01:29,959 y luego va mostrando 19 00:01:29,959 --> 00:01:32,000 carácter por carácter 20 00:01:32,000 --> 00:01:34,319 pero no vamos a hacerlo así porque entonces no 21 00:01:34,319 --> 00:01:35,379 no 22 00:01:35,379 --> 00:01:38,579 no motiva lo que a mi me interesa 23 00:01:38,579 --> 00:01:40,219 que motive, vamos a hacerlo 24 00:01:40,219 --> 00:01:42,439 operando sobre el número 25 00:01:42,439 --> 00:01:45,200 bueno, pues ¿cómo sacamos las cifras de un número? 26 00:01:46,019 --> 00:01:47,140 ya en su momento 27 00:01:47,140 --> 00:01:49,280 en los ejercicios del primer tema 28 00:01:49,280 --> 00:01:51,319 cuando necesitábamos unidades, decenas 29 00:01:51,319 --> 00:01:53,500 centenas, hacíamos restos 30 00:01:53,500 --> 00:01:55,239 de 10, divisiones entre 10 31 00:01:55,239 --> 00:01:57,519 y lo conseguíamos 32 00:01:57,519 --> 00:01:57,959 ¿verdad? 33 00:01:58,700 --> 00:02:00,739 aquí lo único es que lo tenemos que extender 34 00:02:00,739 --> 00:02:03,340 en su momento lo hicimos, yo sabía exactamente 35 00:02:03,340 --> 00:02:04,319 que eran 3 cifras 36 00:02:04,319 --> 00:02:07,060 pues hacía las 3 operaciones y listo 37 00:02:07,060 --> 00:02:09,439 aquí puede haber cualquier número de cifras 38 00:02:09,439 --> 00:02:34,080 Entonces, no sé cuántos restos entre 10 tengo que hacer, pues voy a tener que hacer un bucle, entonces aquí ya tenemos que hacer un bucle. Bueno, pero no pasa nada porque podemos hacerlo así y ya está, que es lo que habréis hecho o pensado más o menos. 39 00:02:34,080 --> 00:02:51,419 Pues tenéis un numerito, cualquiera. ¿Cómo podemos ir sacando las cifras decimales? Pues ir sacando los restos entre 10, ¿verdad? Si yo hago el primer resto entre 10, ya me da el 4, que son las unidades. 40 00:02:51,419 --> 00:02:53,539 ¿cómo saco la siguiente? 41 00:02:54,259 --> 00:02:56,400 pues el cociente que me ha quedado 42 00:02:56,400 --> 00:02:58,099 el cociente 43 00:02:58,099 --> 00:02:59,879 que es 321 44 00:02:59,879 --> 00:03:02,280 entonces 45 00:03:02,280 --> 00:03:04,300 me interesará no solo hacer el resto 46 00:03:04,300 --> 00:03:05,800 entre 10 para sacar la cifra 47 00:03:05,800 --> 00:03:08,500 sino hacer también la división entre 10 48 00:03:08,500 --> 00:03:10,479 para sacar el siguiente 49 00:03:10,479 --> 00:03:11,979 cociente con el que operar 50 00:03:11,979 --> 00:03:14,319 bueno, pues 51 00:03:14,319 --> 00:03:16,680 este cociente que me ha quedado 52 00:03:16,680 --> 00:03:20,199 vuelvo a hacer el resto entre 10 53 00:03:20,199 --> 00:03:22,460 y ya saco la siguiente cifra 54 00:03:22,460 --> 00:03:23,560 que es 1 55 00:03:23,560 --> 00:03:26,539 pero divido también entre 10 56 00:03:26,539 --> 00:03:28,560 para quedarme con el siguiente cociente 57 00:03:28,560 --> 00:03:29,900 que ahora es 32 58 00:03:29,900 --> 00:03:31,979 ¡Hala! ya tengo 32 59 00:03:31,979 --> 00:03:35,300 me hago el resto entre 10 60 00:03:35,300 --> 00:03:37,000 y me da 2 61 00:03:37,000 --> 00:03:38,919 que es 62 00:03:38,919 --> 00:03:41,219 la siguiente cifra decimal 63 00:03:41,219 --> 00:03:42,460 4, 1, 2 64 00:03:42,460 --> 00:03:44,699 y ahora me hago mi cociente 65 00:03:44,699 --> 00:03:47,479 para tener el siguiente dato 66 00:03:47,479 --> 00:03:48,419 con el que operar 67 00:03:48,419 --> 00:03:49,479 el 3, vale 68 00:03:49,479 --> 00:04:07,819 Ahora, la cuarta operación que hago, 3, 3, resto de dividirlo entre 10, me da 3, que es mi siguiente cifra decimal, cociente de dividirlo entre 10, me da 0, lo cual me marca fin, ya se ha acabado, ¿vale? 69 00:04:07,819 --> 00:04:10,960 pues entonces, esta operación que hemos hecho 70 00:04:10,960 --> 00:04:12,319 es meter en un bucle 71 00:04:12,319 --> 00:04:13,580 todo esto 72 00:04:13,580 --> 00:04:15,939 meto en un bucle 73 00:04:15,939 --> 00:04:18,639 cociente entre 10, saco cifra 74 00:04:18,639 --> 00:04:21,279 divido entre 10 para siguiente cociente 75 00:04:21,279 --> 00:04:22,980 meto eso en un bucle 76 00:04:22,980 --> 00:04:25,279 cada operación 77 00:04:25,279 --> 00:04:26,839 de resto me da 78 00:04:26,839 --> 00:04:28,740 la cifra que tengo que mostrar 79 00:04:28,740 --> 00:04:30,839 y cuando terminaré 80 00:04:31,439 --> 00:04:32,100 cuando 81 00:04:32,100 --> 00:04:34,680 el cociente obtenido sea 0 82 00:04:34,680 --> 00:04:37,100 cuando el cociente obtenido sea 0 83 00:04:37,100 --> 00:04:38,939 ya no tengo que seguir sacando más cifras 84 00:04:38,939 --> 00:04:39,639 ya he terminado 85 00:04:39,639 --> 00:04:43,879 bueno, pues podemos programar esto 86 00:04:43,879 --> 00:04:46,459 y nos queda algo como esto 87 00:04:46,459 --> 00:04:53,420 vale, pues a ver 88 00:04:53,420 --> 00:04:54,899 esto es un bucle, ¿qué era? 89 00:04:56,680 --> 00:04:58,199 mientras mi numerito 90 00:04:58,980 --> 00:05:10,860 estoy segura que hay una forma óptima de hacerlo 91 00:05:10,860 --> 00:05:12,620 pero bueno, vale 92 00:05:12,620 --> 00:05:14,839 mientras mi numerito sea 93 00:05:14,839 --> 00:05:16,240 mayor que cero 94 00:05:16,240 --> 00:05:19,019 ¿qué voy a hacer mientras mi numerito 95 00:05:19,019 --> 00:05:20,000 sea mayor que cero? 96 00:05:21,139 --> 00:05:23,519 Primero voy a sacar la cifra. 97 00:05:25,639 --> 00:05:28,300 Num por ciento diez. 98 00:05:29,639 --> 00:05:32,660 Y ahora voy a dividir el número entre diez. 99 00:05:33,139 --> 00:05:37,839 Num entre igual diez. 100 00:05:40,209 --> 00:05:42,269 ¡Hala! Y ya está, ya he terminado mi programa. 101 00:05:43,449 --> 00:05:45,689 Ya he programado lo que hemos hecho antes. 102 00:05:46,449 --> 00:05:47,470 Estoy todo el rato. 103 00:05:48,649 --> 00:05:49,949 Haz resto y muestra. 104 00:05:50,470 --> 00:05:51,790 Y divide entre diez. 105 00:05:52,050 --> 00:05:54,290 Divide entre diez y vuelve a guardar en num. 106 00:05:54,730 --> 00:05:56,490 para actualizar el valor de ese cociente. 107 00:05:57,170 --> 00:05:59,209 Y así mientras seas mayor que cero. 108 00:05:59,750 --> 00:06:01,029 Cuando hayas llegado a cero, 109 00:06:01,509 --> 00:06:03,490 es que ya has mostrado la última cifra. 110 00:06:04,449 --> 00:06:05,769 Cuando ya hayas llegado a cero, 111 00:06:05,850 --> 00:06:08,029 no quieres seguir haciendo... 112 00:06:08,029 --> 00:06:10,350 Pues ya está, ya tenemos el programa así. 113 00:06:14,180 --> 00:06:15,139 Bueno, ¿veis más o menos 114 00:06:15,139 --> 00:06:18,000 que esta es la operación que hemos hecho antes en la pizarra? 115 00:06:18,620 --> 00:06:19,959 Que está todo el rato, 116 00:06:20,639 --> 00:06:21,300 saca resto, 117 00:06:22,180 --> 00:06:25,100 y hace el cociente pisando el cociente anterior, 118 00:06:25,259 --> 00:06:25,839 pisándolo, 119 00:06:25,839 --> 00:06:28,139 Para volver arriba otra vez 120 00:06:28,139 --> 00:06:29,600 A volver a sacar el siguiente resto 121 00:06:29,600 --> 00:06:30,579 Y todo eso 122 00:06:30,579 --> 00:06:33,240 Mientras ese cociente que vas actualizando 123 00:06:33,240 --> 00:06:34,160 Lo vas actualizando 124 00:06:34,160 --> 00:06:35,879 Sea mayor que cero 125 00:06:35,879 --> 00:06:37,759 Bueno, vamos a probarlo 126 00:06:37,759 --> 00:06:42,040 No vaya a ser que hayamos escrito mal 127 00:06:42,040 --> 00:06:43,360 O algo no hayamos tenido en cuenta 128 00:06:43,360 --> 00:06:50,050 Venga, pues a ver 129 00:06:50,050 --> 00:06:53,490 Uh, con la R no le va a gustar 130 00:06:53,490 --> 00:06:53,930 Joder 131 00:06:53,930 --> 00:06:55,810 Ala 132 00:06:55,810 --> 00:06:59,269 4, 5, 7, 8, 6 y 7 133 00:06:59,269 --> 00:07:00,370 Vale 134 00:07:00,370 --> 00:07:02,129 Parece que funciona 135 00:07:02,129 --> 00:07:03,990 bueno, hasta ahí bien 136 00:07:03,990 --> 00:07:07,110 pero claro me dicen 137 00:07:07,110 --> 00:07:09,990 que feo, porque me estás sacando 138 00:07:09,990 --> 00:07:11,129 primero las unidades 139 00:07:11,129 --> 00:07:13,410 luego las decenas 140 00:07:13,410 --> 00:07:15,810 como me gustaría que me las sacaras 141 00:07:15,810 --> 00:07:17,790 al revés 142 00:07:17,790 --> 00:07:19,870 es decir, que en lugar de 143 00:07:19,870 --> 00:07:21,649 mostrármelas así, por este orden 144 00:07:21,649 --> 00:07:23,629 me sacaras primero el 7 145 00:07:23,629 --> 00:07:25,029 luego el 6, luego el 8 146 00:07:25,029 --> 00:07:26,350 es como más visual 147 00:07:26,350 --> 00:07:28,810 normalmente uno parece que 148 00:07:28,810 --> 00:07:31,750 presta antes atención visualmente a este número 149 00:07:31,750 --> 00:07:33,610 luego a este, pues me gustaría que a mí me sacaras 150 00:07:33,610 --> 00:07:34,670 el 7, luego el 6 151 00:07:34,670 --> 00:07:39,149 vale 152 00:07:39,149 --> 00:07:41,769 me podrían decir, pedir esa modificación 153 00:07:41,769 --> 00:07:43,689 tendría sentido 154 00:07:43,689 --> 00:07:45,990 para que quedara más bonito, que me pidan esa modificación 155 00:07:45,990 --> 00:07:47,629 pues la hemos liado 156 00:07:47,629 --> 00:07:49,730 con la versión que tengo 157 00:07:49,730 --> 00:07:51,250 aquí, la hemos liado pero bien 158 00:07:51,250 --> 00:07:53,970 porque es que 159 00:07:53,970 --> 00:07:55,670 yo las tengo que 160 00:07:55,670 --> 00:07:57,649 sacar en este orden, es que yo voy sacando 161 00:07:57,649 --> 00:07:59,790 los restos y me van viniendo 162 00:07:59,790 --> 00:08:01,610 en el orden de las decenas, es que no 163 00:08:01,610 --> 00:08:03,430 y tu tía, perdón, me van viniendo 164 00:08:03,430 --> 00:08:05,769 desde la cifra más pequeñita hasta la mayor 165 00:08:05,769 --> 00:08:07,509 y cada vez 166 00:08:07,509 --> 00:08:10,410 que hago yo 167 00:08:10,410 --> 00:08:12,290 para tenerlas ahí todas 168 00:08:12,290 --> 00:08:14,350 tendría que pensar algo 169 00:08:14,350 --> 00:08:16,389 para irlas guardando todas 170 00:08:16,389 --> 00:08:17,290 y no perderlas 171 00:08:17,290 --> 00:08:20,069 y luego ya cuando las tengo guardadas mostrarlas 172 00:08:20,069 --> 00:08:21,949 a ver si me explico 173 00:08:21,949 --> 00:08:23,029 el problema es 174 00:08:23,029 --> 00:08:24,230 dígame 175 00:08:24,230 --> 00:08:29,949 ¿cómo se le diría el qué? 176 00:08:36,450 --> 00:08:38,549 a ver, esta sentencia es la misma que 177 00:08:38,549 --> 00:08:39,710 espérate y quite esa cosa 178 00:08:39,710 --> 00:08:44,350 esta sentencia es lo mismo 179 00:08:44,350 --> 00:08:45,429 que si tú haces esto 180 00:08:45,429 --> 00:08:47,509 num 181 00:08:47,509 --> 00:08:52,269 ahí 182 00:08:52,269 --> 00:08:54,629 num igual 183 00:08:54,629 --> 00:08:57,929 a num entre 10 184 00:08:57,929 --> 00:08:59,909 ¿vale? entonces 185 00:08:59,909 --> 00:09:02,549 hago el cociente y piso el número 186 00:09:02,549 --> 00:09:04,309 para luego seguir sacándole el resto 187 00:09:04,309 --> 00:09:06,610 ¿vale? es la versión abreviada 188 00:09:06,610 --> 00:09:07,049 de eso 189 00:09:07,049 --> 00:09:09,529 pues entonces 190 00:09:09,529 --> 00:09:38,480 Aquí me encuentro con el problema de que yo desearía conservar estos valores, en lugar de mostrarlos tal cual los voy generando, 191 00:09:38,480 --> 00:09:41,519 querría guardarlos en algún sitio 192 00:09:41,519 --> 00:09:43,399 para luego poder 193 00:09:43,399 --> 00:09:45,019 mostrarlos pero en orden inverso 194 00:09:45,019 --> 00:09:47,240 porque si yo los muestro tal cual 195 00:09:47,240 --> 00:09:49,200 los voy generando, pues no hay tu día 196 00:09:49,200 --> 00:09:51,419 primero mostraré las unidades, luego las decenas 197 00:09:51,419 --> 00:09:53,399 porque los voy mostrando tal cual los voy generando 198 00:09:53,399 --> 00:09:55,059 pero me han dicho, no, no, no 199 00:09:55,059 --> 00:09:57,679 muestra primero el último que generaste 200 00:09:57,679 --> 00:09:59,480 y luego el antepenúltimo 201 00:09:59,480 --> 00:10:00,080 luego el otro 202 00:10:00,080 --> 00:10:03,139 entonces no me va a quedar más remedio que ver 203 00:10:03,139 --> 00:10:05,940 y qué hago para en lugar de mostrarlos 204 00:10:05,940 --> 00:10:07,639 tal cual los voy generando 205 00:10:07,639 --> 00:10:10,179 que hago para guardarlos en algún sitio 206 00:10:10,179 --> 00:10:12,240 pues en lugar de la sentencia 207 00:10:12,240 --> 00:10:12,960 esta de system 208 00:10:12,960 --> 00:10:15,519 lo que querríamos es 209 00:10:15,519 --> 00:10:18,500 llevar cada uno de ellos a alguna variable 210 00:10:18,500 --> 00:10:20,840 tenerlos ahí todos guardaditos 211 00:10:20,840 --> 00:10:24,320 y una vez que los tengo 212 00:10:24,320 --> 00:10:25,360 todos guardaditos 213 00:10:25,360 --> 00:10:28,100 ahora ya empezar a mostrarlos 214 00:10:28,100 --> 00:10:29,240 pero en el orden inverso 215 00:10:29,240 --> 00:10:31,399 al que los fui rellenando 216 00:10:31,399 --> 00:10:34,220 ¿entendéis que esto sería una solución? 217 00:10:35,179 --> 00:10:36,399 los voy guardando 218 00:10:36,399 --> 00:10:37,960 y luego cuando los tenga todos 219 00:10:37,960 --> 00:10:39,879 cuando ya haya terminado con el último 220 00:10:39,879 --> 00:10:41,259 el bucle haya acabado 221 00:10:41,259 --> 00:10:43,179 ahora ya me pongo a mostrarlos 222 00:10:43,179 --> 00:10:44,700 pero en orden inverso a como los rellene 223 00:10:44,700 --> 00:10:46,620 porque si no hago esto 224 00:10:46,620 --> 00:10:48,919 y los voy mostrando tal cual 225 00:10:48,919 --> 00:10:51,080 es que no hay tutía, los tengo que mostrar según me llenan 226 00:10:51,080 --> 00:10:51,799 es que no hay otra 227 00:10:51,799 --> 00:10:54,519 si quiero mostrarlos en otro orden o hacer otras cosas 228 00:10:54,519 --> 00:10:56,539 los voy a tener que meter en una caja 229 00:10:56,539 --> 00:10:58,860 y una vez que tengo la caja rellena 230 00:10:58,860 --> 00:11:00,379 ahora empiezo a sacar desde el final 231 00:11:00,379 --> 00:11:01,860 yo voy metiendo 232 00:11:01,860 --> 00:11:03,519 me llega este número, me llega este número 233 00:11:03,519 --> 00:11:05,240 ya los tengo todos 234 00:11:05,240 --> 00:11:07,399 ahora te los voy a ir entregando pero al revés 235 00:11:07,399 --> 00:11:08,700 primero el último que me llegó 236 00:11:08,700 --> 00:11:12,820 vale, pues entonces 237 00:11:12,820 --> 00:11:15,820 uno podría decir, ah bueno, muy fácil 238 00:11:15,820 --> 00:11:16,940 no pasa nada 239 00:11:16,940 --> 00:11:18,919 en lugar de hacer un system out 240 00:11:18,919 --> 00:11:20,559 los voy metiendo en una variable 241 00:11:20,559 --> 00:11:22,779 n igual a num 242 00:11:22,779 --> 00:11:25,279 por ciento diez 243 00:11:25,279 --> 00:11:27,620 claro, pero en la siguiente 244 00:11:27,620 --> 00:11:29,919 iteración del bucle, ¿qué pasa con n? 245 00:11:30,039 --> 00:11:31,240 estás pisando el anterior 246 00:11:31,240 --> 00:11:32,820 lo has perdido 247 00:11:32,820 --> 00:11:35,480 entonces ¿qué me hago? pongo aquí n1 248 00:11:35,480 --> 00:11:37,779 pero en la siguiente vuelta del bucle 249 00:11:37,779 --> 00:11:39,940 ¿cómo hago para que este 1 sea N2? 250 00:11:40,039 --> 00:11:40,519 no puedo 251 00:11:40,519 --> 00:11:42,659 si yo pongo esta sentencia 252 00:11:42,659 --> 00:11:44,340 va a ser siempre N1 253 00:11:44,340 --> 00:11:46,519 aunque me haga aquí 20 variables 254 00:11:46,519 --> 00:11:47,779 N1, N2, N3 255 00:11:47,779 --> 00:11:49,240 ¿cómo hago aquí para que 256 00:11:49,240 --> 00:11:50,340 que pongo aquí 257 00:11:50,340 --> 00:11:52,320 para que cada vez sea una distinta? 258 00:11:52,440 --> 00:11:54,000 no puedo, tengo que poner un nombre de variable 259 00:11:54,000 --> 00:11:54,519 ¿cuál pongo? 260 00:11:55,379 --> 00:11:56,879 entonces, ¿entendéis que es un problema 261 00:11:56,879 --> 00:11:59,259 irresoluble 262 00:11:59,259 --> 00:12:00,740 para el que me falta algo más? 263 00:12:01,500 --> 00:12:02,700 para el que me falta algo más 264 00:12:02,700 --> 00:12:05,340 bueno, pues 265 00:12:05,340 --> 00:12:24,480 Pues aquí sería, Jolín, es que lo ideal sería que yo tuviera variables, una variable con el nombre que fuera, en el que pudiera guardar muchas cosas, muchas, porque esto me solucionaría, entre otros, este problema. 266 00:12:24,480 --> 00:12:27,659 yo aquí tengo mi variable n 267 00:12:27,659 --> 00:12:29,539 que en realidad es una caja 268 00:12:29,539 --> 00:12:30,720 con muchas casillas 269 00:12:30,720 --> 00:12:33,340 y le digo, guárdame este 270 00:12:33,340 --> 00:12:35,379 en la primera casilla libre de la caja 271 00:12:35,379 --> 00:12:36,340 y ya está 272 00:12:36,340 --> 00:12:38,500 entonces cada iteración del bucle 273 00:12:38,500 --> 00:12:41,320 guárdame en la primera casilla libre de la caja n 274 00:12:41,320 --> 00:12:43,320 y esa va a ser siempre la misma sentencia 275 00:12:43,320 --> 00:12:45,120 guárdame en la primera casilla libre 276 00:12:45,120 --> 00:12:47,299 pues ya está, ojalá si existiera eso 277 00:12:47,299 --> 00:12:48,980 pues lo tengo solucionado 278 00:12:48,980 --> 00:12:51,139 ¿vale? pues esos son los arrays 279 00:12:51,139 --> 00:12:53,639 los arrays son una variable más 280 00:12:53,639 --> 00:12:55,220 una variable más, es un array 281 00:12:55,220 --> 00:12:56,980 pero es una variable 282 00:12:56,980 --> 00:13:00,279 que tiene diferentes casillas 283 00:13:00,279 --> 00:13:03,220 y yo en cada casilla 284 00:13:03,220 --> 00:13:05,700 meto un dato distinto 285 00:13:05,700 --> 00:13:07,820 pero esa variable array 286 00:13:07,820 --> 00:13:09,120 tiene un único nombre 287 00:13:09,120 --> 00:13:12,080 array de números, el nombre que yo quiera 288 00:13:12,080 --> 00:13:14,320 tiene un único nombre y eso es lo que le da la fuerza 289 00:13:14,320 --> 00:13:16,139 al tener un único nombre 290 00:13:16,139 --> 00:13:18,100 yo aquí dentro de mi bucle digo 291 00:13:18,100 --> 00:13:20,019 en el array n, mete eso 292 00:13:20,019 --> 00:13:21,960 y ya está, y él ya lo meterá 293 00:13:21,960 --> 00:13:23,080 donde toque 294 00:13:23,080 --> 00:13:25,580 luego, cuando el bucle termina 295 00:13:25,580 --> 00:13:26,879 todos 296 00:13:26,879 --> 00:13:29,480 estarán guardaditos 297 00:13:29,480 --> 00:13:30,740 todos estos restos 298 00:13:30,740 --> 00:13:32,799 en sus diferentes casillas 299 00:13:32,799 --> 00:13:35,340 y ahora ya sí me puedo plantear 300 00:13:35,340 --> 00:13:37,220 entrar en la RAI-N y empezar ya 301 00:13:37,220 --> 00:13:38,860 a mostrar, a hacer lo que quiera 302 00:13:38,860 --> 00:13:40,000 con lo que hay en la casilla 303 00:13:40,000 --> 00:13:43,360 bueno, pues es una herramienta 304 00:13:43,360 --> 00:13:45,120 que necesitamos 305 00:13:45,120 --> 00:13:47,320 es la siguiente 306 00:13:47,320 --> 00:13:48,679 y última cosa 307 00:13:48,679 --> 00:13:50,919 imprescindible para programar 308 00:13:50,919 --> 00:13:52,419 no hay nada más imprescindible 309 00:13:52,419 --> 00:13:54,899 que va a declaración de variables 310 00:13:54,899 --> 00:13:56,879 y asignación de valores 311 00:13:56,879 --> 00:13:58,639 operadores para hacer expresiones 312 00:13:58,639 --> 00:14:01,200 decisiones, bucles y arrays 313 00:14:01,200 --> 00:14:03,179 no hay absolutamente nada más necesario 314 00:14:03,179 --> 00:14:03,940 para programar 315 00:14:03,940 --> 00:14:06,659 todo lo demás son 316 00:14:06,659 --> 00:14:09,000 formas de organizar esto 317 00:14:09,000 --> 00:14:11,340 porque claro, solo con esto 318 00:14:11,340 --> 00:14:13,059 cualquier programa se convierte 319 00:14:13,059 --> 00:14:14,179 en una cosa infumable 320 00:14:14,179 --> 00:14:17,059 pero con otras pautas de organización 321 00:14:17,059 --> 00:14:19,039 como las clases, los objetos, no sé qué 322 00:14:19,039 --> 00:14:20,639 pues lo puedes hacer un poco más 323 00:14:20,639 --> 00:14:23,659 amigable 324 00:14:23,659 --> 00:14:26,259 bueno pues entonces 325 00:14:26,259 --> 00:14:27,679 ¿cómo se declara un array? 326 00:14:27,799 --> 00:14:28,980 ¿qué es un array? etcétera 327 00:14:28,980 --> 00:14:32,419 si nos 328 00:14:32,419 --> 00:14:34,120 no, esto no quería yo 329 00:14:34,120 --> 00:14:38,259 aquí 330 00:14:38,259 --> 00:14:39,600 vale 331 00:14:39,600 --> 00:14:52,490 ¿arrays? 332 00:14:58,190 --> 00:14:58,629 ¿arrays? 333 00:14:58,629 --> 00:14:59,029 arreglos 334 00:14:59,029 --> 00:15:00,250 como dicen los libros raros 335 00:15:00,250 --> 00:15:02,370 Hay libros raros por ahí que dicen arreglos 336 00:15:02,370 --> 00:15:04,210 A veces, ¿vale? 337 00:15:06,210 --> 00:15:09,289 Y no descarto yo que Chagpete alguna vez diga arreglo 338 00:15:09,289 --> 00:15:11,090 En cualquier caso lo entendería 339 00:15:11,090 --> 00:15:11,850 ¿Vale? 340 00:15:12,970 --> 00:15:14,070 Bueno, pues es 341 00:15:14,070 --> 00:15:16,509 Un array es 342 00:15:16,509 --> 00:15:18,409 Un tipo más 343 00:15:18,409 --> 00:15:19,470 De dato 344 00:15:19,470 --> 00:15:22,809 Ahora mismo los tipos de datos que conocemos son 345 00:15:22,809 --> 00:15:24,230 Números 346 00:15:24,230 --> 00:15:25,809 By, short, in, long 347 00:15:25,809 --> 00:15:29,389 Decimales 348 00:15:29,389 --> 00:15:30,950 flow of double 349 00:15:30,950 --> 00:15:32,289 char 350 00:15:32,289 --> 00:15:35,129 boolean y luego el stream 351 00:15:35,129 --> 00:15:37,850 que guarda un montón de char juntos 352 00:15:37,850 --> 00:15:39,750 de hecho el stream 353 00:15:39,750 --> 00:15:41,070 por dentro es un array de char 354 00:15:41,070 --> 00:15:42,590 aunque está tuneado 355 00:15:42,590 --> 00:15:44,889 como entenderemos cuando veamos las clases 356 00:15:44,889 --> 00:15:47,330 bueno pues un array que es 357 00:15:47,330 --> 00:15:48,450 es una variable 358 00:15:48,450 --> 00:15:50,870 es una única variable 359 00:15:50,870 --> 00:15:51,809 un tipo de dato 360 00:15:51,809 --> 00:16:00,370 que sirve 361 00:16:00,370 --> 00:16:01,289 ¿para qué sirve? 362 00:16:01,730 --> 00:16:03,909 pues igual que el int sirve para guardar un número 363 00:16:03,909 --> 00:16:05,990 el double sirve para guardar un decimal 364 00:16:05,990 --> 00:16:08,190 pues ¿para qué sirve el array? 365 00:16:08,490 --> 00:16:09,970 es un tipo de dato que sirve 366 00:16:09,970 --> 00:16:12,529 para guardar 367 00:16:15,950 --> 00:16:16,750 muchos 368 00:16:16,750 --> 00:16:17,970 no uno 369 00:16:17,970 --> 00:16:20,110 sino muchos datos 370 00:16:20,110 --> 00:16:24,169 pero del mismo tipo 371 00:16:24,169 --> 00:16:27,700 es decir 372 00:16:27,700 --> 00:16:28,919 o todos int 373 00:16:28,919 --> 00:16:29,840 o todos double 374 00:16:29,840 --> 00:16:32,259 o todos char 375 00:16:32,259 --> 00:16:34,820 pero un montón 376 00:16:34,820 --> 00:16:42,269 esto del mismo tipo 377 00:16:42,269 --> 00:16:43,649 lo escribo incluso 378 00:16:43,649 --> 00:16:45,190 para que 379 00:16:45,190 --> 00:16:48,169 nadie me acuse de mentir 380 00:16:48,169 --> 00:16:50,070 pues lo escribo desde ya 381 00:16:50,070 --> 00:16:52,090 con matices 382 00:16:52,090 --> 00:16:54,090 porque bueno 383 00:16:54,090 --> 00:16:56,190 si son objetos 384 00:16:56,190 --> 00:16:58,309 que heredan de la misma jerarquía de herencia 385 00:16:58,309 --> 00:17:00,389 los puedes mezclar también 386 00:17:00,389 --> 00:17:02,110 pero eso cuando son objetos que heredan 387 00:17:02,110 --> 00:17:03,149 de la misma jerarquía de herencia 388 00:17:03,149 --> 00:17:05,230 y eso que tenemos ni puñetera idea de lo que significa 389 00:17:05,230 --> 00:17:07,410 pues ahora mismo no aplica para nosotros 390 00:17:07,410 --> 00:17:10,069 pero pongo el con matices con el mismo tipo 391 00:17:10,069 --> 00:17:12,089 si son primitivos del mismo tipo 392 00:17:12,089 --> 00:17:12,609 sí o sí 393 00:17:12,609 --> 00:17:13,750 ¿vale? 394 00:17:15,329 --> 00:17:17,390 ahora mismo no nos aplica el con matices 395 00:17:17,390 --> 00:17:20,069 pero luego ya entenderemos que sí, que tiene unos pequeños matices 396 00:17:20,069 --> 00:17:21,990 ¿vale? pues nos viene 397 00:17:21,990 --> 00:17:22,509 genial 398 00:17:22,509 --> 00:17:25,869 y 399 00:17:25,869 --> 00:17:28,670 lo importante 400 00:17:28,670 --> 00:17:29,630 es que 401 00:17:29,630 --> 00:17:32,529 todos estos datos del mismo tipo 402 00:17:32,529 --> 00:17:34,490 al estar guardados en una 403 00:17:34,490 --> 00:17:36,069 única variable array 404 00:17:36,069 --> 00:17:39,049 van a estar todos guardados 405 00:17:39,049 --> 00:17:40,650 bajo un nombre único 406 00:17:40,650 --> 00:17:43,250 ya no necesito número 1, número 2, número 3 407 00:17:43,250 --> 00:17:45,029 número 4, ahora tendré 408 00:17:45,029 --> 00:17:47,230 números y ahí dentro 409 00:17:47,230 --> 00:17:49,109 irán 20, 30, 40 los que fueran 410 00:17:49,109 --> 00:17:51,490 con el esquema que teníamos hasta ahora 411 00:17:51,490 --> 00:17:53,690 si yo quería trabajar con 20 números 412 00:17:53,690 --> 00:17:55,569 tenía que hacer número 1, número 2 413 00:17:55,569 --> 00:17:57,730 número 3, eso era infumable 414 00:17:57,730 --> 00:17:59,049 aparte de cómo me hago un bucle 415 00:17:59,049 --> 00:18:01,009 cómo cambio dentro yo el nombre de la variable 416 00:18:01,009 --> 00:18:02,589 imposible, pues 417 00:18:02,589 --> 00:18:05,730 de esta manera puedo tener yo mis 30 números 418 00:18:05,730 --> 00:18:06,789 pero todos 419 00:18:06,789 --> 00:18:09,529 van a estar dentro del paraguas 420 00:18:09,529 --> 00:18:10,990 números, ¿vale? 421 00:18:11,009 --> 00:18:11,789 ahora vemos cómo 422 00:18:11,789 --> 00:18:19,029 por definición no 423 00:18:19,029 --> 00:18:20,569 que yo sepa 424 00:18:20,569 --> 00:18:23,710 otra cosa es las restricciones que pueda haber 425 00:18:23,710 --> 00:18:24,890 de la memoria del proceso 426 00:18:24,890 --> 00:18:26,470 pero por definición como tal 427 00:18:26,470 --> 00:18:27,730 que yo sepa no 428 00:18:27,730 --> 00:18:30,670 pero es difícil que tú vayas a necesitar 429 00:18:30,670 --> 00:18:31,710 un array que 430 00:18:31,710 --> 00:18:33,869 pueda tener 431 00:18:33,869 --> 00:18:35,650 más de 1000, 2000 posiciones 432 00:18:35,650 --> 00:18:37,289 porque es que eso luego a la hora de manejarlo 433 00:18:37,289 --> 00:18:38,829 le entretería tanto a la aplicación 434 00:18:38,829 --> 00:18:39,769 que 435 00:18:39,769 --> 00:18:43,789 bueno, pues vamos a ver 436 00:18:43,789 --> 00:18:44,470 cómo 437 00:18:44,470 --> 00:18:48,609 ahora ya que sabemos lo que es 438 00:18:48,609 --> 00:18:50,930 cómo declaramos una variable array 439 00:18:50,930 --> 00:18:52,650 pues por ejemplo 440 00:18:52,650 --> 00:18:55,690 para declarar una variable que tenga números 441 00:18:55,690 --> 00:18:57,750 que es la situación que nos hemos 442 00:18:57,750 --> 00:18:59,650 visto ahora para las cifras 443 00:18:59,650 --> 00:19:00,150 de un número 444 00:19:00,150 --> 00:19:02,589 pues ponemos int 445 00:19:02,589 --> 00:19:05,049 porque va a tener números int 446 00:19:05,049 --> 00:19:07,809 y ahora para indicar que esto es 447 00:19:07,809 --> 00:19:09,269 un array de int 448 00:19:09,269 --> 00:19:11,490 no un único número, un array de int 449 00:19:11,490 --> 00:19:12,309 es decir, una caja 450 00:19:12,309 --> 00:19:15,509 pues pongo aquí esto, corchetes 451 00:19:15,509 --> 00:19:16,630 que se abren y se cierran 452 00:19:16,630 --> 00:19:19,210 con esto estoy indicando 453 00:19:19,210 --> 00:19:21,130 ese tipo de dato es 454 00:19:21,130 --> 00:19:22,769 una cajita de enteros 455 00:19:22,769 --> 00:19:25,450 eso es lo que estoy indicando 456 00:19:25,450 --> 00:19:27,170 no un único número 457 00:19:27,170 --> 00:19:28,829 es decir, una caja de enteros 458 00:19:28,829 --> 00:19:30,990 y ahora, ¿qué nombre doy a la variable? 459 00:19:31,150 --> 00:19:32,470 como siempre, el que me dé la gana 460 00:19:32,470 --> 00:19:34,549 Cuanto más explicativo sea mejor 461 00:19:34,549 --> 00:19:36,430 Claro, pues yo que sé 462 00:19:36,430 --> 00:19:38,529 Por ejemplo, números, lo que yo quiera 463 00:19:38,529 --> 00:19:41,049 Ala 464 00:19:41,049 --> 00:19:44,170 Ya está declarada 465 00:19:44,170 --> 00:19:45,789 El array 466 00:19:45,789 --> 00:19:51,500 ¿Significa eso que la caja ya existe 467 00:19:51,500 --> 00:19:52,259 Y la pueda usar? 468 00:19:52,960 --> 00:19:53,480 No 469 00:19:53,480 --> 00:19:56,140 No significa eso 470 00:19:56,140 --> 00:19:58,200 ¿Por qué? 471 00:19:59,720 --> 00:20:00,440 Porque 472 00:20:00,440 --> 00:20:01,740 Un array 473 00:20:01,740 --> 00:20:03,440 En realidad 474 00:20:03,440 --> 00:20:05,900 es un objeto 475 00:20:05,900 --> 00:20:07,900 esta cuestión ya nos salió 476 00:20:07,900 --> 00:20:08,880 cuando vimos los string 477 00:20:08,880 --> 00:20:12,099 cuando vimos los string y declaramos una variable string 478 00:20:12,099 --> 00:20:14,019 os dije 479 00:20:14,019 --> 00:20:16,000 por ejemplo así 480 00:20:16,000 --> 00:20:18,000 os dije 481 00:20:18,000 --> 00:20:19,920 cuidado porque aunque la estamos usando 482 00:20:19,920 --> 00:20:21,259 como cualquier variable primitiva 483 00:20:21,259 --> 00:20:23,319 porque Java me lo permite por operatividad 484 00:20:23,319 --> 00:20:25,160 nombre igual a no sé qué 485 00:20:25,160 --> 00:20:26,480 pues realmente 486 00:20:26,480 --> 00:20:30,220 esto es una variable objeto 487 00:20:30,220 --> 00:20:33,819 ¿Y qué significa que una variable sea objeto? 488 00:20:34,380 --> 00:20:36,279 Pues significa que en realidad 489 00:20:36,279 --> 00:20:37,940 Esa variable 490 00:20:37,940 --> 00:20:39,480 Lo que realmente es 491 00:20:39,480 --> 00:20:41,880 Es una dirección de memoria 492 00:20:41,880 --> 00:20:44,140 Es lo que realmente es 493 00:20:44,140 --> 00:20:45,079 Una variable objeto 494 00:20:45,079 --> 00:20:47,039 Y esa dirección de memoria 495 00:20:47,039 --> 00:20:48,579 Te lleva 496 00:20:48,579 --> 00:20:51,500 Ahora ya sí 497 00:20:51,500 --> 00:20:54,079 A la parte de la memoria RAM 498 00:20:54,079 --> 00:20:55,039 Donde están los datos 499 00:20:55,039 --> 00:20:56,140 En el caso de string 500 00:20:56,140 --> 00:20:57,680 Pues a las letras 501 00:20:57,680 --> 00:21:00,059 ¿Vale? 502 00:21:00,220 --> 00:21:02,119 es decir, cuando tenemos un string 503 00:21:02,119 --> 00:21:04,759 realmente esto es lo que tenemos 504 00:21:04,759 --> 00:21:06,940 aunque nosotros esta parte 505 00:21:06,940 --> 00:21:08,599 no es transparente, ni la vemos 506 00:21:08,599 --> 00:21:10,460 hacemos nombre igual a hlc 507 00:21:10,460 --> 00:21:12,039 pues ya está, hlc va aquí 508 00:21:12,039 --> 00:21:14,619 pero en realidad ha ido a través de la dirección 509 00:21:14,619 --> 00:21:16,259 de memoria que es lo que está en nombre c 510 00:21:16,259 --> 00:21:17,799 ¿vale? esto lo recordáis 511 00:21:17,799 --> 00:21:19,220 es un momento, ¿no? 512 00:21:20,819 --> 00:21:22,660 bueno, pues a un array 513 00:21:22,660 --> 00:21:23,559 le pasa lo mismo 514 00:21:23,559 --> 00:21:26,140 a un array le pasa lo mismo 515 00:21:26,140 --> 00:21:27,059 que es un objeto 516 00:21:27,059 --> 00:21:35,279 luego, si 517 00:21:35,279 --> 00:21:40,470 si yo declaro un array así sin más 518 00:21:40,470 --> 00:21:42,329 lo único que tengo 519 00:21:42,329 --> 00:21:42,549 en 520 00:21:42,549 --> 00:21:47,619 lo único que tengo es esto 521 00:21:47,619 --> 00:21:49,140 tengo una variable 522 00:21:49,140 --> 00:21:51,519 que se llama números 523 00:21:51,519 --> 00:21:54,119 que realmente es una dirección 524 00:21:54,119 --> 00:21:54,720 de memoria 525 00:21:54,720 --> 00:21:57,839 esto es lo que es 526 00:21:57,839 --> 00:21:59,279 esto es lo que tengo 527 00:21:59,279 --> 00:22:02,240 porque es un objeto, luego es la dirección de memoria 528 00:22:02,240 --> 00:22:04,259 y esta dirección de memoria 529 00:22:04,259 --> 00:22:06,019 ya sí que 530 00:22:06,019 --> 00:22:08,299 me apunta a la caja 531 00:22:08,299 --> 00:22:11,359 con todas sus posiciones 532 00:22:11,359 --> 00:22:13,059 para guardar ahí 533 00:22:13,059 --> 00:22:14,619 todas las cositas 534 00:22:14,619 --> 00:22:16,220 ya me apunta a la caja 535 00:22:16,220 --> 00:22:19,160 pero claro, la caja 536 00:22:19,160 --> 00:22:20,859 cuando yo declaro esto 537 00:22:20,859 --> 00:22:22,759 la caja no existe todavía 538 00:22:22,759 --> 00:22:24,440 existe esto 539 00:22:24,440 --> 00:22:27,380 una dirección de memoria que apunta 540 00:22:27,380 --> 00:22:29,680 a algo que en algún momento 541 00:22:29,680 --> 00:22:30,519 si yo lo creo 542 00:22:30,519 --> 00:22:33,099 será una caja pero que ahora mismo no es nada 543 00:22:33,099 --> 00:22:34,339 aquí no hay nada 544 00:22:34,339 --> 00:22:35,940 es decir, apunta a qué 545 00:22:35,940 --> 00:22:39,160 apunta al famoso null 546 00:22:39,160 --> 00:22:40,880 que es la nada en java 547 00:22:40,880 --> 00:22:43,140 el java null significa 548 00:22:43,140 --> 00:22:44,240 memoria 549 00:22:44,240 --> 00:22:46,700 inalcanzable 550 00:22:46,700 --> 00:22:47,960 no hay nada, no hay alcanzable 551 00:22:47,960 --> 00:22:49,819 luego 552 00:22:49,819 --> 00:22:53,460 si yo hago 553 00:22:53,460 --> 00:22:55,079 simplemente 554 00:22:55,079 --> 00:22:55,740 esto 555 00:22:55,740 --> 00:22:58,200 de aquí arriba 556 00:22:58,200 --> 00:22:59,940 tengo esto 557 00:22:59,940 --> 00:23:02,980 todavía no me vale para guardar nada 558 00:23:02,980 --> 00:23:04,319 todavía no me vale para guardar nada 559 00:23:04,319 --> 00:23:05,940 luego, ¿qué es lo que tengo que hacer? 560 00:23:06,339 --> 00:23:08,359 imprescindible, tengo que hacer algo 561 00:23:08,359 --> 00:23:09,819 para ahora ya sí 562 00:23:09,819 --> 00:23:11,359 crear la caja 563 00:23:11,359 --> 00:23:13,779 y que ya deje de apuntar a null 564 00:23:13,779 --> 00:23:16,059 tengo que hacer algo para crear la caja 565 00:23:16,059 --> 00:23:18,240 es lo primero que tengo que hacer, imprescindible 566 00:23:18,240 --> 00:23:20,440 vale, ¿cómo creamos la caja? 567 00:23:21,519 --> 00:23:22,279 pues así 568 00:23:22,279 --> 00:23:24,380 a números le asigno 569 00:23:24,380 --> 00:23:25,420 y pongo aquí 570 00:23:25,420 --> 00:23:26,559 new 571 00:23:26,559 --> 00:23:30,559 que os suena de new scanner, new no sé qué 572 00:23:30,559 --> 00:23:32,579 que es lo que, pum, abre cosas 573 00:23:32,579 --> 00:23:33,859 de repente en memoria, pum 574 00:23:33,859 --> 00:23:36,819 pongo el tipo de dato 575 00:23:36,819 --> 00:23:37,539 que sea 576 00:23:37,539 --> 00:23:46,779 pongo el tipo de dato 577 00:23:46,779 --> 00:23:49,000 que haya puesto aquí 578 00:23:49,000 --> 00:23:50,880 y entre corchetes 579 00:23:50,880 --> 00:23:52,740 el tamaño 580 00:23:52,740 --> 00:23:54,359 que yo le quiero dar a la caja 581 00:23:54,359 --> 00:23:57,000 si, el mismo tipo 582 00:23:57,000 --> 00:23:57,779 que ya he puesto aquí 583 00:23:57,779 --> 00:24:00,220 si he puesto double, pues double 584 00:24:00,220 --> 00:24:01,900 lo que yo ya he puesto ahí 585 00:24:01,900 --> 00:24:04,640 y ahí tengo que poner algo obligatorio 586 00:24:04,640 --> 00:24:05,640 no lo puedo dejar en blanco 587 00:24:05,640 --> 00:24:08,279 tengo que poner un valor 588 00:24:08,279 --> 00:24:09,920 un valor, el que yo quiera 589 00:24:09,920 --> 00:24:12,099 imaginaos que pongo 10 590 00:24:12,099 --> 00:24:14,559 pues entonces 591 00:24:14,559 --> 00:24:16,940 habré creado una cajita 592 00:24:16,940 --> 00:24:19,460 1, 2, 3, 4, 5, 6, 7 593 00:24:19,460 --> 00:24:20,240 voy a poner 7 594 00:24:20,240 --> 00:24:21,339 y así 595 00:24:21,339 --> 00:24:25,259 habré creado una caja con 7 casillas 596 00:24:25,259 --> 00:24:26,720 ¿vale? 597 00:24:29,410 --> 00:24:29,890 entonces 598 00:24:29,890 --> 00:24:31,789 con esto 599 00:24:31,789 --> 00:24:33,990 hago la primera parte 600 00:24:33,990 --> 00:24:36,829 declarar la variable que tiene la dirección de memoria 601 00:24:36,829 --> 00:24:37,890 pero todavía no hay caja 602 00:24:37,890 --> 00:24:40,690 y con esto hago la segunda parte 603 00:24:40,690 --> 00:24:42,390 declarar 604 00:24:42,390 --> 00:24:43,569 la cajita 605 00:24:43,569 --> 00:24:51,029 ¿vale? declararla 606 00:24:51,029 --> 00:24:53,329 ahora ya existe, ya puedo meter cosas 607 00:24:53,329 --> 00:24:53,769 en ella 608 00:24:53,769 --> 00:24:57,529 recordad que aquí 609 00:24:57,529 --> 00:25:00,630 lo que se pone es esto mismo 610 00:25:00,630 --> 00:25:02,549 porque la caja puede ser de 611 00:25:02,549 --> 00:25:04,430 dabble, de float, de stream 612 00:25:04,430 --> 00:25:06,730 puede ser de stream, de cualquiera de los tipos 613 00:25:06,730 --> 00:25:07,410 que conocemos 614 00:25:07,410 --> 00:25:10,509 de cualquiera de ellos, yo pongo aquí 615 00:25:10,509 --> 00:25:11,910 lo mismo 616 00:25:11,910 --> 00:25:14,769 y, segunda parte 617 00:25:14,769 --> 00:25:16,849 recordad que esta cantidad 618 00:25:16,849 --> 00:25:18,529 es obligatoria 619 00:25:18,529 --> 00:25:20,450 no puedo ponerlo en blanco y no 620 00:25:20,450 --> 00:25:22,289 ahí hay que comprometerse ya 621 00:25:22,289 --> 00:25:23,930 hay que decir, esa caja 622 00:25:23,930 --> 00:25:25,730 va a tener 20 623 00:25:25,730 --> 00:25:28,529 y una vez que me he comprometido y he dicho que va a tener 20 624 00:25:28,529 --> 00:25:30,250 esa caja ya no se mueve 625 00:25:30,250 --> 00:25:32,329 va a ser para 20, es imposible 626 00:25:32,329 --> 00:25:34,529 hacerla más grande y es imposible encogerla 627 00:25:34,529 --> 00:25:36,549 va a ser para 20 el resto de su vida 628 00:25:36,549 --> 00:25:40,509 si deja de valerme, pues dejo de usarla 629 00:25:40,509 --> 00:25:42,269 y me creo otra 630 00:25:42,269 --> 00:25:43,289 20 números 631 00:25:43,289 --> 00:25:45,930 20 posiciones, habría espacio para 20 números 632 00:25:45,930 --> 00:25:47,950 aquí caben 7 números 633 00:25:47,950 --> 00:25:49,109 dime 634 00:25:49,109 --> 00:25:51,170 según me acuerdo, si no pones 20 números 635 00:25:51,170 --> 00:25:53,910 lo rellenas con 19 636 00:25:53,910 --> 00:25:54,609 ¿conseguiría? 637 00:25:55,349 --> 00:25:56,950 sí, lo que pasa es que en el último 638 00:25:56,950 --> 00:25:59,730 tienes el valor por defecto 639 00:25:59,730 --> 00:26:00,750 de los int que es 0 640 00:26:00,750 --> 00:26:03,670 pero si tú pones 7 641 00:26:03,670 --> 00:26:06,130 esta caja tiene automáticamente 642 00:26:06,130 --> 00:26:08,569 7 espacios 643 00:26:08,569 --> 00:26:09,309 vale 644 00:26:09,309 --> 00:26:11,690 ahora tú ya vas a guardar 645 00:26:11,690 --> 00:26:13,549 cosas ahí, pues para tenerlas 646 00:26:13,549 --> 00:26:15,750 ahí guardadas, para luego consultarlas 647 00:26:15,750 --> 00:26:17,569 para operar con ellas, lo que quieras 648 00:26:17,569 --> 00:26:19,670 ahora mismo, como no le hemos metido 649 00:26:19,670 --> 00:26:21,549 nada, pues la caja está 650 00:26:21,549 --> 00:26:23,650 indefinida, si tratamos de 651 00:26:23,650 --> 00:26:25,329 operar, la máquina virtual nos diría 652 00:26:25,329 --> 00:26:27,690 eh, variable, podría no haber nada 653 00:26:27,690 --> 00:26:28,750 ahí, claro que no hay nada 654 00:26:28,750 --> 00:26:31,549 hombre, por defecto 655 00:26:31,549 --> 00:26:33,390 sí que tiene algo, porque los bits no pueden 656 00:26:33,390 --> 00:26:35,789 ser indefinidos, entonces tendrá ceros 657 00:26:35,789 --> 00:26:37,410 porque un int 658 00:26:37,410 --> 00:26:39,529 si no, no le da nada, lo que tiene en memoria 659 00:26:39,529 --> 00:26:40,430 por defecto es un 0 660 00:26:40,430 --> 00:26:41,809 vale 661 00:26:41,809 --> 00:26:45,170 bueno, ya una vez que la caja ya está creada 662 00:26:45,170 --> 00:26:47,650 ahora ya uno puede acceder a sus 663 00:26:47,650 --> 00:26:49,910 posiciones según le da la gana 664 00:26:49,910 --> 00:26:51,750 ahora quiero esta, ahora quiero esta 665 00:26:51,750 --> 00:26:52,509 la que yo quiera 666 00:26:52,509 --> 00:26:55,630 vale, a cada posición 667 00:26:55,630 --> 00:26:57,750 cada casilla 668 00:26:57,750 --> 00:26:59,769 tiene una posición asociada 669 00:26:59,769 --> 00:27:01,769 la primera es la 0 670 00:27:01,769 --> 00:27:04,089 siempre, la primera es la 0 671 00:27:04,089 --> 00:27:05,710 1 672 00:27:05,710 --> 00:27:07,490 2, así en este caso 673 00:27:07,490 --> 00:27:08,230 hasta la 6 674 00:27:08,230 --> 00:27:12,869 ¿vale? luego cada casilla 675 00:27:12,869 --> 00:27:14,809 de la array tiene una posición asociada 676 00:27:14,809 --> 00:27:16,170 y la primera siempre es la 0 677 00:27:16,170 --> 00:27:18,789 que yo quiero asignar 678 00:27:18,789 --> 00:27:21,009 un 3, por ejemplo, en la posición 0 679 00:27:21,009 --> 00:27:22,650 pues ¿cómo accedo 680 00:27:22,650 --> 00:27:23,690 a cada posición? 681 00:27:25,269 --> 00:27:26,650 números, corchetes 682 00:27:26,650 --> 00:27:27,390 y la posición 683 00:27:27,390 --> 00:27:30,769 luego números, corchetes 684 00:27:30,769 --> 00:27:32,549 0, se refiere a esta casilla 685 00:27:32,549 --> 00:27:34,829 solamente, se refiere a esa 686 00:27:34,829 --> 00:27:36,789 luego si yo hago esto 687 00:27:36,789 --> 00:27:38,869 estoy metiendo un 7 ahí 688 00:27:38,869 --> 00:27:40,750 es como un char, ¿no? 689 00:27:41,750 --> 00:27:43,349 sí, es la misma idea 690 00:27:43,349 --> 00:27:44,430 porque de hecho un string 691 00:27:44,430 --> 00:27:46,710 está construido por debajo con un array 692 00:27:46,710 --> 00:27:48,910 lo que pasa es que está envuelto para que nos sea 693 00:27:48,910 --> 00:27:50,250 más fácil de usar 694 00:27:50,250 --> 00:27:52,029 ¿vale? 695 00:27:52,450 --> 00:27:54,089 que yo quiero acceder 696 00:27:54,089 --> 00:27:56,250 a la última posición 697 00:27:56,250 --> 00:27:58,769 pues números de 6 698 00:27:58,769 --> 00:28:00,710 igual a 5, me metería un 5 ahí 699 00:28:00,710 --> 00:28:02,809 puedo acceder 700 00:28:02,809 --> 00:28:04,829 a cada posición por separado, hacer lo que yo quiera 701 00:28:04,829 --> 00:28:07,170 automáticamente se me ha habilitado 702 00:28:07,170 --> 00:28:08,930 una caja con posiciones 703 00:28:08,930 --> 00:28:10,309 y ya está 704 00:28:10,309 --> 00:28:15,400 a ver, lo que normalmente hacemos es recorrerlo 705 00:28:15,400 --> 00:28:17,079 para verlas todas, rellenarlas todas 706 00:28:17,079 --> 00:28:19,039 pues lo puedo hacer en un form 707 00:28:19,039 --> 00:28:19,960 ¿vale? 708 00:28:20,880 --> 00:28:22,519 vamos a usar un array entonces 709 00:28:22,519 --> 00:28:25,619 para completar ese ejercicio que hemos hecho 710 00:28:25,619 --> 00:28:27,839 y ahora ya guardar las cifras 711 00:28:27,839 --> 00:28:28,720 las posiciones 712 00:28:28,720 --> 00:28:31,420 bueno, no, vamos a ver ejemplos 713 00:28:31,420 --> 00:28:32,900 antes de hacer eso para que no nos olvidemos 714 00:28:32,900 --> 00:28:35,960 vale, pues vamos a hacer 715 00:28:35,960 --> 00:28:37,859 Ejemplos con Arrays para que entendamos bien 716 00:28:37,859 --> 00:28:38,519 Cómo funciona 717 00:28:38,519 --> 00:28:57,859 Vale, a ver 718 00:28:57,859 --> 00:28:59,819 Necesitáis parar unos 719 00:28:59,819 --> 00:29:01,579 Segundos, minutos 720 00:29:01,579 --> 00:29:05,380 Sí, ahora lo vamos a 721 00:29:05,380 --> 00:29:06,119 Ejemplos 722 00:29:06,119 --> 00:29:11,799 47 minutos me quedan 723 00:29:11,799 --> 00:29:13,500 De batería 724 00:29:13,500 --> 00:29:18,859 Nada, no paramos 725 00:29:18,859 --> 00:29:22,470 bueno, es más que nada 726 00:29:22,470 --> 00:29:24,349 la grabación es larguísima