1 00:00:00,000 --> 00:00:00,940 de pensamiento. 2 00:00:01,520 --> 00:00:02,040 Venga. 3 00:00:04,719 --> 00:00:05,240 Vale. 4 00:00:05,639 --> 00:00:07,599 Sí, pero luego se lo cuentas. 5 00:00:08,699 --> 00:00:09,220 Vale. 6 00:00:09,759 --> 00:00:11,660 ¿Cuál habrá sido aquí vuestro hilo de pensamiento? 7 00:00:11,960 --> 00:00:14,099 Bueno, pues el resultado de mi 8 00:00:14,099 --> 00:00:16,219 función, el valor de retorno, 9 00:00:16,339 --> 00:00:16,859 ¿cuál va a ser? 10 00:00:17,440 --> 00:00:19,120 Un array, es lo que tengo que devolver. 11 00:00:19,739 --> 00:00:21,719 Venga, pues ese array, mi array 12 00:00:21,719 --> 00:00:22,440 resultado, 13 00:00:23,899 --> 00:00:25,359 por ejemplo, ahí. 14 00:00:26,339 --> 00:00:27,960 Va a ser ese. Luego tendré 15 00:00:27,960 --> 00:00:28,859 que construirlo. 16 00:00:28,859 --> 00:00:30,760 tendré que construirlo 17 00:00:30,760 --> 00:00:32,560 bueno, se empiezan a llegar ya preguntas 18 00:00:32,560 --> 00:00:34,700 cuando hablamos de Arrays 19 00:00:34,700 --> 00:00:36,240 ya sabemos que un Array 20 00:00:36,240 --> 00:00:39,159 para poder usarlo, para guardar cosas en él 21 00:00:39,159 --> 00:00:40,840 hay que instanciarlo 22 00:00:40,840 --> 00:00:42,060 hay que 23 00:00:42,060 --> 00:00:44,780 con instanciarlo me refiero, hay que crearlo 24 00:00:44,780 --> 00:00:46,320 hay que crear su espacio en memoria 25 00:00:46,320 --> 00:00:48,299 entonces este Array 26 00:00:48,299 --> 00:00:50,460 si quiero poder ya meter cosas en él 27 00:00:50,460 --> 00:00:52,500 para construirlo y devolverlo luego 28 00:00:52,500 --> 00:00:55,000 tengo que crear espacio para él 29 00:00:55,000 --> 00:00:57,060 que sabemos que es así 30 00:00:57,060 --> 00:00:59,560 hay que no surge la primera pregunta 31 00:00:59,560 --> 00:01:01,500 que es, uy, y este array mío 32 00:01:01,500 --> 00:01:03,679 de resultado le tengo que dar un espacio desde ya 33 00:01:03,679 --> 00:01:05,500 ahora mismo no sé 34 00:01:05,500 --> 00:01:07,680 qué tamaño darle, no sé qué tamaño darle 35 00:01:07,680 --> 00:01:09,079 pero sé 36 00:01:09,079 --> 00:01:11,500 que el array que me pasan 37 00:01:11,500 --> 00:01:13,500 como parámetro con el que trabajar y ver 38 00:01:13,500 --> 00:01:15,400 los primos que tiene, sé que 39 00:01:15,400 --> 00:01:16,760 ese mide números length 40 00:01:16,760 --> 00:01:19,299 no sé si números length es 15, 20 41 00:01:19,299 --> 00:01:21,560 200, 1500, no sé 42 00:01:21,560 --> 00:01:23,239 pero sé que este array 43 00:01:23,239 --> 00:01:24,879 que me pasan como dato de entrada 44 00:01:24,879 --> 00:01:26,280 este que me pasa como dato de entrada 45 00:01:26,280 --> 00:01:28,379 tiene números.length, eso lo sé seguro 46 00:01:28,379 --> 00:01:30,219 pues mi array resultado 47 00:01:30,219 --> 00:01:32,180 que tiene los primos de ese 48 00:01:32,180 --> 00:01:34,819 como muchísimo tendrá números.length 49 00:01:34,819 --> 00:01:35,540 como muchísimo 50 00:01:35,540 --> 00:01:37,700 bueno, pues venga, me voy a crear 51 00:01:37,700 --> 00:01:40,980 un array del mismo tamaño que el que me han pasado por parámetro 52 00:01:40,980 --> 00:01:42,799 ala, ya tenemos 53 00:01:42,799 --> 00:01:44,920 un array del mismo tamaño del que nos han pasado 54 00:01:44,920 --> 00:01:45,560 por parámetro 55 00:01:45,560 --> 00:01:49,159 este, y ahora ya que tenemos que hacer 56 00:01:49,159 --> 00:01:50,579 bueno, pues vamos a 57 00:01:50,579 --> 00:01:52,879 recorrer el primer array 58 00:01:52,879 --> 00:01:56,000 cada vez que encontremos un primo 59 00:01:56,000 --> 00:01:57,560 ese primo 60 00:01:57,560 --> 00:01:58,920 se va al segundo array 61 00:01:58,920 --> 00:02:00,439 eso es lo que tenemos que hacer, ¿no? 62 00:02:01,200 --> 00:02:03,780 recorrer el primero, cada vez que encuentro un numerito 63 00:02:03,780 --> 00:02:05,900 que es primo, lo guardo en el segundo 64 00:02:05,900 --> 00:02:07,340 bueno, pues venga 65 00:02:07,340 --> 00:02:09,180 vamos a hacer eso literal 66 00:02:09,180 --> 00:02:11,659 recorro el primer array 67 00:02:11,659 --> 00:02:13,099 literal 68 00:02:13,099 --> 00:02:15,680 ¿qué significa literal para ti? 69 00:02:16,639 --> 00:02:18,280 lo que para toda la humanidad 70 00:02:18,280 --> 00:02:20,199 yo me he perdido 71 00:02:20,199 --> 00:02:25,620 Sí, sí, sí 72 00:02:25,620 --> 00:02:28,919 Vale, pues esto es para recorrer el primer array 73 00:02:28,919 --> 00:02:31,400 Y ahora, ¿qué hace el primer array? 74 00:02:31,439 --> 00:02:32,819 El array de partida 75 00:02:32,819 --> 00:02:36,159 Vale, ¿qué tengo que hacer con cada número de i? 76 00:02:36,800 --> 00:02:39,599 Con cada número de i tengo que ver si es primo o no lo es 77 00:02:39,599 --> 00:02:42,819 Porque si es primo tengo que guardarlo en el resultante 78 00:02:42,819 --> 00:02:45,620 Entonces, mi problema aquí es 79 00:02:45,620 --> 00:02:48,580 Averiguar esto, ver si números de i es primo 80 00:02:48,580 --> 00:02:50,080 porque si es primo 81 00:02:50,080 --> 00:02:51,319 es primo 82 00:02:51,319 --> 00:02:54,560 porque si es primo tengo que asignarlo 83 00:02:54,560 --> 00:02:55,199 a algún sitio 84 00:02:55,199 --> 00:02:58,020 vale, para ver si números de i es primo 85 00:02:58,020 --> 00:03:00,379 hasta ahora decíamos, pues me voy a hacer mi trocito 86 00:03:00,379 --> 00:03:01,900 de código para ver si es primo o no 87 00:03:01,900 --> 00:03:05,039 cuando ya lo tenga, hago lo siguiente 88 00:03:05,039 --> 00:03:06,319 pero aquí afortunadamente 89 00:03:06,319 --> 00:03:08,379 ya no tenemos que hacernos el trocito de código 90 00:03:08,379 --> 00:03:10,139 para ver si números i es primo o no 91 00:03:10,139 --> 00:03:13,000 porque tenemos una función que hemos hecho antes 92 00:03:13,000 --> 00:03:14,719 a la que 93 00:03:14,719 --> 00:03:16,099 si yo le paso un numerito 94 00:03:16,099 --> 00:03:18,460 ya me devuelve un true o un false 95 00:03:18,460 --> 00:03:20,680 Pues magnífico 96 00:03:20,680 --> 00:03:22,060 Yo ahora 97 00:03:22,060 --> 00:03:24,319 Lo que puedo hacer es 98 00:03:24,319 --> 00:03:24,960 If 99 00:03:24,960 --> 00:03:27,360 Es primo 100 00:03:27,360 --> 00:03:29,219 ¿Quién? 101 00:03:30,060 --> 00:03:31,000 Números de i 102 00:03:31,000 --> 00:03:36,009 ¿Verdad? Lo pongo así con 103 00:03:36,009 --> 00:03:38,370 Para que se vea 104 00:03:38,370 --> 00:03:40,770 Pues magnífico porque es primo 105 00:03:40,770 --> 00:03:42,590 Números de i es un boolean ya 106 00:03:42,590 --> 00:03:45,009 Porque es primo me devuelve 107 00:03:45,009 --> 00:03:45,729 Un boolean 108 00:03:45,729 --> 00:03:46,789 Es esto 109 00:03:46,789 --> 00:03:50,789 Entonces esta función a mi me da igual 110 00:03:50,789 --> 00:03:52,569 como esté hecha por dentro porque yo no la he hecho 111 00:03:52,569 --> 00:03:54,650 la he hecho otra, me da igual, pero lo único 112 00:03:54,650 --> 00:03:56,009 que sé de esta función es 113 00:03:56,009 --> 00:03:58,550 que si yo le paso un número entero me va a devolver 114 00:03:58,550 --> 00:04:00,150 true si es primo y false si no 115 00:04:00,150 --> 00:04:03,169 es lo que sé, porque eso es lo que me dice la documentación 116 00:04:03,169 --> 00:04:04,509 pues magnífico 117 00:04:04,509 --> 00:04:06,349 yo uso esta función porque la tengo 118 00:04:06,349 --> 00:04:08,909 y sé que si le paso un número cualquiera 119 00:04:08,909 --> 00:04:10,729 me devuelve true si es primo y false si no 120 00:04:10,729 --> 00:04:12,069 pues magnífico, la uso aquí 121 00:04:12,069 --> 00:04:14,889 y digo, oye, es primo 122 00:04:14,889 --> 00:04:15,590 números de i 123 00:04:15,590 --> 00:04:18,949 y eso al ser un boolean lo puedo meter en un if 124 00:04:18,949 --> 00:04:20,129 claro, porque es un boolean 125 00:04:20,129 --> 00:04:22,069 si no fuera un boolean no podría 126 00:04:22,069 --> 00:04:23,910 ¿es primo números de i? 127 00:04:25,790 --> 00:04:27,730 que si lo es, pues ese 128 00:04:27,730 --> 00:04:30,089 números de i tendré que asignarlo a algún sitio 129 00:04:30,089 --> 00:04:33,779 ese números de i 130 00:04:33,779 --> 00:04:35,339 tendré que asignarlo a algún sitio, ¿a dónde? 131 00:04:35,339 --> 00:04:37,420 a la primera posición 132 00:04:37,420 --> 00:04:39,439 libre de result, lo que hemos resuelto 133 00:04:39,439 --> 00:04:41,279 ya mil veces, ¿y cuál es la 134 00:04:41,279 --> 00:04:43,100 primera posición libre de result? 135 00:04:43,480 --> 00:04:45,540 pues tendré que llevar una variable contadora 136 00:04:45,540 --> 00:04:47,779 aparte, por ejemplo 137 00:04:47,779 --> 00:04:49,240 llamémosle 138 00:04:49,240 --> 00:04:50,839 llamémosla j 139 00:04:50,839 --> 00:04:52,879 que empieza valiendo 0 140 00:04:52,879 --> 00:04:55,600 y se la voy asignando a j 141 00:04:55,600 --> 00:04:56,980 y la voy dejando incrementada 142 00:04:56,980 --> 00:04:59,519 este problema de nuevo lo hemos resuelto 143 00:04:59,519 --> 00:05:01,600 ya un montón de veces, ir rellenando 144 00:05:01,600 --> 00:05:03,180 un array con valores de otro 145 00:05:03,180 --> 00:05:05,699 inicialmente lo asignaré 146 00:05:05,699 --> 00:05:07,519 a la 0 y la dejo 147 00:05:07,519 --> 00:05:09,379 incrementada para que las siguientes 148 00:05:09,379 --> 00:05:11,319 asignaciones lleguen en las consecutivas 149 00:05:11,319 --> 00:05:13,600 pues ya está 150 00:05:13,600 --> 00:05:16,980 ¿vale? ya tengo 151 00:05:16,980 --> 00:05:18,319 con mucha llave 152 00:05:18,319 --> 00:05:21,000 que en este caso sobra porque son 153 00:05:21,000 --> 00:05:22,120 todos sentencias 154 00:05:22,120 --> 00:05:25,680 vale, esta es la del 155 00:05:25,680 --> 00:05:26,680 lib y esta es la del for 156 00:05:26,680 --> 00:05:30,370 vale, pues entonces 157 00:05:30,370 --> 00:05:32,949 ahora ya tenemos 158 00:05:32,949 --> 00:05:35,129 el array result 159 00:05:35,129 --> 00:05:37,509 que se ha llenado con 160 00:05:37,509 --> 00:05:39,329 números primos del original 161 00:05:39,329 --> 00:05:40,410 del parámetro 162 00:05:40,410 --> 00:05:43,350 pero que habrá ocurrido 163 00:05:43,350 --> 00:05:45,470 seguramente, que si no son todos primos 164 00:05:45,470 --> 00:05:47,410 a result le habrán 165 00:05:47,410 --> 00:05:49,230 sobrado unas cuantas posiciones, ¿verdad? 166 00:05:49,850 --> 00:05:51,250 porque result tenía 167 00:05:51,250 --> 00:05:53,069 tantas como el original 168 00:05:53,069 --> 00:05:54,329 tantas como la original 169 00:05:54,329 --> 00:05:56,430 pero yo solo he rellenado 170 00:05:56,430 --> 00:05:58,509 cuando me he encontrado un primo 171 00:05:58,509 --> 00:06:01,029 con lo cual si no eran todos primos 172 00:06:01,029 --> 00:06:02,870 unas cuantas posiciones al final 173 00:06:02,870 --> 00:06:04,649 sobran, esas no las quiero 174 00:06:04,649 --> 00:06:06,970 entonces vamos a cortar 175 00:06:06,970 --> 00:06:09,069 ese array, vamos a cortarlo 176 00:06:09,069 --> 00:06:10,870 para que se quede solo 177 00:06:10,870 --> 00:06:12,689 con las posiciones resultantes 178 00:06:12,689 --> 00:06:14,790 entonces ahora tendríamos que hacer aquí 179 00:06:14,790 --> 00:06:16,029 el código de cortar el array 180 00:06:16,029 --> 00:06:18,709 pero de nuevo, el que hace esta función dice 181 00:06:18,709 --> 00:06:21,029 jo, que rollo 182 00:06:21,029 --> 00:06:23,009 tener que hacer esto, ojalá yo tuviera 183 00:06:23,009 --> 00:06:24,449 una función 184 00:06:24,449 --> 00:06:26,990 que fuera a truncar array 185 00:06:26,990 --> 00:06:28,290 ojalá la tuviera 186 00:06:28,290 --> 00:06:30,990 que a esa función le paso yo un array 187 00:06:30,990 --> 00:06:32,629 el que sea 188 00:06:32,629 --> 00:06:34,050 resulte en este caso 189 00:06:34,050 --> 00:06:35,870 le paso un tamaño 190 00:06:35,870 --> 00:06:39,149 j en este caso porque j 191 00:06:39,149 --> 00:06:41,269 se va a haber quedado 192 00:06:41,269 --> 00:06:43,209 con la cantidad de posiciones rellenas 193 00:06:43,209 --> 00:06:45,290 ojalá tuviera yo una función 194 00:06:45,290 --> 00:06:47,430 a la que le paso un array 195 00:06:47,430 --> 00:06:48,490 le paso un numerito 196 00:06:48,490 --> 00:06:49,889 y me lo trunca 197 00:06:49,889 --> 00:06:52,009 esa cantidad de posiciones 198 00:06:52,009 --> 00:06:53,670 porque si tuviera una función que me hace eso 199 00:06:53,670 --> 00:06:55,949 magnífico, ya tendría 200 00:06:55,949 --> 00:06:57,250 mi 201 00:06:57,250 --> 00:07:00,209 función terminada, ojalá la tuviera 202 00:07:00,209 --> 00:07:02,370 ¿no? 203 00:07:03,230 --> 00:07:04,329 ojalá la tuviera 204 00:07:04,329 --> 00:07:05,850 ¿verdad? pero 205 00:07:05,850 --> 00:07:08,350 entendéis la utilidad que tendría esta función 206 00:07:08,350 --> 00:07:10,569 es una función a la que tú le pasas 207 00:07:10,569 --> 00:07:11,569 un array 208 00:07:11,569 --> 00:07:13,389 con el tamaño que sea 209 00:07:13,389 --> 00:07:15,310 y un tamaño j 210 00:07:15,310 --> 00:07:17,769 y te deja el array cortado 211 00:07:17,769 --> 00:07:20,050 solamente a esas j primeras 212 00:07:20,050 --> 00:07:20,610 posiciones 213 00:07:20,610 --> 00:07:22,870 si tuviéramos 214 00:07:22,870 --> 00:07:24,370 esa función 215 00:07:24,370 --> 00:07:26,370 magnífico 216 00:07:26,370 --> 00:07:27,689 le paso result 217 00:07:27,689 --> 00:07:30,490 le paso result 218 00:07:30,490 --> 00:07:31,730 y le paso j 219 00:07:31,730 --> 00:07:33,930 y ahora el resultado 220 00:07:33,930 --> 00:07:36,769 de esa función es mi array 221 00:07:36,769 --> 00:07:39,029 truncado, pues magnífico 222 00:07:39,029 --> 00:07:40,949 claro que existe, porque nos cuesta 223 00:07:40,949 --> 00:07:42,889 medio minuto hacerla 224 00:07:42,889 --> 00:07:44,629 entonces si lo hacemos 225 00:07:44,629 --> 00:07:46,509 cada vez que queramos truncar un array 226 00:07:46,509 --> 00:07:48,769 pues lo truncamos, si no tenemos que hacer todo el rato 227 00:07:48,769 --> 00:07:50,310 de un auxiliar, copiar, pegar 228 00:07:50,310 --> 00:07:51,189 uno por otro 229 00:07:51,189 --> 00:07:54,949 y esta es la mejor manera de desarrollar 230 00:07:54,949 --> 00:07:57,050 si tienes funcionalidades 231 00:07:57,050 --> 00:07:58,970 que tú te das cuenta de que te son 232 00:07:58,970 --> 00:08:00,709 útiles y que puede que utilices 233 00:08:00,709 --> 00:08:02,529 de vez en cuando, como cortar un array 234 00:08:02,529 --> 00:08:05,009 lo que sea, pues genial 235 00:08:05,009 --> 00:08:06,370 lo hago en una función 236 00:08:06,370 --> 00:08:08,449 y la uso cuando me dé la gana, por ejemplo 237 00:08:08,449 --> 00:08:10,769 aquí vendría estupendo, y así nos queda esta función 238 00:08:10,769 --> 00:08:11,389 más cortita 239 00:08:11,389 --> 00:08:14,410 el resultado tiene este tamaño 240 00:08:14,410 --> 00:08:16,009 copio los primos 241 00:08:16,009 --> 00:08:17,930 y una vez que he copiado los primos 242 00:08:17,930 --> 00:08:20,550 Lo corto hasta el tamaño realmente relleno 243 00:08:20,550 --> 00:08:21,490 Se queda más claro 244 00:08:21,490 --> 00:08:23,170 ¿Vale? Vamos a hacer truncar a Ray 245 00:08:23,170 --> 00:08:26,149 Pues truncar a Ray 246 00:08:26,149 --> 00:08:27,810 ¿Qué me tiene que devolver? 247 00:08:28,110 --> 00:08:30,389 Un array de enteros, el que he truncado, claro 248 00:08:30,389 --> 00:08:33,909 ¿Cómo he dicho que se va a llamar? 249 00:08:34,090 --> 00:08:35,830 Pues me gusta truncar a Ray 250 00:08:35,830 --> 00:08:37,289 Vale 251 00:08:37,289 --> 00:08:40,570 ¿Cómo? Pero si ya la he llamado aquí antes 252 00:08:40,570 --> 00:08:42,350 ¿Preguntáis cómo? Es lo único en lo que no hay que preguntar 253 00:08:42,350 --> 00:08:44,769 Ah, has dicho que te gusta truncar 254 00:08:44,769 --> 00:08:45,110 Y ya sabes 255 00:08:45,110 --> 00:08:48,870 ¿Truncar qué significa para vosotros? 256 00:08:49,009 --> 00:08:50,429 Nada, truncar es truncar 257 00:08:50,429 --> 00:08:51,549 Es que suena mal 258 00:08:51,549 --> 00:08:53,190 Para Rosa seguro que muchas cosas 259 00:08:53,190 --> 00:08:54,049 ¿Para Rosa? 260 00:08:54,450 --> 00:08:56,129 Es que, a ver, espérate 261 00:08:56,129 --> 00:08:59,309 Ah, espérate que no lo deje grabado 262 00:08:59,309 --> 00:09:03,570 Menos mal que no estaba grabando 263 00:09:03,570 --> 00:09:04,710 Venga 264 00:09:04,710 --> 00:09:11,389 Venga 265 00:09:11,389 --> 00:09:17,710 No, son muy sosos 266 00:09:17,710 --> 00:09:20,649 Uy, eso sí que se ha grabado 267 00:09:20,649 --> 00:09:21,409 Me cachi la mano 268 00:09:21,409 --> 00:09:25,710 Vale, truncar array 269 00:09:25,710 --> 00:09:26,990 ¿Qué recibe? 270 00:09:27,710 --> 00:09:30,250 El truncar array que nos interesa 271 00:09:30,250 --> 00:09:32,289 Recibe un array de números 272 00:09:32,289 --> 00:09:35,309 Pues venga, recibe un array de números 273 00:09:35,309 --> 00:09:38,909 Pues lo llamo como me dé la gana 274 00:09:38,909 --> 00:09:41,870 y recibe un numerito entero, 275 00:09:41,990 --> 00:09:42,809 que es el tamaño 276 00:09:42,809 --> 00:09:44,990 que yo quiero truncar. 277 00:09:45,889 --> 00:09:46,350 Pues venga. 278 00:09:47,250 --> 00:09:48,970 Por ejemplo, lo llamo como me da la gana. 279 00:09:49,870 --> 00:09:51,409 Vale, pues ahora me toca hacer esta función 280 00:09:51,409 --> 00:09:52,929 que recibe un array, 281 00:09:53,350 --> 00:09:54,309 recibe un tamaño, 282 00:09:55,049 --> 00:09:56,590 corta el array a ese tamaño 283 00:09:56,590 --> 00:09:57,850 y me lo devuelve con ar de retorno. 284 00:09:58,429 --> 00:09:59,889 Si yo tengo esa función hecha, 285 00:10:00,210 --> 00:10:00,850 magnífico, 286 00:10:00,909 --> 00:10:02,970 porque es justo lo que me viene bien aquí. 287 00:10:03,809 --> 00:10:04,710 Pasarle el array, 288 00:10:04,970 --> 00:10:05,990 cortarlo a J, 289 00:10:06,149 --> 00:10:07,350 que es las posiciones rellenas, 290 00:10:07,570 --> 00:10:07,929 y toma, 291 00:10:08,190 --> 00:10:08,710 ese para ti, 292 00:10:08,710 --> 00:10:10,610 Devuelto ya, que es el que me estás pidiendo 293 00:10:10,610 --> 00:10:11,470 Con el get primos 294 00:10:11,470 --> 00:10:13,549 Pues nada, esta funciona facilísima 295 00:10:13,549 --> 00:10:16,809 Hacemos una array auxiliar con esas posiciones 296 00:10:16,809 --> 00:10:18,809 Copiamos uno en otro hasta la que interesa 297 00:10:18,809 --> 00:10:19,350 Y se acabó 298 00:10:19,350 --> 00:10:21,590 Hacemos una auxiliar 299 00:10:21,590 --> 00:10:24,250 New int 300 00:10:24,250 --> 00:10:26,549 De tamaño 301 00:10:26,549 --> 00:10:28,730 Ese es el que vamos a devolver 302 00:10:28,730 --> 00:10:30,330 Y ahora copiamos 303 00:10:30,330 --> 00:10:31,950 Pero solo copiamos hasta j 304 00:10:31,950 --> 00:10:34,669 Desde igual a 0 305 00:10:34,669 --> 00:10:36,570 Mientras si sea 306 00:10:36,570 --> 00:10:38,190 Menor que j 307 00:10:38,190 --> 00:10:41,870 en fin, mientras si 308 00:10:41,870 --> 00:10:44,149 perdón 309 00:10:44,149 --> 00:10:47,470 y más más, vale 310 00:10:47,470 --> 00:10:51,750 no, es que me voy a la cabeza, lo mal que estáis todos 311 00:10:51,750 --> 00:10:54,009 de la cabeza, rosa incluida 312 00:10:54,009 --> 00:10:59,730 madre mía 313 00:10:59,730 --> 00:11:01,330 bueno, estamos todos fatal 314 00:11:01,330 --> 00:11:02,129 bueno, da igual 315 00:11:02,129 --> 00:11:05,590 y menor que 316 00:11:05,590 --> 00:11:07,750 tamaño, perdonadme, si estoy con el 317 00:11:07,750 --> 00:11:09,669 j de la función anterior. Y menor 318 00:11:09,669 --> 00:11:11,769 que tamaño, justo. Y ahora 319 00:11:11,769 --> 00:11:13,730 ya simplemente a aux 320 00:11:13,730 --> 00:11:14,590 de i 321 00:11:14,590 --> 00:11:16,509 le copiamos 322 00:11:16,509 --> 00:11:20,049 array 323 00:11:20,049 --> 00:11:23,110 de i y ya está. 324 00:11:23,970 --> 00:11:24,730 Hemos copiado 325 00:11:24,730 --> 00:11:26,970 solo la parte que nos interesa, solo 326 00:11:26,970 --> 00:11:29,090 esa parte. Y ahora ya ese nuevo 327 00:11:29,090 --> 00:11:30,970 array se va de vuelta. 328 00:11:32,409 --> 00:11:32,950 Pues ahora 329 00:11:32,950 --> 00:11:34,789 magnífico. Tenemos 330 00:11:34,789 --> 00:11:35,710 un profe, yo no sé. 331 00:11:36,490 --> 00:11:37,429 Espera, espera, espera. 332 00:11:44,860 --> 00:11:45,539 ¿Y por qué? 333 00:11:45,620 --> 00:11:48,139 porque está ahí 334 00:11:48,139 --> 00:11:49,759 lo dice ese 335 00:11:49,759 --> 00:11:54,500 el que tienes que devolver 336 00:11:54,500 --> 00:11:55,059 no es el 337 00:11:55,059 --> 00:11:56,899 el bueno 338 00:11:56,899 --> 00:11:59,879 el bueno 339 00:11:59,879 --> 00:12:02,080 tiene como tamaño el que a mi me han dado 340 00:12:02,080 --> 00:12:03,679 copio del original 341 00:12:03,679 --> 00:12:06,299 solo hasta ese tamaño y devuelvo este 342 00:12:06,299 --> 00:12:08,299 luego el efecto final 343 00:12:08,299 --> 00:12:10,059 es truncar ese y devolver otro 344 00:12:10,059 --> 00:12:11,480 diferente claro truncado 345 00:12:11,480 --> 00:12:16,399 no te funciona 346 00:12:16,399 --> 00:12:25,320 Mira 347 00:12:25,320 --> 00:12:27,399 Pablo ya 348 00:12:27,399 --> 00:12:29,340 se ha desesperado contigo 349 00:12:29,340 --> 00:12:31,779 De todas formas, cuando decís 350 00:12:31,779 --> 00:12:33,899 no funciona, pueden ser 351 00:12:33,899 --> 00:12:36,100 varias posibilidades, que tenga un error de compilación 352 00:12:36,100 --> 00:12:38,240 eso lo hemos de arreglar, o que lo has ejecutado 353 00:12:38,240 --> 00:12:40,019 y ahí no te funciona, son dos cosas muy distintas 354 00:12:40,019 --> 00:12:41,500 Bueno 355 00:12:41,500 --> 00:12:43,840 Esto que está hecho aquí 356 00:12:43,840 --> 00:12:44,200 está 357 00:12:44,200 --> 00:12:47,580 Está claro, ¿no? 358 00:12:52,899 --> 00:12:54,279 Pero qué llave 359 00:12:54,279 --> 00:12:58,399 Aprende a dónde van las cosas 360 00:12:58,399 --> 00:13:00,139 Abre tu mente 361 00:13:00,139 --> 00:13:03,240 Esto es muy fácil 362 00:13:03,240 --> 00:13:05,220 Si no pones llaves 363 00:13:05,220 --> 00:13:06,840 Lo único que va adentro 364 00:13:06,840 --> 00:13:08,019 Es lo que está debajo 365 00:13:08,019 --> 00:13:09,559 Eso 366 00:13:09,559 --> 00:13:13,200 Pero tienes que empezar a enterarte 367 00:13:13,200 --> 00:13:15,100 Tienes que empezar a enterarte 368 00:13:15,100 --> 00:13:17,460 Que no es obligatorio estar tabulado 369 00:13:17,460 --> 00:13:19,100 Pero al estar tabulado lo ves mejor 370 00:13:19,100 --> 00:13:21,480 Vale, bueno, ahora con las llaves 371 00:13:21,480 --> 00:13:22,139 Lo ves mejor 372 00:13:22,139 --> 00:13:25,019 Sí, mucho, me alegro mucho, hombre 373 00:13:25,019 --> 00:13:26,659 Vale, entonces ahora ya 374 00:13:26,659 --> 00:13:28,840 Con este truncar array 375 00:13:28,840 --> 00:13:31,639 Nuestra función get primo se queda más bonita 376 00:13:31,639 --> 00:13:34,879 Metemos primos aquí 377 00:13:34,879 --> 00:13:37,580 Y ahora ya truncamos a los que hemos hecho 378 00:13:37,580 --> 00:13:40,139 Y ahora ya vamos a hacernos 379 00:13:40,139 --> 00:13:43,539 ¿a dónde? 380 00:13:46,340 --> 00:13:46,620 eso 381 00:13:46,620 --> 00:13:49,620 vale 382 00:13:49,620 --> 00:13:52,620 vamos a usarlo en nuestro main 383 00:13:52,620 --> 00:13:55,259 a ver 384 00:13:55,259 --> 00:13:58,639 voy a comentar todo el main anterior 385 00:13:58,639 --> 00:14:01,120 para no tener aquí tanta basura cuando lo ejecutemos 386 00:14:01,120 --> 00:14:02,860 comentado 387 00:14:02,860 --> 00:14:04,659 y ahora vamos a hacer un array 388 00:14:04,659 --> 00:14:05,919 con un montón de numeritos 389 00:14:05,919 --> 00:14:08,279 ni metidos por teclado ni nada porque es un rollo 390 00:14:08,279 --> 00:14:10,860 Vamos a hacer un array con un montón de numeritos 391 00:14:10,860 --> 00:14:13,919 Así 392 00:14:13,919 --> 00:14:16,200 7, 12 393 00:14:16,200 --> 00:14:17,539 54 394 00:14:17,539 --> 00:14:19,480 78 395 00:14:19,480 --> 00:14:22,299 Vamos a ver cuánto tarda 396 00:14:22,299 --> 00:14:23,519 A ver si se queda 397 00:14:23,519 --> 00:14:25,539 Es que lo de ver si un número es primo no se tarda mucho 398 00:14:25,539 --> 00:14:27,440 Eso 399 00:14:27,440 --> 00:14:29,340 Vamos a ver cuánto tarda por curiosidad 400 00:14:29,340 --> 00:14:29,879 En 401 00:14:29,879 --> 00:14:33,019 Ver si es primo o no 402 00:14:33,019 --> 00:14:34,399 El 187.000 403 00:14:34,399 --> 00:14:35,899 Igual ahí se nos queda para un ratito 404 00:14:35,899 --> 00:14:38,059 6 405 00:14:38,059 --> 00:14:39,759 Y 406 00:14:39,759 --> 00:14:42,000 97 407 00:14:42,000 --> 00:14:44,779 Venga, pues yo le voy a pasar 408 00:14:44,779 --> 00:14:45,779 Este array 409 00:14:45,779 --> 00:14:48,820 Y voy a guardar el resultado 410 00:14:48,820 --> 00:14:50,799 En otro array distinto 411 00:14:50,799 --> 00:14:52,899 Podría pisar el mismo 412 00:14:52,899 --> 00:14:53,419 Pero bueno 413 00:14:53,419 --> 00:14:57,059 En otro que se llame números primos 414 00:14:57,059 --> 00:14:58,580 Voy a guardar el resultado 415 00:14:58,580 --> 00:15:00,659 Que era get 416 00:15:00,659 --> 00:15:03,139 Primos de este 417 00:15:03,139 --> 00:15:03,980 De números 418 00:15:03,980 --> 00:15:07,120 Entonces a get primos 419 00:15:07,120 --> 00:15:08,379 Puede que no le haya puesto el static 420 00:15:08,379 --> 00:15:09,620 Y por eso se, sí 421 00:15:09,620 --> 00:15:12,679 GetPrimos no le ha puesto el static y por eso no le gusta 422 00:15:12,679 --> 00:15:17,320 Eso 423 00:15:17,320 --> 00:15:20,440 No le he puesto el static 424 00:15:20,440 --> 00:15:21,600 Con lo cual al no ponerle 425 00:15:21,600 --> 00:15:23,419 Al ponerle el static a este 426 00:15:23,419 --> 00:15:28,000 A este también 427 00:15:28,000 --> 00:15:33,500 Listo 428 00:15:33,500 --> 00:15:35,480 Ya le he puesto static a todos 429 00:15:35,480 --> 00:15:36,940 Vale, mi main 430 00:15:36,940 --> 00:15:39,759 GetPrimos, ¿qué necesita? 431 00:15:40,100 --> 00:15:42,120 Un array, pues es lo que le he pasado 432 00:15:42,120 --> 00:15:44,340 Un array, y le paso un array con su nombre 433 00:15:44,340 --> 00:15:46,379 Y no pongo aquí corchetes 434 00:15:46,379 --> 00:15:47,500 Ni hago cosas extrañas 435 00:15:47,500 --> 00:15:49,519 El array se llama números 436 00:15:49,519 --> 00:15:51,679 Pues eso es lo que le paso, números, su nombre 437 00:15:51,679 --> 00:15:54,019 Igual que cuando paso un entero 438 00:15:54,019 --> 00:15:56,639 Que se llame n, pues paso n 439 00:15:56,639 --> 00:15:58,600 Pues si mi array se llama 440 00:15:58,600 --> 00:16:00,559 Números, paso números 441 00:16:00,559 --> 00:16:02,960 Vale, el resultado lo voy a guardar 442 00:16:02,960 --> 00:16:03,320 En otro 443 00:16:03,320 --> 00:16:05,460 Y ahora vamos a ver si realmente 444 00:16:05,460 --> 00:16:08,460 Me ha guardado ahí los primos 445 00:16:08,460 --> 00:16:12,940 ¿Estás aclarando al mismo tiempo que lo estás pasando? 446 00:16:12,940 --> 00:16:16,519 Sí, sí, sí, porque tú cuando declaras cualquier variable 447 00:16:16,519 --> 00:16:18,460 Puedes aprovechar e inicializarla 448 00:16:18,460 --> 00:16:19,940 Entonces aquí la estoy inicializando 449 00:16:19,940 --> 00:16:22,159 Lo que pasa es que la estoy inicializando con el valor de retorno de esa función 450 00:16:22,159 --> 00:16:23,620 Claro, la inicializaste y ya 451 00:16:23,620 --> 00:16:25,440 Lo que yo sé es que antes ponías 452 00:16:25,440 --> 00:16:28,379 O sea, le pasabas el dato a la función 453 00:16:28,379 --> 00:16:30,320 Y después la inicializabas 454 00:16:30,320 --> 00:16:32,620 No sé si implico 455 00:16:32,620 --> 00:16:33,620 No te entiendo 456 00:16:33,620 --> 00:16:36,539 No, porque antes poníamos 457 00:16:36,539 --> 00:16:37,620 El nombre, antes 458 00:16:37,620 --> 00:16:40,460 Poníamos primero el nombre de la función 459 00:16:40,460 --> 00:16:42,600 Le pasábamos por parámetro lo que queríamos 460 00:16:42,600 --> 00:16:44,840 y abajo después en otra línea 461 00:16:44,840 --> 00:16:45,679 se inicializaba 462 00:16:45,679 --> 00:16:49,220 es que no te entiendo 463 00:16:49,220 --> 00:16:54,360 me refiero 464 00:16:54,360 --> 00:16:56,379 tú aquí estás declarando un array 465 00:16:56,379 --> 00:16:57,059 ¿vale? 466 00:16:57,919 --> 00:17:00,419 y este array tú podrías pues tenerlo 467 00:17:00,419 --> 00:17:01,860 declarado ahí y punto pelota 468 00:17:01,860 --> 00:17:03,940 pero ya sabemos que cuando declaramos una variable 469 00:17:03,940 --> 00:17:05,039 sea del tipo que sea 470 00:17:05,039 --> 00:17:08,339 tú de paso que la declaras le puedes ya dar un valor 471 00:17:08,339 --> 00:17:10,200 pues vamos a aprovechar 472 00:17:10,200 --> 00:17:12,400 y vamos a darle el valor resultante 473 00:17:12,400 --> 00:17:12,960 de esa función 474 00:17:12,960 --> 00:17:19,500 Vale, pues entonces 475 00:17:19,500 --> 00:17:22,019 GetPrimos me va a dar un array 476 00:17:22,019 --> 00:17:24,400 Ese array lo guardo 477 00:17:24,400 --> 00:17:25,460 En esta variable array 478 00:17:25,460 --> 00:17:27,900 Y ahora vamos a ver 479 00:17:27,900 --> 00:17:30,160 Que tiene esto 480 00:17:30,160 --> 00:17:32,559 A ver si realmente me ha guardado los primos 481 00:17:32,559 --> 00:17:34,119 Es de igual a cendería menor que 482 00:17:34,119 --> 00:17:36,559 ¿Qué tamaño 483 00:17:36,559 --> 00:17:37,759 Tiene números primos? 484 00:17:37,960 --> 00:17:40,420 Ni puñetera idea, no lo sé 485 00:17:40,420 --> 00:17:42,359 Números sí sé los que tiene 486 00:17:42,359 --> 00:17:43,460 Porque lo he hecho yo 487 00:17:43,460 --> 00:17:46,640 Números primos no sé el tamaño que tiene 488 00:17:46,640 --> 00:17:48,079 No lo sé 489 00:17:48,079 --> 00:17:49,779 Porque la función ha sacado los primos 490 00:17:49,779 --> 00:17:51,880 Lo ha guardado, pero sé que sea el que sea 491 00:17:51,880 --> 00:17:52,279 Hasta ahí 492 00:17:52,279 --> 00:17:55,599 Entonces aquí, aquí sí que sí 493 00:17:55,599 --> 00:17:58,240 Este for tenemos que usar length 494 00:17:58,240 --> 00:17:59,519 Porque no tenemos ni idea 495 00:17:59,519 --> 00:18:01,519 De números primos cuánto tamaño tiene 496 00:18:01,519 --> 00:18:02,160 No tenemos ni idea 497 00:18:02,160 --> 00:18:06,900 Entonces ahora ya 498 00:18:06,900 --> 00:18:10,259 Vamos a mostrar 499 00:18:10,259 --> 00:18:13,819 Los primos 500 00:18:13,819 --> 00:18:16,380 Que serán números 501 00:18:16,380 --> 00:18:20,460 primos de i 502 00:18:20,460 --> 00:18:23,880 claro, más claro 503 00:18:23,880 --> 00:18:25,799 sobre todo, que al final hacen las mismas líneas 504 00:18:25,799 --> 00:18:27,500 de código, pero queda más claro 505 00:18:27,500 --> 00:18:29,900 vale, voy a poner todos los números primos de i 506 00:18:29,900 --> 00:18:31,559 en la misma línea, separados por un espacio 507 00:18:31,559 --> 00:18:34,019 vale, vamos a ver de estos que yo he puesto 508 00:18:34,019 --> 00:18:35,420 aquí a voleo, cuáles son primos 509 00:18:35,420 --> 00:18:37,299 hombre, el 7 va a ser primo seguro 510 00:18:37,299 --> 00:18:39,720 y ahora este 511 00:18:39,720 --> 00:18:40,740 y este no lo sé 512 00:18:40,740 --> 00:18:44,019 el 97 y el otro, el 97 tiene pinta 513 00:18:44,019 --> 00:18:44,480 de que sí 514 00:18:44,480 --> 00:18:48,099 vamos a ejecutar esto 515 00:18:48,099 --> 00:18:51,859 7 y 97 516 00:18:51,859 --> 00:18:53,799 Pues el otro este 517 00:18:53,799 --> 00:18:55,019 Que he hecho a voleo no era primo 518 00:18:55,019 --> 00:18:57,740 Este de aquí no era primo 519 00:18:57,740 --> 00:18:58,559 Si le pongo otro 1 520 00:18:58,559 --> 00:19:00,680 Será primo 521 00:19:00,680 --> 00:19:03,200 Si vas a intentar aceptar un primo así 522 00:19:03,200 --> 00:19:04,339 Pues tampoco es primo 523 00:19:04,339 --> 00:19:06,220 Y si le pongo un 3 y un 1 524 00:19:06,220 --> 00:19:09,279 Te aplaudo 525 00:19:09,279 --> 00:19:10,700 Nada, no 526 00:19:10,700 --> 00:19:14,200 Claro, porque sería para seguridad informática 527 00:19:14,200 --> 00:19:15,640 Sería un crack, ¿verdad? 528 00:19:15,720 --> 00:19:16,799 Si fuera capaz de... 529 00:19:16,799 --> 00:19:19,400 ¿Eres capaz de intuir los primos de esa manera? 530 00:19:19,880 --> 00:19:20,759 No, pero 531 00:19:20,759 --> 00:19:22,859 había un matemático indio 532 00:19:22,859 --> 00:19:26,579 es que no me acuerdo como se llamaba