1 00:00:00,000 --> 00:00:28,160 Pues, dime, en el 19, partimos de esa premisa, asumimos que lo va a hacer así, vale, luego lo hacemos si queréis, venga, pues vamos al 9, vale, venga, el 9, que nos dice el 9, nos dice, dos arrays de 12, 2 00:00:30,000 --> 00:00:35,280 A ver, vamos a hacerlo para que en lugar de 12 sean del tamaño que me diga el usuario. 3 00:00:36,000 --> 00:00:37,740 ¿De qué tamaño quieres el array? 4 00:00:38,359 --> 00:00:39,079 De este. 5 00:00:39,920 --> 00:00:41,439 ¿Vale? Y así no es siempre 12. 6 00:00:41,920 --> 00:00:44,240 Bueno, pues dos arrays del tamaño que me diga el usuario. 7 00:00:44,380 --> 00:00:49,500 Vamos a hacer un tercero que vaya intercalándolos, pero de 3 en 3. 8 00:00:49,960 --> 00:00:50,179 ¿Vale? 9 00:00:50,500 --> 00:00:52,679 Sería la versión más complicada del 8. 10 00:00:52,799 --> 00:00:54,500 El 8 los va intercalando de 1 en 1. 11 00:00:55,259 --> 00:00:58,259 El 9 los va intercalando de 3 en 3. 12 00:00:58,259 --> 00:01:08,950 Pues venga, como vamos a pedirle al usuario datos por teclado, pues esto lo necesitamos 13 00:01:08,950 --> 00:01:16,239 Ahora, lo primero que le pedimos 14 00:01:16,239 --> 00:01:21,459 Lo primero que le pedimos es tamaño del array 15 00:01:21,459 --> 00:01:35,519 Para que el ejercicio tenga sentido, como es coger 3 de uno, 3 de otro, 3 de uno, 3 de otro 16 00:01:35,519 --> 00:01:39,599 Para que tenga sentido vamos a decirle que sea múltiplo de 3 17 00:01:39,599 --> 00:01:41,659 porque aquí en el enunciado original 18 00:01:41,659 --> 00:01:44,159 me daban ya un número 12 que es múltiplo de 3 19 00:01:44,159 --> 00:01:46,939 vamos a pedirle que sea múltiplo de 3 20 00:01:46,939 --> 00:01:48,540 ¿vale? para que tenga sentido 21 00:01:48,540 --> 00:01:51,079 tamaño del array múltiplo de 3 22 00:01:51,079 --> 00:01:57,310 y ya que estamos tuneando 23 00:01:57,310 --> 00:02:00,730 vamos a hacer una validación 24 00:02:00,730 --> 00:02:02,750 para asegurarnos de que realmente 25 00:02:02,750 --> 00:02:04,269 mete uno múltiplo de 3 26 00:02:04,269 --> 00:02:08,900 bueno, de hecho, aunque es una complejidad 27 00:02:08,900 --> 00:02:11,639 pues bueno, para seguir practicando sobre lo mismo 28 00:02:11,639 --> 00:02:13,979 vamos a validarlo de tal manera 29 00:02:13,979 --> 00:02:16,539 Que no solo validemos que es múltiplo de 3 30 00:02:16,539 --> 00:02:19,379 Sino que además me meta realmente una cifra 31 00:02:19,379 --> 00:02:22,060 Es decir, no me meta hola, ¿qué tal? 32 00:02:22,240 --> 00:02:23,960 Porque entonces me daría un error, ¿verdad? 33 00:02:24,419 --> 00:02:26,960 Entonces vamos a validar la entrada 34 00:02:26,960 --> 00:02:31,780 Validamos la entrada 35 00:02:31,780 --> 00:02:35,180 Para que sea número 36 00:02:35,180 --> 00:02:38,719 Y múltiplo de 3 37 00:02:38,719 --> 00:02:43,069 ¿Vale? 38 00:02:43,569 --> 00:02:44,949 Pues entonces, ¿qué significa eso? 39 00:02:45,629 --> 00:02:47,770 Este es el numerito n 40 00:02:47,770 --> 00:02:51,110 que va a ser el tamaño del array que le hemos pedido 41 00:02:51,110 --> 00:02:52,110 este es el numerito n 42 00:02:52,110 --> 00:02:54,870 y lo vamos a estar leyendo todo el rato 43 00:02:54,870 --> 00:02:55,550 mientras 44 00:02:55,550 --> 00:02:59,349 no cumpla la condición de 45 00:02:59,349 --> 00:03:03,750 ser número y múltiplo de 3 46 00:03:03,750 --> 00:03:05,349 entonces esta validación 47 00:03:05,349 --> 00:03:06,229 la podríamos hacer 48 00:03:06,229 --> 00:03:09,289 mientras n 49 00:03:09,289 --> 00:03:13,530 mientras n no sea número 50 00:03:13,530 --> 00:03:16,810 ¿cómo ponemos la condición de no ser número? 51 00:03:16,810 --> 00:03:18,069 No es tan fácil 52 00:03:18,069 --> 00:03:18,969 ¿Vale? 53 00:03:19,569 --> 00:03:21,069 Entonces vamos a poner aquí un boolean 54 00:03:21,069 --> 00:03:22,610 O sea, no es como múltiplo de 3 55 00:03:22,610 --> 00:03:23,969 Que la podemos poner aquí un boolean 56 00:03:23,969 --> 00:03:25,469 Es número 57 00:03:25,469 --> 00:03:26,330 ¿Vale? 58 00:03:26,789 --> 00:03:27,590 Es número 59 00:03:27,590 --> 00:03:28,310 Entonces 60 00:03:28,310 --> 00:03:30,169 Mientras n 61 00:03:30,169 --> 00:03:34,099 Mientras 62 00:03:34,099 --> 00:03:38,129 No sea número 63 00:03:38,129 --> 00:03:39,629 O 64 00:03:39,629 --> 00:03:42,389 Además de no ser número 65 00:03:42,389 --> 00:03:44,069 Espera, vamos a hacer en otro sentido 66 00:03:44,069 --> 00:03:47,490 Es que complico yo mucho la vida con esto 67 00:03:47,490 --> 00:03:49,569 Mientras n 68 00:03:49,569 --> 00:03:50,750 Siendo n 69 00:03:50,750 --> 00:03:52,870 el resultado de haber hecho la lectura 70 00:03:52,870 --> 00:03:55,069 mientras n mayúscula 71 00:03:55,069 --> 00:03:55,509 perdón 72 00:03:55,509 --> 00:03:59,129 siendo n el resultado de haber leído del teclado 73 00:03:59,129 --> 00:04:01,050 scan.nextint 74 00:04:01,050 --> 00:04:02,789 sea 75 00:04:02,789 --> 00:04:04,750 múltiplo 76 00:04:04,750 --> 00:04:06,409 no múltiplo de 3 77 00:04:06,409 --> 00:04:07,409 vale 78 00:04:07,409 --> 00:04:12,039 vale, vale, no es que lo estoy 79 00:04:12,039 --> 00:04:13,939 no, porque para validar que sea número 80 00:04:13,939 --> 00:04:15,560 tengo que leer con nextline 81 00:04:15,560 --> 00:04:17,620 vale, no, no lo puedo hacer en el mismo bucle 82 00:04:17,620 --> 00:04:20,379 vale, porque si lo leo con nextint 83 00:04:20,379 --> 00:04:21,480 y no es número 84 00:04:21,480 --> 00:04:23,220 me va a dar una excepción y separa el programa 85 00:04:23,220 --> 00:04:25,220 que no es lo que quiero, entonces 86 00:04:25,220 --> 00:04:28,860 vamos a leer el numerito, vale 87 00:04:28,860 --> 00:04:30,339 lo tenemos que leer con next line 88 00:04:30,339 --> 00:04:33,240 vale, n igual 89 00:04:33,240 --> 00:04:34,720 a scan punto 90 00:04:34,720 --> 00:04:37,139 next line, vale 91 00:04:37,139 --> 00:04:39,120 lo tenemos que leer así, porque 92 00:04:39,120 --> 00:04:40,879 si él me introduce hola 93 00:04:40,879 --> 00:04:42,959 por las buenas, y yo lo he leído 94 00:04:42,959 --> 00:04:44,860 con next in, el programa 95 00:04:44,860 --> 00:04:46,980 pararía y se detendría, y yo no quiero 96 00:04:46,980 --> 00:04:48,899 que pare y se detenga, yo quiero que 97 00:04:48,899 --> 00:04:50,540 él me pueda introducir cualquier cosa 98 00:04:50,540 --> 00:04:53,959 yo verificar si realmente me ha introducido un número 99 00:04:53,959 --> 00:04:57,079 múltiplo de 3, si me lo ha introducido 100 00:04:57,079 --> 00:04:59,639 sigo haciendo cosas y si no me lo ha introducido 101 00:04:59,639 --> 00:05:03,000 le vuelvo a pedir, vale, pues entonces lo tengo que leer con next line 102 00:05:03,000 --> 00:05:05,720 para que no se detenga, con lo cual esta 103 00:05:05,720 --> 00:05:08,759 declaración es string 104 00:05:08,759 --> 00:05:11,879 el dato leído 105 00:05:11,879 --> 00:05:14,160 vale, entonces 106 00:05:14,160 --> 00:05:17,620 vale, pues ahora 107 00:05:17,620 --> 00:05:19,860 vamos a ver si es número o no es número 108 00:05:19,860 --> 00:05:22,300 Para ver si es número o no es número 109 00:05:22,300 --> 00:05:24,120 Tengo que ir cifra por cifra 110 00:05:24,120 --> 00:05:26,339 Viendo si cada una 111 00:05:26,339 --> 00:05:27,779 De las cifras 112 00:05:27,779 --> 00:05:29,959 Cumple la condición de ser un número 113 00:05:29,959 --> 00:05:30,819 De la tablasti 114 00:05:30,819 --> 00:05:34,279 Entonces eso de nuevo es ver si algo ocurre o no ocurre 115 00:05:34,279 --> 00:05:35,839 Pues boolean 116 00:05:35,839 --> 00:05:36,660 Es número 117 00:05:36,660 --> 00:05:39,779 Yo parto de partida que es igual a true 118 00:05:39,779 --> 00:05:41,079 Que todas son cifras 119 00:05:41,079 --> 00:05:43,420 Y voy a ver ahora si encuentro un contraejemplo 120 00:05:43,420 --> 00:05:45,420 Pues me voy a ir 121 00:05:45,420 --> 00:05:47,100 Por todas las 122 00:05:47,100 --> 00:05:49,779 Posiciones 123 00:05:49,779 --> 00:05:51,519 del string, desde i igual a 0 124 00:05:51,519 --> 00:05:53,360 mientras i sea menor que dato 125 00:05:53,360 --> 00:05:54,779 leído 126 00:05:54,779 --> 00:05:57,779 punto leed 127 00:05:57,779 --> 00:06:01,980 incrementando i 128 00:06:01,980 --> 00:06:03,740 vale, para todos y cada una 129 00:06:03,740 --> 00:06:06,079 si alguno de los 130 00:06:06,079 --> 00:06:07,420 char en esa posición 131 00:06:07,420 --> 00:06:09,800 si alguno de los char 132 00:06:09,800 --> 00:06:13,579 en la posición i 133 00:06:13,579 --> 00:06:16,040 resulta que no cumple 134 00:06:16,040 --> 00:06:17,439 la condición de ser cifra 135 00:06:17,439 --> 00:06:19,220 ya es número y lo puedo poner a falso 136 00:06:19,220 --> 00:06:20,620 y esa condición cual será 137 00:06:20,620 --> 00:06:24,879 la de, tendremos que abrir la tabla ASTI 138 00:06:24,879 --> 00:06:28,980 vale, aquí es 48 y 57 139 00:06:28,980 --> 00:06:32,639 entre 48 y 57, vale, pues la condición sería 140 00:06:32,639 --> 00:06:37,079 si es menor que 48 141 00:06:37,079 --> 00:06:42,759 o es mayor 142 00:06:42,759 --> 00:06:44,079 que 57 143 00:06:44,079 --> 00:06:58,379 o es mayor que 144 00:06:58,379 --> 00:07:00,180 57 145 00:07:00,180 --> 00:07:03,459 pues entonces ya sé que automáticamente 146 00:07:03,459 --> 00:07:05,519 la cifra 147 00:07:05,519 --> 00:07:07,399 en esa posición no es un 148 00:07:07,399 --> 00:07:09,240 número realmente, o sea el carácter 149 00:07:09,240 --> 00:07:11,399 perdón, el carácter de esa posición no es una cifra 150 00:07:11,399 --> 00:07:13,579 con lo cual ya puedo concluir 151 00:07:13,579 --> 00:07:15,000 que es 152 00:07:15,000 --> 00:07:16,160 número 153 00:07:16,160 --> 00:07:18,920 perdón, que es número aquí 154 00:07:18,920 --> 00:07:23,899 vale, que es número 155 00:07:23,899 --> 00:07:25,639 es igual a falso 156 00:07:25,639 --> 00:07:26,439 vale 157 00:07:26,439 --> 00:07:29,959 pero no es lo único que tengo que validar 158 00:07:29,959 --> 00:07:31,620 tengo que validar 159 00:07:31,620 --> 00:07:33,500 que además sea múltiplo de 3 160 00:07:33,500 --> 00:07:35,519 entonces ahora ya sí que puedo arrancar el bucle 161 00:07:35,519 --> 00:07:37,720 entonces, mientras 162 00:07:37,720 --> 00:07:39,420 esto 163 00:07:39,420 --> 00:07:40,939 no sea número 164 00:07:40,939 --> 00:07:45,189 o 165 00:07:45,189 --> 00:07:48,829 o siendo número 166 00:07:48,829 --> 00:07:50,509 ¿vale? 167 00:07:53,579 --> 00:07:54,839 o siendo número 168 00:07:54,839 --> 00:07:57,040 no sea múltiplo de 3 169 00:07:57,040 --> 00:07:58,959 ¿vale? ¿cómo puedo comprobar si es 170 00:07:58,959 --> 00:07:59,759 múltiplo de 3? 171 00:08:00,800 --> 00:08:03,100 ¿vale? pues el dato leído 172 00:08:03,100 --> 00:08:04,699 ¿cómo lo puedo convertir a entero? 173 00:08:04,699 --> 00:08:06,399 con el integer parse in, ¿verdad? 174 00:08:07,839 --> 00:08:09,040 Con el par 0. 175 00:08:09,779 --> 00:08:12,360 Pues si el par 0, si no es número, 176 00:08:12,899 --> 00:08:14,319 o siendo número, 177 00:08:15,480 --> 00:08:17,360 aquí pongo el doble or, 178 00:08:17,540 --> 00:08:20,420 para que entre aquí solo si este es true, 179 00:08:20,959 --> 00:08:21,839 o siendo número, 180 00:08:22,259 --> 00:08:25,040 si yo hago el resto de dividirlo entre 3, 181 00:08:25,620 --> 00:08:27,560 resulta que es diferente de 0, 182 00:08:29,180 --> 00:08:29,959 pues entonces, 183 00:08:30,560 --> 00:08:32,460 si esto no ocurre, 184 00:08:32,460 --> 00:08:34,860 Tengo que volver a pedir el número otra vez 185 00:08:34,860 --> 00:08:36,360 Voy aquí 186 00:08:36,360 --> 00:08:37,460 Este mensajito 187 00:08:37,460 --> 00:08:42,799 No, no, no 188 00:08:42,799 --> 00:08:44,460 Esto ha sido por introducir 189 00:08:44,460 --> 00:08:46,879 Una validación por practicar con más cosas 190 00:08:46,879 --> 00:08:48,740 Porque el programa era 191 00:08:48,740 --> 00:08:49,419 12 192 00:08:49,419 --> 00:08:52,460 Yo aquí le voy a pedir el número para que el tamaño 193 00:08:52,460 --> 00:08:54,279 De la raíz sea un número personalizado 194 00:08:54,279 --> 00:08:56,259 Pero voy a validar 195 00:08:56,259 --> 00:08:58,779 Que sea realmente un número 196 00:08:58,779 --> 00:09:00,480 Y múltiplo de 3 197 00:09:00,480 --> 00:09:02,399 Para introducirle eso y así podemos hacer 198 00:09:02,399 --> 00:09:03,379 Hacemos más cosas 199 00:09:03,379 --> 00:09:05,340 Vale, pues entonces 200 00:09:05,340 --> 00:09:08,059 Introduzca número, vale, pues 201 00:09:08,059 --> 00:09:08,559 Si 202 00:09:08,559 --> 00:09:10,879 He entrado en el while 203 00:09:10,879 --> 00:09:14,100 Es porque necesito pedir el número 204 00:09:14,100 --> 00:09:14,580 Otra vez 205 00:09:14,580 --> 00:09:17,840 Pues entonces vuelvo a pedir el número 206 00:09:17,840 --> 00:09:20,259 Y me vuelvo a hacer 207 00:09:20,259 --> 00:09:21,159 La condición 208 00:09:21,159 --> 00:09:23,519 Aquí para 209 00:09:23,519 --> 00:09:25,279 Si es número o no 210 00:09:25,279 --> 00:09:27,240 Entonces todo esto otra vez 211 00:09:27,240 --> 00:09:28,539 Me lo tengo que copiar y pegar 212 00:09:28,539 --> 00:09:30,480 Entonces 213 00:09:30,480 --> 00:09:34,220 Un rollo porque 214 00:09:34,220 --> 00:09:37,059 no sabemos hacer métodos 215 00:09:37,059 --> 00:09:38,519 auxiliares, cuando sepamos hacerlo 216 00:09:38,519 --> 00:09:40,899 estos códigos van a ser infinitamente 217 00:09:40,899 --> 00:09:42,519 más claros 218 00:09:42,519 --> 00:09:47,059 entonces, fijaos, todo lo que he hecho 219 00:09:47,059 --> 00:09:48,500 solo para validar que 220 00:09:48,500 --> 00:09:50,399 esta cadena que 221 00:09:50,399 --> 00:09:51,700 he metido 222 00:09:51,700 --> 00:09:54,600 sea una sucesión 223 00:09:54,600 --> 00:09:56,379 de cifras y además múltiplo de 3 224 00:09:56,379 --> 00:09:59,620 entonces lo primero es 225 00:09:59,620 --> 00:10:02,419 he verificado a ver si es una sucesión de cifras 226 00:10:02,419 --> 00:10:04,200 con este código 227 00:10:04,200 --> 00:10:05,539 este es más fácil de entender 228 00:10:05,539 --> 00:10:08,480 de partida asumo que sí, que es una sucesión 229 00:10:08,480 --> 00:10:10,179 de cifras, ahora voy 230 00:10:10,179 --> 00:10:12,440 una por una, en cuanto alguna de ellas 231 00:10:12,440 --> 00:10:14,000 se convierta en contraejemplo 232 00:10:14,000 --> 00:10:15,259 asumo que esto es falso 233 00:10:15,259 --> 00:10:17,139 y ahora 234 00:10:17,139 --> 00:10:20,200 me meto en el bucle, mientras no sea 235 00:10:20,200 --> 00:10:21,559 número o 236 00:10:21,559 --> 00:10:23,179 siendo número 237 00:10:23,179 --> 00:10:26,279 al convertirlo a entero me de múltiplo de 3 238 00:10:26,279 --> 00:10:28,220 diferente de 0, entras otra vez 239 00:10:28,220 --> 00:10:30,139 y al entrar, ¿qué vas a hacer? 240 00:10:30,600 --> 00:10:31,799 volver a pedir el número 241 00:10:31,799 --> 00:10:33,720 y volver a mirarme 242 00:10:33,720 --> 00:10:34,799 si es número o no 243 00:10:34,799 --> 00:10:42,450 entonces, este código 244 00:10:42,450 --> 00:10:44,350 solo para validar, cuando salga del while 245 00:10:44,350 --> 00:10:46,470 es porque ambas son falsas 246 00:10:47,309 --> 00:10:48,350 es decir 247 00:10:48,350 --> 00:10:49,509 porque 248 00:10:49,509 --> 00:10:52,629 lo que yo acabo de leer aquí en dato leído 249 00:10:52,629 --> 00:10:54,590 ha cumplido que esto es true 250 00:10:54,590 --> 00:10:55,409 luego es un número 251 00:10:55,409 --> 00:10:58,590 y además es múltiplo de 3 252 00:10:58,590 --> 00:11:00,850 cuando las dos sean falsas 253 00:11:00,850 --> 00:11:02,090 es cuando va a salir del while 254 00:11:02,090 --> 00:11:03,389 cuando las dos sean falsas 255 00:11:03,389 --> 00:11:08,909 entonces esto es 256 00:11:08,909 --> 00:11:11,309 un buen ejemplo 257 00:11:11,309 --> 00:11:13,909 de la importancia 258 00:11:13,909 --> 00:11:15,309 de usar 259 00:11:15,309 --> 00:11:17,350 el doble AND 260 00:11:17,350 --> 00:11:18,250 o el simple AND 261 00:11:18,250 --> 00:11:20,730 este es un buen ejemplo estupendo 262 00:11:20,730 --> 00:11:23,490 si yo aquí pongo un simple AND 263 00:11:23,490 --> 00:11:26,210 pongo una simple barrita 264 00:11:26,210 --> 00:11:27,730 él va a evaluar 265 00:11:27,730 --> 00:11:28,590 las dos siempre 266 00:11:28,590 --> 00:11:30,870 entonces imaginaos que esta le ha dado 267 00:11:30,870 --> 00:11:33,330 true, si le ha dado true 268 00:11:33,330 --> 00:11:35,990 significa que eso no es 269 00:11:35,990 --> 00:11:37,090 una sucesión de cifras 270 00:11:37,090 --> 00:11:39,129 porque no es 271 00:11:39,129 --> 00:11:40,990 número, legado a true no es una sucesión 272 00:11:40,990 --> 00:11:42,990 de cifras, entonces como aquí 273 00:11:42,990 --> 00:11:45,009 hay solo una barrita, aunque el or 274 00:11:45,009 --> 00:11:46,750 ya sé que va a ser true sí o sí 275 00:11:46,750 --> 00:11:48,809 porque true, or, lo que sea 276 00:11:48,809 --> 00:11:51,049 es true, ya lo sé, pues al haber 277 00:11:51,049 --> 00:11:53,169 solo una barrita, evalúa la segunda 278 00:11:53,169 --> 00:11:55,129 cláusula igualmente, porque hay solo una 279 00:11:55,129 --> 00:11:57,330 pues al evaluar la segunda cláusula 280 00:11:57,330 --> 00:11:58,809 resulta que el integer 281 00:11:58,809 --> 00:12:00,549 cuando tú le das una cadena 282 00:12:00,549 --> 00:12:02,950 que no es una sucesión de cifras, pum 283 00:12:02,950 --> 00:12:05,029 te peta y te para la aplicación 284 00:12:05,029 --> 00:12:06,970 porque te dice no puedo convertir eso entero 285 00:12:06,970 --> 00:12:08,669 porque me has pasado hola que tal 286 00:12:08,669 --> 00:12:09,450 y eso no puedo 287 00:12:09,450 --> 00:12:13,029 entonces aquí fundamental 288 00:12:13,029 --> 00:12:15,009 aquí si tiene una trascendencia 289 00:12:15,009 --> 00:12:17,190 crítica, poner las dos 290 00:12:17,190 --> 00:12:19,110 barras, porque cuando no es 291 00:12:19,110 --> 00:12:20,950 un número, es decir, cuando esto ya es true 292 00:12:20,950 --> 00:12:22,850 yo no quiero que haga esto jamás 293 00:12:22,850 --> 00:12:24,789 porque si lo hiciera el programa pararía 294 00:12:24,789 --> 00:12:25,970 porque habría una excepción 295 00:12:25,970 --> 00:12:29,309 entonces aquí tengo que poner las dos 296 00:12:29,309 --> 00:12:31,190 para que en el caso de que 297 00:12:31,190 --> 00:12:33,190 esto no sea un número, esto ya ni lo 298 00:12:33,190 --> 00:12:34,610 mire, esto ya ni lo mires 299 00:12:34,610 --> 00:12:36,210 Porque si tratas de mirar 300 00:12:36,210 --> 00:12:38,029 Si hola es múltiplo de 3 301 00:12:38,029 --> 00:12:39,610 Es imposible, te voy a parar el programa 302 00:12:39,610 --> 00:12:42,230 Entonces, si esto es true 303 00:12:42,230 --> 00:12:43,490 Esto ni lo mires 304 00:12:43,490 --> 00:12:44,529 ¿Vale? 305 00:12:45,529 --> 00:12:46,870 Luego aquí no tenemos elección 306 00:12:46,870 --> 00:12:48,970 Tenemos que poner doble barra, no hay elección 307 00:12:48,970 --> 00:12:50,049 Esto no es 308 00:12:50,049 --> 00:12:56,950 Esto no es 309 00:12:56,950 --> 00:12:58,789 Mientras no sea múltiplo de 3 310 00:12:58,789 --> 00:13:04,289 No, porque tú sigues pidiéndolo 311 00:13:04,289 --> 00:13:05,590 Mientras no sea número 312 00:13:05,590 --> 00:13:07,330 mientras no sea número 313 00:13:07,330 --> 00:13:08,610 mira si es múltiplo de 3 314 00:13:08,610 --> 00:13:11,250 no, no, no, mientras no sea número 315 00:13:11,250 --> 00:13:13,250 o siendo número 316 00:13:13,250 --> 00:13:15,470 no sea múltiplo de 3, vuelves a entrar 317 00:13:15,470 --> 00:13:17,549 entonces, cuando no sea 318 00:13:17,549 --> 00:13:19,429 número, esto entero 319 00:13:19,429 --> 00:13:21,370 ya es true, entonces al ser 320 00:13:21,370 --> 00:13:23,549 true, la segunda parte ni te la evalúa 321 00:13:23,549 --> 00:13:25,190 porque true or 322 00:13:25,190 --> 00:13:27,330 lo que sea es true, me da 323 00:13:27,330 --> 00:13:29,029 igual que la segunda parte sea falso o true 324 00:13:29,029 --> 00:13:31,490 el or final va a ser true 325 00:13:31,490 --> 00:13:33,210 con lo cual, si esto es true 326 00:13:33,210 --> 00:13:35,370 y esto es el negado 327 00:13:35,370 --> 00:13:37,809 de ser número, es decir, cuando no lo sea 328 00:13:37,809 --> 00:13:39,809 ya no va a entrar 329 00:13:39,809 --> 00:13:40,809 en la segunda parte de Lord 330 00:13:40,809 --> 00:13:43,470 que es lo que queremos, que no entre si no es número 331 00:13:43,470 --> 00:13:45,610 porque cómo va a convertir a entero 332 00:13:45,610 --> 00:13:46,970 algo que no es número, no podría 333 00:13:46,970 --> 00:13:48,710 ¿vale? 334 00:13:49,870 --> 00:13:51,690 entonces cuando cualquiera de las dos 335 00:13:51,690 --> 00:13:53,929 se da, cualquiera de las dos 336 00:13:53,929 --> 00:13:55,649 porque podría ser número, con lo cual 337 00:13:55,649 --> 00:13:57,129 esto es falso, porque es un numerito 338 00:13:57,129 --> 00:13:58,970 entonces sí que entraría aquí 339 00:13:58,970 --> 00:14:01,830 porque esta es falsa, luego Lord depende ya de la segunda 340 00:14:01,830 --> 00:14:02,230 parte 341 00:14:02,230 --> 00:14:05,570 convertiría y no habría problema 342 00:14:05,570 --> 00:14:07,289 porque ha sido número, porque de hecho 343 00:14:07,289 --> 00:14:08,970 esto ha sido falso, convertiría 344 00:14:08,970 --> 00:14:11,250 y al no ser múltiplo de 3 345 00:14:11,250 --> 00:14:13,070 pues seguiría siendo falso 346 00:14:13,070 --> 00:14:15,490 la agregada, entraría en el while 347 00:14:15,490 --> 00:14:16,809 a pedir el siguiente, etc 348 00:14:16,809 --> 00:14:19,350 bueno, pues todo esto solo 349 00:14:19,350 --> 00:14:20,629 es para hacer la validación 350 00:14:20,629 --> 00:14:22,370 si esto que yo he leído 351 00:14:22,370 --> 00:14:25,129 es una sucesión de cifras que además 352 00:14:25,129 --> 00:14:26,429 compone un número entero o no 353 00:14:26,429 --> 00:14:30,789 vale, cuando yo 354 00:14:30,789 --> 00:14:31,750 he salido ya del while 355 00:14:31,750 --> 00:14:33,830 Ahora ya sí que sí 356 00:14:33,830 --> 00:14:37,889 Me hago mi tamaño del array 357 00:14:37,889 --> 00:14:40,350 Con el parseador ese maravilloso 358 00:14:40,350 --> 00:14:43,129 ¿Cómo lo llamáis? 359 00:14:43,830 --> 00:14:45,110 Con el parsero 360 00:14:45,110 --> 00:14:52,159 Pues ya el parsero 361 00:14:52,159 --> 00:14:54,039 Nos ha convertido 362 00:14:54,039 --> 00:14:56,639 La cadena leída a entero 363 00:14:56,639 --> 00:14:58,340 Y ahora yo ya 364 00:14:58,340 --> 00:15:01,019 Como aquí ya hay un código medio raro 365 00:15:01,019 --> 00:15:02,759 Ya largo, tendría sentido 366 00:15:02,759 --> 00:15:04,639 Hacer unas primeras pruebas 367 00:15:04,639 --> 00:15:06,820 Porque aquí podemos haberla cagado 368 00:15:06,820 --> 00:15:09,080 Vamos a hacer unas primeras pruebas 369 00:15:09,080 --> 00:15:10,879 A ver si realmente el programa 370 00:15:10,879 --> 00:15:12,799 Me está todo el rato pidiendo el número 371 00:15:12,799 --> 00:15:13,899 Mientras no sea 372 00:15:13,899 --> 00:15:16,179 Y no se llega a parar nunca 373 00:15:16,179 --> 00:15:19,299 Vamos a probarlo porque no las tengo todas conmigo 374 00:15:19,299 --> 00:15:20,799 Que no hayamos escrito aquí algo mal 375 00:15:20,799 --> 00:15:22,460 Más, me voy a dar mal 376 00:15:22,460 --> 00:15:23,120 Jolín 377 00:15:23,120 --> 00:15:24,740 A ver 378 00:15:24,740 --> 00:15:27,059 Vamos a ponerle aquí 379 00:15:27,059 --> 00:15:31,080 El tamaño de la raíz 380 00:15:31,840 --> 00:15:32,419 Será 381 00:15:32,419 --> 00:15:34,860 El numerito este 382 00:15:34,860 --> 00:15:37,019 que me han pedido que será múltiplo de 3 383 00:15:37,019 --> 00:15:39,100 venga 384 00:15:39,100 --> 00:15:40,220 lo ejecutamos 385 00:15:40,220 --> 00:15:49,720 tamaño de la raíz, introduzca número 4 386 00:15:49,720 --> 00:15:51,460 me sigue pidiendo 387 00:15:51,460 --> 00:15:52,399 pero no es múltiplo de 3 388 00:15:52,399 --> 00:15:54,980 y me sigue pidiendo 389 00:15:54,980 --> 00:15:57,399 efectivamente yo le he metido algo que es una cadena 390 00:15:57,399 --> 00:15:59,019 y tampoco le gusta 391 00:15:59,019 --> 00:16:00,860 introduzca número 392 00:16:00,860 --> 00:16:02,460 87 393 00:16:02,460 --> 00:16:05,200 pues 87 es múltiplo de 3 394 00:16:05,200 --> 00:16:07,399 vale, con lo cual 395 00:16:07,399 --> 00:16:09,279 ya si que se ha quedado con el 87 396 00:16:09,279 --> 00:16:12,580 Vale, pues esta primera validación parece que funciona 397 00:16:12,580 --> 00:16:14,940 Está así todo el rato mientras yo le meta algo 398 00:16:14,940 --> 00:16:19,500 Que es o cadena o número diferente de múltiplo de 3 399 00:16:19,500 --> 00:16:23,360 Vale, pues ahora ya sí que hacemos el ejercicio sí o sí 400 00:16:23,360 --> 00:16:25,600 Vamos a declararnos los arrays 401 00:16:25,600 --> 00:16:28,580 Los arrays originales de partida 402 00:16:28,580 --> 00:16:31,240 Array 1 403 00:16:31,240 --> 00:16:33,740 Que será new int 404 00:16:33,740 --> 00:16:36,899 De N mayúscula 405 00:16:36,899 --> 00:16:40,919 Array 2 406 00:16:40,919 --> 00:16:43,399 que será 407 00:16:43,399 --> 00:16:46,639 un new int 408 00:16:46,639 --> 00:16:48,740 de n mayúscula 409 00:16:48,740 --> 00:16:50,279 y el resultado 410 00:16:50,279 --> 00:16:52,059 lo pongo aquí abajo 411 00:16:52,059 --> 00:16:54,039 que será 412 00:16:54,039 --> 00:16:55,879 un array 413 00:16:55,879 --> 00:16:58,259 de el doble 414 00:16:58,259 --> 00:17:00,919 vamos cogiendo 415 00:17:00,919 --> 00:17:02,080 3 de cada uno 416 00:17:02,080 --> 00:17:03,840 tendrá el agregado de todos 417 00:17:03,840 --> 00:17:06,099 pues el resultado va a ser 418 00:17:06,099 --> 00:17:08,099 de 2 por n 419 00:17:08,099 --> 00:17:10,380 uy que tontería hago aquí 420 00:17:10,380 --> 00:17:12,619 resultado igual a 421 00:17:12,619 --> 00:17:13,660 new int 422 00:17:13,660 --> 00:17:16,039 de 2 por n 423 00:17:16,039 --> 00:17:18,599 vale 424 00:17:18,599 --> 00:17:26,200 y ahora ya es cuando 425 00:17:26,200 --> 00:17:27,339 podemos pensar 426 00:17:27,339 --> 00:17:29,200 como hacemos esto 427 00:17:29,200 --> 00:17:33,380 vale pues 428 00:17:33,380 --> 00:17:34,460 a ver 429 00:17:34,460 --> 00:17:40,500 si 430 00:17:40,500 --> 00:17:50,289 vale pues como lo habéis 431 00:17:50,289 --> 00:17:51,210 pensado vosotros 432 00:17:51,210 --> 00:17:53,309 imagino que muchos lo habéis hecho ya 433 00:17:53,309 --> 00:17:58,130 Claro, pues 434 00:17:58,130 --> 00:18:02,599 Hay muchas posibilidades 435 00:18:02,599 --> 00:18:03,500 Supongo 436 00:18:03,500 --> 00:18:08,400 3, 4, 5, 6 437 00:18:08,400 --> 00:18:09,680 Aquí tenemos el otro 438 00:18:09,680 --> 00:18:13,880 ¿Vale? 439 00:18:15,259 --> 00:18:16,660 Y el 440 00:18:16,660 --> 00:18:19,220 Resultante 441 00:18:19,220 --> 00:18:20,359 Bueno, espera, vamos a poner 442 00:18:20,359 --> 00:18:23,279 La pizarra 443 00:18:23,279 --> 00:18:24,160 Normal 444 00:18:24,160 --> 00:18:26,140 Que ahí no se ve muy bien 445 00:18:26,140 --> 00:18:32,220 Vale, la pizarrita 446 00:18:32,220 --> 00:18:32,900 Bueno 447 00:18:32,900 --> 00:18:35,279 Así más bonito 448 00:18:35,279 --> 00:18:39,200 1, 2, 3, 4, 5, 6 449 00:18:39,200 --> 00:18:44,940 Esta 450 00:18:44,940 --> 00:18:48,359 Y ahora 451 00:18:48,359 --> 00:18:50,480 El resultante que tiene el doble 452 00:18:50,480 --> 00:18:58,480 Bueno, pues como lo habéis 453 00:18:58,480 --> 00:19:00,339 Planteado, que es lo que habéis hecho 454 00:19:00,339 --> 00:19:01,220 Los que lo habéis hecho 455 00:19:01,220 --> 00:19:03,160 Primero 456 00:19:03,160 --> 00:19:04,779 Hay que ir 457 00:19:04,779 --> 00:19:06,839 Haciendo tres posiciones en cada 458 00:19:06,839 --> 00:19:07,339 Claro 459 00:19:07,339 --> 00:19:17,500 A ver 460 00:19:17,500 --> 00:19:22,279 Podríamos, el tema es en el for que hagáis 461 00:19:22,279 --> 00:19:23,299 El for que hagamos 462 00:19:23,299 --> 00:19:24,779 El i del for 463 00:19:24,779 --> 00:19:27,339 Que va a ir recorriendo 464 00:19:27,339 --> 00:19:29,500 Si las posiciones del de abajo 465 00:19:29,500 --> 00:19:31,460 O las posiciones de los de arriba 466 00:19:31,460 --> 00:19:33,500 Y se van generando las de abajo multiplicando 467 00:19:33,500 --> 00:19:35,960 Si va recorriendo las de arriba 468 00:19:35,960 --> 00:19:53,460 Para i igual a 0 tendrá que generar la 0, la 1 y la 2 del de arriba, de la raíz primero 469 00:19:53,460 --> 00:20:05,440 Y para i igual a 1 tiene que generar la 0, la 1 y la 2 de la raíz segunda 470 00:20:05,440 --> 00:20:12,720 para i igual a 0 471 00:20:12,720 --> 00:20:15,019 copia esta y esta 472 00:20:15,019 --> 00:20:16,920 entonces seguimos en i igual a 0 473 00:20:16,920 --> 00:20:19,279 para i igual a 0 474 00:20:19,279 --> 00:20:20,920 tiene que generar 475 00:20:20,920 --> 00:20:23,339 la 0, la 1 y la 2 de la raíz 476 00:20:23,339 --> 00:20:25,140 segunda, copiarlo donde 477 00:20:25,140 --> 00:20:26,460 si, perdón 478 00:20:26,460 --> 00:20:29,799 0, 1 y 2 479 00:20:29,799 --> 00:20:31,019 a la 0, 1 y 2 480 00:20:31,019 --> 00:20:33,059 y la 0, 1 y 2 481 00:20:33,059 --> 00:20:35,319 a la 3, 4 482 00:20:35,319 --> 00:20:35,920 y 5 483 00:20:35,920 --> 00:20:39,039 la 0, 1 y 2 484 00:20:39,039 --> 00:20:40,119 de la raíz de arriba 485 00:20:40,119 --> 00:20:41,619 la 0, 1 y 2 de este 486 00:20:41,619 --> 00:20:44,119 y la 0, 1 y 2 de este 487 00:20:44,119 --> 00:20:45,519 que estos van en paralelo 488 00:20:45,519 --> 00:20:48,859 te generas este multiplicado por 3 489 00:20:48,859 --> 00:20:50,000 y a sus consecutivas 490 00:20:50,000 --> 00:20:52,319 entonces es una posibilidad 491 00:20:52,319 --> 00:20:53,980 ir recorriendo 492 00:20:53,980 --> 00:20:57,059 los a raíz de arriba de 3 en 3 493 00:20:57,059 --> 00:20:58,420 esta 494 00:20:58,420 --> 00:21:00,759 luego ya salta 0, 1, 2 495 00:21:00,759 --> 00:21:01,640 saltas a la 3 496 00:21:01,640 --> 00:21:04,059 luego ya saltas, ahora vas recorriendo de 3 en 3 497 00:21:04,059 --> 00:21:06,680 3, 4, 5, saltas a las 6 498 00:21:06,680 --> 00:21:07,839 vas recorriendo de 3 en 3 499 00:21:07,839 --> 00:21:10,819 vas recorriendo los arrays de arriba 500 00:21:10,819 --> 00:21:11,579 de 3 en 3 501 00:21:11,579 --> 00:21:14,299 y ahora ya, para cada posición en la que te paras 502 00:21:14,299 --> 00:21:17,079 haces 3 copias 503 00:21:17,079 --> 00:21:18,680 y lo que tienes es que 504 00:21:18,680 --> 00:21:20,359 generar donde lo vas copiando 505 00:21:20,359 --> 00:21:22,640 pues vas copiando 506 00:21:22,640 --> 00:21:24,579 en la que es del 507 00:21:24,579 --> 00:21:25,480 de array de arriba 508 00:21:25,480 --> 00:21:28,920 la que estás y del de array de abajo 509 00:21:28,920 --> 00:21:30,859 en el que 510 00:21:30,859 --> 00:21:32,380 estás, pero el de 511 00:21:32,380 --> 00:21:35,079 la raíz de abajo, le sumas 3 512 00:21:35,079 --> 00:21:35,740 más 513 00:21:35,740 --> 00:21:37,900 me he explicado fatal, pero bueno 514 00:21:37,900 --> 00:21:41,039 sabéis a lo que me refiero, aunque me he explicado 515 00:21:41,039 --> 00:21:42,339 de pena, entonces 516 00:21:42,339 --> 00:21:43,819 vamos a intentar hacerlo 517 00:21:43,819 --> 00:21:46,700 más o menos con la idea esa, ir recorriendo 518 00:21:46,700 --> 00:21:48,259 de 3 en 3 519 00:21:48,259 --> 00:21:49,859 y en cada parada 520 00:21:49,859 --> 00:21:52,859 pues tengo que decidir 521 00:21:52,859 --> 00:21:54,220 donde me toca del de abajo 522 00:21:54,220 --> 00:21:56,619 hacer las 6 copias 523 00:21:56,619 --> 00:21:57,319 que tengo que hacer 524 00:21:57,319 --> 00:21:59,559 a ver 525 00:21:59,559 --> 00:22:03,460 Las 6 copias, 3 de cada uno 526 00:22:03,460 --> 00:22:09,950 Bueno 527 00:22:09,950 --> 00:22:12,750 Pues entonces 528 00:22:12,750 --> 00:22:18,609 Mientras i sea menor que n 529 00:22:18,609 --> 00:22:20,069 Que es el tamaño de los de arriba 530 00:22:20,069 --> 00:22:21,930 Ay, perdón 531 00:22:21,930 --> 00:22:38,880 i más igual 3 532 00:22:38,880 --> 00:22:39,619 Vale 533 00:22:39,619 --> 00:22:43,750 Dime 534 00:22:43,750 --> 00:22:45,950 ¿De dónde vas a sacar los números? 535 00:22:48,559 --> 00:22:50,759 Los voy a sacar de array 1 y array 2 536 00:22:50,759 --> 00:22:52,180 Y voy a ir copiando el resultado 537 00:22:52,180 --> 00:22:57,980 Ah, vale, vale, que no los he rellenado 538 00:22:57,980 --> 00:22:59,559 Sí, sí, sí, tienes toda la razón 539 00:22:59,559 --> 00:23:01,019 Sí, sí, no los he rellenado, vale 540 00:23:01,019 --> 00:23:02,799 Pues 541 00:23:02,799 --> 00:23:09,089 Los voy a rellenar 542 00:23:09,089 --> 00:23:10,750 En aleatorio para no meterlos 543 00:23:10,750 --> 00:23:13,230 Vale, y aquí sería 544 00:23:13,230 --> 00:23:15,009 Array 545 00:23:15,009 --> 00:23:17,130 Uno de i 546 00:23:17,130 --> 00:23:19,309 Igual a 547 00:23:19,309 --> 00:23:21,769 Vamos a convertir a int 548 00:23:21,769 --> 00:23:24,009 Un número aleatorio 549 00:23:24,009 --> 00:23:28,779 Multiplicado 550 00:23:28,779 --> 00:23:30,680 por 100 551 00:23:30,680 --> 00:23:31,799 por ejemplo 552 00:23:31,799 --> 00:23:34,859 y array 2 553 00:23:34,859 --> 00:23:35,400 lo mismo 554 00:23:35,400 --> 00:23:50,990 array 2, vale, luego 555 00:23:50,990 --> 00:23:53,470 este es el posicionador 556 00:23:53,470 --> 00:23:55,410 de arriba 557 00:23:55,410 --> 00:23:57,069 vale, el posicionador 558 00:23:57,069 --> 00:23:58,910 de arriba, y ahora el posicionador de abajo 559 00:23:58,910 --> 00:24:00,990 y 560 00:24:00,990 --> 00:24:03,049 o sea, y es el índice de los dos 561 00:24:03,049 --> 00:24:04,849 arrays de arriba, que va para 562 00:24:04,849 --> 00:24:06,690 del 0, 3, 6 563 00:24:06,690 --> 00:24:08,690 pero luego necesito otro índice 564 00:24:08,690 --> 00:24:10,849 para indicar donde voy copiando abajo 565 00:24:10,849 --> 00:24:13,170 ¿Vale? Entonces ese índice 566 00:24:13,170 --> 00:24:14,950 ¿Cómo le podemos llamar? 567 00:24:15,009 --> 00:24:15,769 Pues j, ¿verdad? 568 00:24:16,650 --> 00:24:17,970 j empieza valiendo 0 569 00:24:17,970 --> 00:24:19,150 Entonces 570 00:24:19,150 --> 00:24:25,599 Aquí 571 00:24:25,599 --> 00:24:27,799 Resultado de j 572 00:24:27,799 --> 00:24:30,700 De j más 1 y de j más 2 573 00:24:30,700 --> 00:24:32,039 Sería 574 00:24:32,039 --> 00:24:33,619 Array 1 de 575 00:24:33,619 --> 00:24:36,299 i y más 1 576 00:24:36,299 --> 00:24:37,299 Y más 2, ¿verdad? 577 00:24:41,500 --> 00:24:42,759 Sí, es que es un poco lioso 578 00:24:42,759 --> 00:24:44,920 Ya, ya, ya 579 00:24:44,920 --> 00:24:46,279 Es que es un poco lioso 580 00:24:46,279 --> 00:24:48,339 Vamos a intentar tenerlo claro en la pizarra 581 00:24:48,339 --> 00:24:49,240 Lo que vamos a escribir 582 00:24:49,240 --> 00:24:51,059 Porque si no se queda un poquito lioso 583 00:24:51,059 --> 00:24:52,920 Porque uno se puede poner aquí a escribir 584 00:24:52,920 --> 00:24:54,519 Y el que lo escribe, bueno, sí 585 00:24:54,519 --> 00:24:56,440 En el mejor de los casos lo ve 586 00:24:56,440 --> 00:24:57,940 Pero el otro, pues no lo ve 587 00:24:57,940 --> 00:24:58,980 Vale 588 00:24:58,980 --> 00:25:02,240 A ver 589 00:25:02,240 --> 00:25:06,930 Vamos a intentar 590 00:25:06,930 --> 00:25:10,660 Verlo en la pizarra 591 00:25:10,660 --> 00:25:12,839 Que es como vosotros 592 00:25:12,839 --> 00:25:15,339 En un caso similar tendréis que hacerlo en un examen 593 00:25:15,339 --> 00:25:17,519 Pues, hombre, si no le sale de cabeza fenomenal 594 00:25:17,519 --> 00:25:18,299 Pero normalmente 595 00:25:18,299 --> 00:25:21,059 pues uno tiene que hacerse primero 596 00:25:21,059 --> 00:25:23,339 su composición de lugar en el papel 597 00:25:23,339 --> 00:25:24,359 vale 598 00:25:24,359 --> 00:25:25,259 para 599 00:25:25,259 --> 00:25:27,839 entonces 600 00:25:27,839 --> 00:25:41,049 vale, los arrays originales 601 00:25:41,049 --> 00:25:45,069 estos 602 00:25:45,069 --> 00:25:47,430 el i se va a referir 603 00:25:47,430 --> 00:25:49,349 a la posición que estoy en el 604 00:25:49,349 --> 00:25:51,230 array de arriba y luego tengo 605 00:25:51,230 --> 00:25:52,250 mi array resultado 606 00:25:52,250 --> 00:26:03,980 y con el j me voy a referir 607 00:26:03,980 --> 00:26:06,119 a donde escribo de mi array resultado 608 00:26:06,119 --> 00:26:08,119 con el i me refiero 609 00:26:08,119 --> 00:26:09,539 la posición en la que estoy arriba 610 00:26:09,539 --> 00:26:12,160 y con el J me refiero 611 00:26:12,160 --> 00:26:14,119 a la posición en la que estoy en el de abajo 612 00:26:14,119 --> 00:26:15,220 ¿no? vale 613 00:26:15,220 --> 00:26:18,180 entonces en cada iteración 614 00:26:18,180 --> 00:26:19,980 el I de arriba 615 00:26:19,980 --> 00:26:22,099 va de 3 en 3, es una posibilidad 616 00:26:22,099 --> 00:26:24,000 que estamos en sobre la marcha, entonces en la primera 617 00:26:24,000 --> 00:26:26,299 iteración el I se para en la 0 618 00:26:26,299 --> 00:26:27,980 para trabajar con 619 00:26:27,980 --> 00:26:30,299 estos 3 primeros, para trabajar con estos 3 620 00:26:30,299 --> 00:26:32,099 en la siguiente 621 00:26:32,099 --> 00:26:33,920 iteración el I se para 622 00:26:33,920 --> 00:26:34,579 en el 3 623 00:26:34,579 --> 00:26:38,039 para trabajar con y trabajará 624 00:26:38,039 --> 00:26:43,359 con estos tres siguientes, en la siguiente iteración 625 00:26:43,359 --> 00:26:46,700 el i está aquí colocado, en el seis 626 00:26:46,700 --> 00:26:51,400 para trabajar con estos tres siguientes, entonces las iteraciones 627 00:26:51,400 --> 00:26:54,700 del bucle van a ir, primera iteración 628 00:26:54,700 --> 00:26:59,400 tengo estos tres, siguiente iteración tengo estos, siguiente iteración tengo estos 629 00:26:59,400 --> 00:27:03,059 vale, entonces en cada iteración lo que ocurrirá 630 00:27:03,059 --> 00:27:06,299 es que yo estaré escribiendo seis de golpe 631 00:27:06,299 --> 00:27:11,759 Entonces en cada iteración estoy escribiendo 6 de golpe 632 00:27:11,759 --> 00:27:17,839 Luego J, para empezar, en cada vuelta de ese for 633 00:27:17,839 --> 00:27:20,759 Se quedará incrementado 6 posiciones 634 00:27:20,759 --> 00:27:25,539 Porque en cada iteración yo lo estoy escribiendo en 6 sitios 635 00:27:25,539 --> 00:27:28,940 Luego J se va a quedar incrementado en 6 posiciones 636 00:27:29,940 --> 00:27:32,960 Vale, ahora lo que tenemos que ver es que escribimos cada vez 637 00:27:32,960 --> 00:27:37,900 Bueno, pues de cada bloque de cada pack 638 00:27:37,900 --> 00:27:44,180 Puedo hacer mi posición I en la posición J que me toque 639 00:27:44,180 --> 00:27:46,359 La I más 1 en la J más 1 640 00:27:46,359 --> 00:27:49,460 Y la I más 2 en la J más 2 641 00:27:49,460 --> 00:27:52,240 Y luego del otro bloque 642 00:27:52,240 --> 00:27:55,539 La I en la J más 3 643 00:27:55,539 --> 00:27:58,940 La I más 1 del segundo bloque en la J más 4 644 00:27:58,940 --> 00:28:02,019 y la I más 2 645 00:28:02,019 --> 00:28:03,920 del segundo bloque es la J más 5 646 00:28:03,920 --> 00:28:07,240 esa es una posibilidad fácil 647 00:28:07,240 --> 00:28:09,680 entonces cada vuelta del bucle 648 00:28:09,680 --> 00:28:11,579 for de arriba trabaja 649 00:28:11,579 --> 00:28:13,079 con dos packs de 3 650 00:28:13,079 --> 00:28:16,000 cada vuelta trabaja con dos packs de 3 651 00:28:16,000 --> 00:28:17,279 y cada vuelta 652 00:28:17,279 --> 00:28:18,980 me va escribiendo esos packs 653 00:28:18,980 --> 00:28:20,359 en estas posiciones 654 00:28:20,359 --> 00:28:22,960 con lo cual J se va a quedar incrementado 655 00:28:22,960 --> 00:28:24,700 en 6 efectivamente cada vez 656 00:28:24,700 --> 00:28:27,079 entonces bueno 657 00:28:27,079 --> 00:28:28,019 lo podemos plantear así 658 00:28:28,019 --> 00:28:29,299 igual lo habéis hecho de otra manera 659 00:28:29,299 --> 00:28:31,279 yo voy dando vueltas 660 00:28:31,279 --> 00:28:33,900 cada vuelta coge, va de 3 en 3 661 00:28:33,900 --> 00:28:35,359 en cada vuelta 662 00:28:35,359 --> 00:28:37,980 cojo los que están a continuación de ese i 663 00:28:37,980 --> 00:28:39,779 y los escribo donde toquen 664 00:28:39,779 --> 00:28:42,720 el i en el j, el i más 1 en el j más 1 665 00:28:42,720 --> 00:28:44,200 el i más 2 en el j más 2 666 00:28:44,200 --> 00:28:46,680 y el i del otro en el j más 3 667 00:28:46,680 --> 00:28:47,900 este i 668 00:28:47,900 --> 00:28:50,359 este i más 1 del otro en el j más 4 669 00:28:50,359 --> 00:28:52,940 y este i más 2 del otro en el j más 5 670 00:28:52,940 --> 00:28:54,140 por ejemplo 671 00:28:54,140 --> 00:28:55,700 por ejemplo 672 00:28:55,700 --> 00:28:58,380 vale, vamos a intentar ahora 673 00:28:58,380 --> 00:28:59,519 reproducir esto 674 00:28:59,519 --> 00:29:07,970 a ver 675 00:29:07,970 --> 00:29:13,039 a ver si nos acordamos de lo que hemos dicho 676 00:29:13,039 --> 00:29:21,730 mi jota tiene que empezar valiendo 0 677 00:29:21,730 --> 00:29:23,109 si o si, por eso lo he metido aquí 678 00:29:23,109 --> 00:29:26,190 mi jota va valiendo 0 679 00:29:26,190 --> 00:29:27,069 y ahora 680 00:29:27,069 --> 00:29:30,230 resultado de jota 681 00:29:30,230 --> 00:29:33,390 pues el primero 682 00:29:33,390 --> 00:29:36,349 de el array de arriba 683 00:29:36,349 --> 00:29:38,809 array de i 684 00:29:38,809 --> 00:29:42,609 Y J se tiene que quedar incrementado 685 00:29:42,609 --> 00:29:43,869 ¿Vale? 686 00:29:44,630 --> 00:29:46,390 J lo dejo incrementado 687 00:29:46,390 --> 00:29:48,210 Porque la siguiente copia 688 00:29:48,210 --> 00:29:49,990 El siguiente elemento lo voy a copiar 689 00:29:49,990 --> 00:29:52,130 En el siguiente de J 690 00:29:52,130 --> 00:29:53,869 Resultado de J 691 00:29:53,869 --> 00:29:56,690 Y se sigue quedando incrementado para la siguiente copia 692 00:29:56,690 --> 00:29:59,089 Array1 de I más 1 693 00:29:59,089 --> 00:29:59,450 Ahora 694 00:29:59,450 --> 00:30:10,359 Array1 de I más 1 695 00:30:10,359 --> 00:30:15,869 Resultado de 696 00:30:15,869 --> 00:30:17,450 J más más 697 00:30:17,450 --> 00:30:19,369 este 698 00:30:19,369 --> 00:30:22,289 y sigo asignándole a la J 699 00:30:22,289 --> 00:30:24,089 pero ahora me toca el array 2 700 00:30:24,089 --> 00:30:29,650 entonces esto mismo 701 00:30:29,650 --> 00:30:33,109 lo pongo aquí 702 00:30:33,109 --> 00:30:34,029 y array 2 703 00:30:34,029 --> 00:30:42,769 vale, entonces lo que hemos 704 00:30:42,769 --> 00:30:44,170 dicho en la pizarra sería esto 705 00:30:44,170 --> 00:30:46,589 voy sucesivamente 706 00:30:46,589 --> 00:30:48,269 al J dejándolo incrementado 707 00:30:48,269 --> 00:30:50,549 con lo cual en total se va a incrementar 6 veces 708 00:30:50,549 --> 00:30:52,450 justo se le hacen 6 copias 709 00:30:52,450 --> 00:30:54,829 en las primeras 710 00:30:54,829 --> 00:30:56,730 3 posiciones copio las 3 711 00:30:56,730 --> 00:30:57,849 que toquen de raíz 712 00:30:57,849 --> 00:31:00,869 y en las siguientes tres posiciones 713 00:31:00,869 --> 00:31:03,009 toco las otras tres que tocan 714 00:31:03,009 --> 00:31:03,490 del otro 715 00:31:03,490 --> 00:31:08,839 e i va de tres en tres 716 00:31:08,839 --> 00:31:10,380 vale 717 00:31:10,380 --> 00:31:17,500 entonces primero vamos a ver si esto funciona 718 00:31:17,500 --> 00:31:20,539 esto lo que pasa es que así queda muy feo 719 00:31:20,539 --> 00:31:22,640 porque claro, yo observo esto, aquí veo un patrón 720 00:31:22,640 --> 00:31:24,299 entonces esto lo podría 721 00:31:24,299 --> 00:31:25,579 meter a su vez en un bucle 722 00:31:25,579 --> 00:31:28,539 lo podría, vale, porque aquí estoy viendo un patrón 723 00:31:28,539 --> 00:31:31,859 pero bueno, vamos a ver si esto funciona 724 00:31:31,859 --> 00:31:34,680 Vale, y ahora vamos a ver el resultado final 725 00:31:34,680 --> 00:31:35,319 Antes que nada 726 00:31:35,319 --> 00:31:38,000 Vamos a mostrar los Arrays 727 00:31:38,000 --> 00:31:39,880 A ver si realmente los ha intercalado 728 00:31:39,880 --> 00:31:42,859 Vamos a mostrar aquí primero el Array 1 729 00:31:42,859 --> 00:31:46,130 Array 1 730 00:31:46,130 --> 00:31:49,289 El Array 1 sería 731 00:31:49,289 --> 00:31:53,490 Para cada numerito en Array 1 732 00:31:53,490 --> 00:32:05,009 Muéstrame el numerito 733 00:32:05,009 --> 00:32:13,779 Salto de línea 734 00:32:13,779 --> 00:32:15,559 Y ahora voy a mostrar el Array 2 735 00:32:15,559 --> 00:32:28,400 y el array dos 736 00:32:28,400 --> 00:32:29,420 lo muestro aquí 737 00:32:29,420 --> 00:32:34,450 vale, aquí estoy mostrando los dos 738 00:32:34,450 --> 00:32:36,569 arrays con los valores que me ha generado aleatoriamente 739 00:32:36,569 --> 00:32:38,349 los que sean, y ahora voy a mostrar 740 00:32:38,349 --> 00:32:39,170 el resultante 741 00:32:39,170 --> 00:32:42,309 a ver el resultante, a ver 742 00:32:42,309 --> 00:32:43,210 que hemos hecho aquí 743 00:32:43,210 --> 00:32:48,109 para cada numerito n en mi 744 00:32:48,109 --> 00:32:48,869 resultado 745 00:32:48,869 --> 00:32:52,029 muéstrame 746 00:32:52,029 --> 00:33:03,170 resultado 747 00:33:03,170 --> 00:33:05,690 muéstrame 748 00:33:05,690 --> 00:33:06,710 n 749 00:33:06,710 --> 00:33:11,049 ala, vamos a ver esta primera 750 00:33:11,049 --> 00:33:13,490 versión, a ver si nos hemos salido 751 00:33:13,490 --> 00:33:15,190 de la RAI en algún sitio o hemos hecho 752 00:33:15,190 --> 00:33:22,460 algo raro, venga 753 00:33:22,460 --> 00:33:24,700 pues vamos a decirle 754 00:33:24,700 --> 00:33:25,400 que 12 755 00:33:25,400 --> 00:33:27,940 vale 756 00:33:27,940 --> 00:33:35,859 si, lo ha hecho bien 757 00:33:35,859 --> 00:33:38,640 primero ha metido este pack 758 00:33:38,640 --> 00:33:40,700 luego ha metido este 759 00:33:40,700 --> 00:33:41,220 otro 760 00:33:41,220 --> 00:33:44,220 luego este otro 761 00:33:44,220 --> 00:33:46,759 luego este otro 762 00:33:46,759 --> 00:33:48,880 bueno 763 00:33:48,880 --> 00:33:49,900 pues si ha funcionado 764 00:33:49,900 --> 00:33:52,019 vale 765 00:33:52,019 --> 00:34:22,170 ¿dónde podría incrementarla si no? 766 00:34:25,219 --> 00:34:26,440 es que la incremento 767 00:34:26,440 --> 00:34:27,920 cada vez que hago una asignación 768 00:34:27,920 --> 00:34:30,139 entonces hago 769 00:34:30,139 --> 00:34:32,340 aquí hago una asignación, la tengo que dejar 770 00:34:32,340 --> 00:34:34,059 incrementada porque inmediatamente 771 00:34:34,059 --> 00:34:35,400 después viene otra 772 00:34:35,400 --> 00:34:38,119 entonces hombre, a ver, tendrías esta alternativa 773 00:34:38,119 --> 00:34:40,840 si no la incrementas aquí, es que solo hay una alternativa 774 00:34:40,840 --> 00:34:42,019 que es aquí 775 00:34:42,019 --> 00:34:44,480 no hay otra, tienes que incrementarla 776 00:34:44,480 --> 00:34:46,639 en cualquier caso antes de la siguiente 777 00:34:46,639 --> 00:34:48,599 asignación, antes de la siguiente tienes que hacerlo 778 00:34:48,599 --> 00:34:49,820 Porque si no estás pisando esa 779 00:34:49,820 --> 00:34:51,699 Entonces si no la pones aquí 780 00:34:51,699 --> 00:34:53,159 La tienes que poner aquí abajo 781 00:34:53,159 --> 00:34:56,519 Y bueno, ponerla aquí abajo en cada una 782 00:34:56,519 --> 00:34:57,800 Se me complica mucho el código 783 00:34:57,800 --> 00:34:59,460 Mucho más cómodo si la meto ahí, ¿no? 784 00:35:01,019 --> 00:35:02,320 Más cómodo si la meto ahí 785 00:35:02,320 --> 00:35:04,760 Pero si no la pones ahí 786 00:35:04,760 --> 00:35:06,159 Es que no hay otra, ¿qué es ponerla ahí? 787 00:35:08,559 --> 00:35:10,420 Entonces queda más cómodo, más bonito 788 00:35:10,420 --> 00:35:11,300 Si lo metemos así 789 00:35:11,300 --> 00:35:17,489 Vale, entonces 790 00:35:17,489 --> 00:35:27,519 Bueno, pues es una posibilidad 791 00:35:27,519 --> 00:35:30,440 a lo mejor lo habéis dicho de otra manera 792 00:35:30,440 --> 00:35:32,260 o lo que sea, pero siempre tratad de 793 00:35:32,260 --> 00:35:34,219 primero haceros una idea clara 794 00:35:34,219 --> 00:35:35,179 de lo que queréis hacer 795 00:35:35,179 --> 00:35:38,340 y luego ya plantáis ese código 796 00:35:38,340 --> 00:35:39,500 y ya está 797 00:35:39,500 --> 00:35:44,460 no hace falta que sean revesados 798 00:35:44,460 --> 00:35:45,019 ni nada 799 00:35:45,019 --> 00:35:48,300 ¿alguien ha dicho Raquel?