1 00:00:00,560 --> 00:00:23,480 Vale, pues ¿qué es lo primero que hemos dicho después del ejercicio? Pues vamos a leer un número validando. Pues nada, ahí ya sabemos cómo hacerlo. Lo podéis haber organizado de muchas maneras, pero si este es el numerito que yo voy a leer, por ejemplo n, pues esto es una forma muy cómoda de hacerlo. 2 00:00:23,480 --> 00:00:36,840 Mientras n, siendo n el resultado de leer por teclado un numerito entero, sea menor o igual que 1, 3 00:00:37,159 --> 00:00:45,539 necesitábamos que fuera mayor que 1, entonces el número no va a valer. 4 00:00:45,979 --> 00:00:50,420 Pues tienes que, ahí podríamos hasta dejarlo vacío, pero entonces, hombre, se queda sin mensaje. 5 00:00:54,039 --> 00:00:55,179 Introduzca número. 6 00:00:55,179 --> 00:00:58,359 este mensajito, mejor también 7 00:00:58,359 --> 00:01:00,280 si lo ponemos fuera, porque si no para la primera 8 00:01:00,280 --> 00:01:00,780 lectura 9 00:01:00,780 --> 00:01:03,520 se queda ahí, vale 10 00:01:03,520 --> 00:01:06,939 este me sobra 11 00:01:06,939 --> 00:01:08,939 vale, pues ya está 12 00:01:08,939 --> 00:01:11,840 entonces que nos acongoja 13 00:01:11,840 --> 00:01:12,719 un poco lo de 14 00:01:12,719 --> 00:01:15,959 en la expresión n menor o igual que 15 00:01:15,959 --> 00:01:17,799 1 a la vez que hago la expresión 16 00:01:17,799 --> 00:01:19,599 n menor o igual que 1 a la vez 17 00:01:19,599 --> 00:01:20,439 asignar un valor 18 00:01:20,439 --> 00:01:23,640 bueno, pues leemos el primer valor fuera 19 00:01:23,640 --> 00:01:25,719 y no pasa nada, lo leemos fuera una primera 20 00:01:25,719 --> 00:01:26,180 vez 21 00:01:26,180 --> 00:01:29,079 Esto es lo más cómodo en realidad para escribir de código 22 00:01:29,079 --> 00:01:30,620 Pero si esto nos 23 00:01:30,620 --> 00:01:33,730 Lía un poquito 24 00:01:33,730 --> 00:01:36,049 Bueno, pues no pasa nada, leemos el primer valor 25 00:01:36,049 --> 00:01:38,750 ¿Que ese primer valor es menor o igual que 1? 26 00:01:40,409 --> 00:01:42,370 Pues entonces, ¿qué tendremos que hacer? 27 00:01:42,549 --> 00:01:44,590 Mientras n sea menor o igual que 1 28 00:01:44,590 --> 00:01:46,569 Pues vuélvelo a leer otra vez 29 00:01:46,569 --> 00:01:48,109 Y así todo el rato 30 00:01:48,109 --> 00:01:52,769 ¿Vale? Este código que he escrito 31 00:01:52,769 --> 00:01:55,030 Es el mismo idéntico que el anterior 32 00:01:55,030 --> 00:01:58,469 Lo que pasa es que, bueno, que este me obliga 33 00:01:58,469 --> 00:02:02,629 hacer la primera lectura afuera, en el anterior yo lo estaba haciendo aquí 34 00:02:02,629 --> 00:02:06,689 tal cual cogía el valor n para compararlo 35 00:02:06,689 --> 00:02:09,770 con el menor igual que 1, tal cual cogía ya le daba valor 36 00:02:09,770 --> 00:02:14,090 con lo cual me ahorraba leerlo aquí y me ahorraba leerlo aquí 37 00:02:14,090 --> 00:02:19,210 eso ya bueno, va en gustos relativos 38 00:02:19,210 --> 00:02:22,530 si nos acostumbramos a hacer los programas cada vez más claros mejor 39 00:02:22,530 --> 00:02:26,169 o en este caso este tendría que introduzca el número 40 00:02:26,169 --> 00:02:28,229 tendría que ir aquí, lógicamente, si no queda un poco 41 00:02:28,229 --> 00:02:32,469 raro el programa, vale 42 00:02:32,469 --> 00:02:34,509 pues esta versión, o esto otro 43 00:02:34,509 --> 00:02:36,150 que hemos dicho, que sería más bonito 44 00:02:36,150 --> 00:02:38,949 que lo ponemos aquí en comentarios 45 00:02:38,949 --> 00:02:57,960 Wailene 46 00:02:57,960 --> 00:02:59,759 siendo en el resultado de 47 00:02:59,759 --> 00:03:00,719 leerlo 48 00:03:00,719 --> 00:03:02,860 si 49 00:03:02,860 --> 00:03:13,969 perdón, que lo tenía que poner abajo 50 00:03:13,969 --> 00:03:29,539 vale, pues 51 00:03:29,539 --> 00:03:31,159 o este bucle tal cual 52 00:03:31,159 --> 00:03:33,400 con el mensajito, primero 53 00:03:33,400 --> 00:03:49,210 claro, ahí, a ver si lo dejo 54 00:03:49,210 --> 00:03:51,069 ya bonito, vale, o esto 55 00:03:51,069 --> 00:04:16,750 O si no os gusta, a la vez que usáis una variable dentro de una condición, a la vez que la usáis dentro de la condición, darle un valor en ese momento, pues bueno, podríamos hacerlo así, como digo aquí, ¿vale? Es lo mismo, es el mismo código, este código y este ejecutan exactamente la misma cosa, pero bueno, este mejor, más elegante, este de abajo, ¿vale? 56 00:04:16,750 --> 00:04:19,790 bueno, pues entonces ya hemos hecho la validación 57 00:04:19,790 --> 00:04:20,769 y ahora 58 00:04:20,769 --> 00:04:22,870 vamos a generar 59 00:04:22,870 --> 00:04:24,970 una secuencia de numeritos 60 00:04:24,970 --> 00:04:26,230 partiendo del original 61 00:04:26,230 --> 00:04:28,889 y cuántos 62 00:04:28,889 --> 00:04:31,230 no lo sé, hasta que lleguemos a uno 63 00:04:31,230 --> 00:04:33,389 como no lo sé, ahí nunca arrancaríamos 64 00:04:33,389 --> 00:04:35,170 con un for, lógicamente 65 00:04:35,170 --> 00:04:37,730 como no sé cuántos voy a tener que generar 66 00:04:37,730 --> 00:04:39,350 pues aquí arrancamos 67 00:04:39,350 --> 00:04:39,949 con un while 68 00:04:39,949 --> 00:04:42,449 aquí arrancamos con un while 69 00:04:42,449 --> 00:04:44,889 y aquí vamos a tener que mostrar 70 00:04:44,889 --> 00:04:47,529 Los números, aquí lo que tenemos que hacer es 71 00:04:47,529 --> 00:04:48,230 Mostrar 72 00:04:48,230 --> 00:04:50,689 El número generado 73 00:04:50,689 --> 00:04:52,110 ¿Vale? 74 00:04:53,329 --> 00:04:54,870 Esto lo habéis hecho más 75 00:04:54,870 --> 00:04:57,370 Compacto, pero voy a hacerlo 76 00:04:57,370 --> 00:04:58,250 Como a pasitos 77 00:04:58,250 --> 00:05:00,189 Entonces el bucle que va a hacer 78 00:05:00,189 --> 00:05:03,050 Mostrar un número que yo genero 79 00:05:03,050 --> 00:05:03,370 ¿Vale? 80 00:05:04,350 --> 00:05:06,689 El número que yo genero, el número generado 81 00:05:06,689 --> 00:05:08,610 Y ese número generado 82 00:05:08,610 --> 00:05:10,269 ¿Cómo va a ser? 83 00:05:10,889 --> 00:05:12,269 ¿Vale? Pues ese número generado 84 00:05:12,850 --> 00:05:13,889 Depende 85 00:05:13,889 --> 00:05:19,089 De si n es par o es impar. 86 00:05:19,610 --> 00:05:28,899 Entonces, si n es par, ¿vale? 87 00:05:29,040 --> 00:05:36,620 Si n es par, pues entonces el número generado que va a ser era n entre 2, creo, ¿no? 88 00:05:37,939 --> 00:05:39,300 n entre 2. 89 00:05:39,300 --> 00:05:56,259 Y si n fuera impar, el número generado es n por 3 más 1, n por 3 más 1, ¿vale? 90 00:05:57,319 --> 00:06:01,240 Entonces, y mostramos el número generado, ¿vale? 91 00:06:02,379 --> 00:06:12,040 Esto mientras el número generado sea mayor que 1, ¿verdad? 92 00:06:12,339 --> 00:06:16,579 Mayor o igual que 1, porque hasta llegar a 1, vale. 93 00:06:19,779 --> 00:06:24,180 Los que vas a ir mostrando, lo estoy haciendo como desglosado todo por partes, 94 00:06:24,759 --> 00:06:28,000 entonces claro, ahora diríamos, el número generado, 95 00:06:28,639 --> 00:06:32,980 o sea, lo estoy haciendo como el bucle, como si estuviéramos pensando todo despacito desde el principio. 96 00:06:33,579 --> 00:06:38,339 Este bucle me va a mostrar números, ¿vale? 97 00:06:38,339 --> 00:06:41,560 Entonces, esos números vienen de aquí 98 00:06:41,560 --> 00:06:43,920 Como la condición 99 00:06:43,920 --> 00:06:46,319 Número generado mayor o igual que 1 100 00:06:46,319 --> 00:06:48,000 Está aquí, no lo puedo declarar aquí 101 00:06:48,000 --> 00:06:50,180 Lo tengo que declarar fuera, lógicamente 102 00:06:50,180 --> 00:06:51,519 Vale 103 00:06:51,519 --> 00:06:54,540 ¿Con qué valor tengo que inicializar 104 00:06:54,540 --> 00:06:55,439 Número generado? 105 00:06:55,720 --> 00:06:58,060 Pues con n, porque n es el primer número 106 00:06:58,060 --> 00:07:00,220 De la secuencia, el número generado se inicializa 107 00:07:00,220 --> 00:07:00,639 Con n 108 00:07:00,639 --> 00:07:03,060 Y ahora 109 00:07:03,060 --> 00:07:05,360 Este int ya se quita 110 00:07:05,360 --> 00:07:08,000 Y ahora, ¿qué nos falta 111 00:07:08,000 --> 00:07:12,100 por depurar aquí, que si yo he entendido bien 112 00:07:12,100 --> 00:07:15,980 el ejercicio, cada número se genera 113 00:07:15,980 --> 00:07:19,439 desde el anterior, desde el anterior, no desde el primero 114 00:07:19,439 --> 00:07:24,019 luego aquí no será n, sino número generado, cada número 115 00:07:24,019 --> 00:07:27,879 se genera desde el anterior, inicialmente se genera 116 00:07:27,879 --> 00:07:31,360 desde n, por eso lo he inicializado, inicialmente se genera desde n 117 00:07:31,360 --> 00:07:36,040 porque no estoy pensando en global, estoy pensando 118 00:07:36,040 --> 00:07:38,000 como si yo no sé o sé poco 119 00:07:38,000 --> 00:07:40,079 y lo voy haciendo como por partes 120 00:07:40,079 --> 00:07:41,980 entonces voy a hacer un bucle que muestra números 121 00:07:41,980 --> 00:07:44,319 pues este es mi número, luego ya según voy puliendo 122 00:07:44,319 --> 00:07:46,259 pues ya me voy dando cuenta de las cosas 123 00:07:46,259 --> 00:07:46,740 ¿vale? 124 00:07:47,839 --> 00:07:50,240 entonces, el número generado 125 00:07:50,240 --> 00:07:51,899 se apoya 126 00:07:51,899 --> 00:07:53,040 cada vez en el anterior 127 00:07:53,040 --> 00:07:56,420 pues entonces aquí no va a ser en mayúsculas 128 00:07:56,420 --> 00:07:57,439 sino que va a ser 129 00:07:57,439 --> 00:08:00,259 número generado 130 00:08:00,259 --> 00:08:02,040 número generado 131 00:08:02,040 --> 00:08:08,379 ¿vale? voy a bajarlo aquí abajo 132 00:08:08,379 --> 00:08:09,439 para que se vea mejor 133 00:08:09,439 --> 00:08:20,800 vale, pues ya tengo un bucle 134 00:08:20,800 --> 00:08:23,699 que me genera una secuencia de números 135 00:08:23,699 --> 00:08:27,160 empezando desde el número que me han dado ya validado 136 00:08:27,160 --> 00:08:30,699 y me la va generando de esa manera 137 00:08:30,699 --> 00:08:33,460 cada número se genera en función del anterior 138 00:08:33,460 --> 00:08:37,220 de esta manera dependiendo de si es par o impar 139 00:08:37,220 --> 00:08:41,019 vale, entonces generar la secuencia ya está 140 00:08:41,019 --> 00:08:44,759 se van generando y así hasta llegar al 1 141 00:08:44,759 --> 00:08:47,690 ¿Vale? 142 00:08:48,830 --> 00:08:50,870 Entonces, terminada esta primera parte 143 00:08:50,870 --> 00:08:52,610 Efectivamente ya uno podría pensar 144 00:08:52,610 --> 00:08:54,169 La verdad es que el n mayúscula 145 00:08:54,169 --> 00:08:56,309 Perdón, la verdad es que la variable 146 00:08:56,309 --> 00:08:58,870 Este número generado, pues me sobra 147 00:08:58,870 --> 00:09:00,350 Podría reutilizar n 148 00:09:00,350 --> 00:09:01,250 Y ya está, ¿no? 149 00:09:01,629 --> 00:09:05,009 Puedo reutilizar n e irla cambiando de valor aquí dentro 150 00:09:05,009 --> 00:09:06,250 Porque como no la vuelvo a usar 151 00:09:06,250 --> 00:09:07,570 Como no la vuelvo a usar 152 00:09:07,570 --> 00:09:10,470 Podría reutilizar esta propia variable n 153 00:09:10,470 --> 00:09:11,070 ¿Vale? 154 00:09:11,970 --> 00:09:15,090 Pero bueno, hemos empezado desde 0 155 00:09:15,090 --> 00:09:17,649 Pues así nos ha quedado por ahora 156 00:09:17,649 --> 00:09:19,529 ¿Vale? Entonces esta parte está clara 157 00:09:19,529 --> 00:09:21,830 Un bucle que va generando números 158 00:09:21,830 --> 00:09:23,870 Ese número lo tengo que guardar 159 00:09:23,870 --> 00:09:24,509 En algún sitio 160 00:09:24,509 --> 00:09:26,610 Pues me hago una variable para él 161 00:09:26,610 --> 00:09:29,269 ¿Por qué valor empieza? 162 00:09:29,450 --> 00:09:30,129 Por el inicial 163 00:09:30,129 --> 00:09:32,529 Y ahora, ¿cómo los voy generando? 164 00:09:32,710 --> 00:09:34,190 ¿Cómo me van saliendo del grifo? 165 00:09:34,929 --> 00:09:37,149 Pues me van saliendo del grifo esos números 166 00:09:37,149 --> 00:09:39,250 De esta manera, con esta fórmula 167 00:09:39,250 --> 00:09:40,330 O con esta otra 168 00:09:40,330 --> 00:09:42,330 Dependiendo de cómo sea 169 00:09:42,330 --> 00:09:44,950 El número, el anterior 170 00:09:44,950 --> 00:09:46,830 Apoyándome en el anterior 171 00:09:46,830 --> 00:09:48,809 Pues apoyándome en el anterior 172 00:09:48,809 --> 00:09:50,730 Según esta fórmula, genero el siguiente 173 00:09:50,730 --> 00:09:53,610 ¿Vale? Pues este es el grifo de números generados 174 00:09:53,610 --> 00:09:55,690 Inicialmente el N mayúscula 175 00:09:55,690 --> 00:09:57,649 ¿Cuándo acaba ese grifo de números generados? 176 00:09:57,769 --> 00:09:58,809 Cuando hayamos llegado a 1 177 00:09:58,809 --> 00:10:00,970 Podríamos hacer la primera prueba 178 00:10:00,970 --> 00:10:03,990 A ver si esto nos sale alguna cosa rara 179 00:10:03,990 --> 00:10:07,330 O no nos sale algo raro 180 00:10:07,330 --> 00:10:15,870 Vale, introduzca número 181 00:10:15,870 --> 00:10:17,610 Entonces, si yo le pongo el menos 3 182 00:10:17,610 --> 00:10:18,830 Pues me sigue pidiendo 183 00:10:18,830 --> 00:10:20,629 Si le pongo el 1, me sigue pidiendo 184 00:10:20,629 --> 00:10:22,490 le tengo que poner uno mayor que uno, vale, pues la parte 185 00:10:22,490 --> 00:10:23,490 de la validación funciona 186 00:10:23,490 --> 00:10:34,539 45, pues sí que tarda 187 00:10:34,539 --> 00:10:39,440 ¿no? es que está repitiendo el mismo 188 00:10:39,440 --> 00:10:40,379 patrón una y otra vez 189 00:10:40,379 --> 00:10:44,919 sí, ya, ya, ya voy, ya voy, que os está dando 190 00:10:44,919 --> 00:10:46,659 talk, vale 191 00:10:46,659 --> 00:10:49,159 vale 192 00:10:49,159 --> 00:10:53,080 si el número generado 193 00:10:53,080 --> 00:10:55,159 es par, se divide 194 00:10:55,159 --> 00:10:56,940 por dos, si es impar 195 00:10:56,940 --> 00:10:58,720 se multiplica por tres y se suma uno 196 00:10:58,720 --> 00:11:01,120 yo he hecho lo que 197 00:11:01,120 --> 00:11:02,019 me está diciendo, ¿no? 198 00:11:03,399 --> 00:11:20,519 NUM generado va a ser 199 00:11:20,519 --> 00:11:22,059 el generado entre 2 si es par 200 00:11:22,059 --> 00:11:24,340 el generado por 3 más 1 si es impar 201 00:11:24,340 --> 00:11:29,980 a ver 202 00:11:29,980 --> 00:11:32,519 esto tiene una, que no nos importa 203 00:11:32,519 --> 00:11:34,580 o sea que hay números para los que no termina nunca 204 00:11:34,580 --> 00:11:36,480 nos da igual, o sea yo he hecho lo que hace 205 00:11:36,480 --> 00:11:38,299 el ejercicio, solamente voy a revisar que he hecho 206 00:11:38,299 --> 00:11:39,320 lo que está en el ejercicio 207 00:11:39,320 --> 00:11:42,200 si es impar se multiplica por 3 208 00:11:42,200 --> 00:11:43,100 y se suma 1 209 00:11:43,100 --> 00:11:45,600 he hecho lo que me está diciendo 210 00:11:45,600 --> 00:11:47,159 voy a volver a 211 00:11:47,159 --> 00:11:50,399 si voy a probarlo 212 00:11:50,399 --> 00:11:50,960 con otro 213 00:11:50,960 --> 00:11:59,529 bueno pues interesante que hemos hecho mal 214 00:11:59,529 --> 00:12:00,509 vamos a encontrarlo 215 00:12:00,509 --> 00:12:05,370 mientras el número 216 00:12:05,370 --> 00:12:07,470 sea mayor o igual que 217 00:12:07,470 --> 00:12:08,649 uno, ¿no? Está bien, ¿no? 218 00:12:09,850 --> 00:12:10,509 No un generado. 219 00:12:12,149 --> 00:12:17,509 Ah, efectivamente. Muy bien 220 00:12:17,509 --> 00:12:19,549 visto. Claro, porque si yo 221 00:12:19,549 --> 00:12:21,330 me meto para el uno, es cuando ya 222 00:12:21,330 --> 00:12:23,090 la lío otra vez. 223 00:12:23,649 --> 00:12:25,529 Vale, vale, vale, vale, vale. Muy, muy, muy 224 00:12:25,529 --> 00:12:26,610 bien visto. Vale. 225 00:12:27,490 --> 00:12:29,490 Vale. Pues de ahí la importancia 226 00:12:29,490 --> 00:12:31,490 de hacer unas pruebas intermedias. 227 00:12:31,610 --> 00:12:33,450 Muy bien visto. Estaba yo obsesionada con el uno. 228 00:12:34,789 --> 00:12:35,549 Vale. Ahora 229 00:12:35,549 --> 00:12:36,850 ya... Sí. 230 00:12:37,470 --> 00:12:42,750 Vale, pues entonces ya nos hemos dado cuenta de este errorcillo 231 00:12:42,750 --> 00:12:44,570 Haciendo las pruebas, ¿hemos sacado el ejercicio? 232 00:12:44,649 --> 00:12:47,950 No, nos falta mostrar aquí 233 00:12:47,950 --> 00:12:50,490 Nos falta mostrar aquí 234 00:12:50,490 --> 00:12:55,649 Cuántas veces, cuántos números se han generado 235 00:12:55,649 --> 00:12:56,710 Y cuál ha sido el mayor 236 00:12:56,710 --> 00:13:00,210 Eso es meter el algoritmo que ya sabemos de cuenta y de máximo 237 00:13:00,210 --> 00:13:02,490 Venga, pues vamos a contar 238 00:13:02,490 --> 00:13:06,649 Pues si vamos a contar un contador que se inicializa cero 239 00:13:06,649 --> 00:13:09,350 Y lo incremento 240 00:13:09,350 --> 00:13:12,330 Para cada número generado 241 00:13:12,330 --> 00:13:13,409 Esa parte ya está 242 00:13:13,409 --> 00:13:16,789 Es contar, no tenemos mayor problema 243 00:13:16,789 --> 00:13:20,549 Se han generado 244 00:13:20,549 --> 00:13:25,710 Dime 245 00:13:25,710 --> 00:13:41,090 A ver 246 00:13:41,090 --> 00:13:43,389 Lo puedes hacer, todo lo que esté bien hecho 247 00:13:43,389 --> 00:13:44,110 Está bien hecho 248 00:13:44,110 --> 00:13:47,210 Si tú dices usar un for y así no usas una variable 249 00:13:47,210 --> 00:13:48,470 Aparte, por ejemplo 250 00:13:48,470 --> 00:13:58,740 Bueno, es otra forma de escribirlo 251 00:13:58,740 --> 00:14:00,620 Lo que pasa es que como el for suele tener 252 00:14:00,940 --> 00:14:03,919 se asume o se asocia a usos muy específicos 253 00:14:03,919 --> 00:14:07,299 que es recorrido de colecciones 254 00:14:07,299 --> 00:14:10,240 recorrido de arrays, de colecciones de datos 255 00:14:10,240 --> 00:14:11,899 con índices que indican posiciones 256 00:14:11,899 --> 00:14:15,519 pues normalmente uno espera de un for que se use para hacer esas cosas 257 00:14:15,519 --> 00:14:18,539 pero no es que esté mal 258 00:14:18,539 --> 00:14:21,879 no es que esté mal ni bien 259 00:14:21,879 --> 00:14:24,980 sino que se asocia sobre todo a ese tipo de códigos 260 00:14:24,980 --> 00:14:28,419 entonces uno ve un for 261 00:14:28,419 --> 00:14:32,120 y se espera una colección de datos que va recogiendo, recorriendo. 262 00:14:32,259 --> 00:14:34,620 Aquí en realidad no hay una colección de datos, va generando un número, 263 00:14:34,740 --> 00:14:37,580 pero bueno, que tampoco es que haya un criterio, está bien o está mal. 264 00:14:38,980 --> 00:14:40,460 Vale, se ha generado con números. 265 00:14:40,600 --> 00:14:42,100 Y ahora el máximo, el máximo. 266 00:14:42,740 --> 00:14:44,580 Pues, ¿cómo hacemos algoritmo de máximo? 267 00:14:45,360 --> 00:14:47,019 Pues ya lo hemos hecho muchas veces. 268 00:14:48,019 --> 00:14:49,820 El máximo se hace. 269 00:14:50,919 --> 00:14:55,419 Yo inicialmente asumo como máximo el primero de todos 270 00:14:55,419 --> 00:14:57,340 o el menor valor posible 271 00:14:57,340 --> 00:14:59,620 para que el primero se convierta 272 00:14:59,620 --> 00:15:00,500 en el primer máximo. 273 00:15:01,200 --> 00:15:02,980 Y para el máximo siempre hay un bucle 274 00:15:02,980 --> 00:15:04,259 que me va soltando números. 275 00:15:04,899 --> 00:15:06,440 Siempre hay un bucle que me va soltando números. 276 00:15:06,580 --> 00:15:08,139 El bucle que aquí en este caso es este. 277 00:15:08,740 --> 00:15:11,340 Y ahora, para cada número que me suelta, 278 00:15:11,379 --> 00:15:12,419 cada número que me suelta, 279 00:15:12,480 --> 00:15:14,460 ¿es mayor que el máximo hasta ese momento? 280 00:15:14,580 --> 00:15:15,519 Tengo nuevo máximo. 281 00:15:16,940 --> 00:15:19,120 El máximo siempre implica que hay un bucle 282 00:15:19,120 --> 00:15:20,340 que me va soltando las cosas. 283 00:15:20,860 --> 00:15:22,200 Y yo cada cosa que me suelta 284 00:15:22,200 --> 00:15:25,240 la comparo con el máximo hasta ese momento. 285 00:15:25,419 --> 00:15:27,980 para ver si me toca reutilizar o no. 286 00:15:28,860 --> 00:15:31,419 Aquí la clave es con qué valor inicializo máximo 287 00:15:31,419 --> 00:15:34,360 para asegurarme de que el primer número 288 00:15:34,360 --> 00:15:36,159 siempre se va a convertir en el máximo. 289 00:15:36,919 --> 00:15:37,659 Esa es la clave. 290 00:15:37,740 --> 00:15:40,340 Me tengo que asegurar inicializando el máximo actual 291 00:15:40,340 --> 00:15:42,899 que el primer número siempre se va a convertir en el máximo. 292 00:15:43,419 --> 00:15:47,080 Entonces, aquí los números van a ser todos mayor que 1, siempre. 293 00:15:47,080 --> 00:15:50,779 Entonces, con que inicialice a 0, es suficiente. 294 00:15:52,460 --> 00:15:53,779 Joder, ¿qué estoy haciendo? 295 00:15:53,779 --> 00:15:59,139 Ahí, ya está 296 00:15:59,139 --> 00:16:01,919 ¿Vale? Con que lo inicialice a 0 297 00:16:01,919 --> 00:16:02,899 El máximo actual 298 00:16:02,899 --> 00:16:04,559 Ya tengo la garantía 299 00:16:04,559 --> 00:16:07,419 De que la operación de máximo 300 00:16:07,419 --> 00:16:08,860 Que la voy a hacer ahora 301 00:16:08,860 --> 00:16:11,340 Si mi número generado 302 00:16:11,340 --> 00:16:15,110 Es mayor 303 00:16:15,110 --> 00:16:20,509 ¿Vale? 304 00:16:21,049 --> 00:16:27,350 Si mi número generado es mayor 305 00:16:27,350 --> 00:16:29,330 Que el máximo 306 00:16:29,330 --> 00:16:30,649 Hasta ese momento 307 00:16:30,649 --> 00:16:33,190 Tengo nuevo máximo 308 00:16:33,190 --> 00:16:41,980 Y ahora ya me falta mostrarlo 309 00:16:41,980 --> 00:16:42,940 Y hemos terminado 310 00:16:42,940 --> 00:16:48,580 el valor pico ha sido 311 00:16:48,580 --> 00:16:52,490 más 312 00:16:52,490 --> 00:16:53,570 actual 313 00:16:53,570 --> 00:16:56,649 vale, bueno pues ahora ya si que 314 00:16:56,649 --> 00:16:57,730 lo tengo completo 315 00:16:57,730 --> 00:17:00,549 a falta de hacer alguna prueba 316 00:17:00,549 --> 00:17:01,929 porque se me puede haber escapado 317 00:17:01,929 --> 00:17:04,329 otro detalle 318 00:17:04,329 --> 00:17:05,569 como el que 319 00:17:05,569 --> 00:17:08,470 se me ha escapado antes del mayor o igual 320 00:17:08,470 --> 00:17:10,430 vale, entonces 321 00:17:10,430 --> 00:17:11,809 este ejercicio 322 00:17:11,809 --> 00:17:14,130 pues nada, combinaba 323 00:17:14,130 --> 00:17:16,170 cuatro cosas básicas 324 00:17:16,170 --> 00:17:19,130 validar un número, un bucle 325 00:17:19,130 --> 00:17:20,210 que está validando el número 326 00:17:20,210 --> 00:17:22,009 ahora ya otro bucle 327 00:17:22,009 --> 00:17:24,869 que va generando 328 00:17:24,869 --> 00:17:26,990 numeritos, según una secuencia 329 00:17:26,990 --> 00:17:27,829 los va generando 330 00:17:27,829 --> 00:17:29,990 y tiene una condición 331 00:17:29,990 --> 00:17:33,029 de finalización, la que sea 332 00:17:33,029 --> 00:17:35,029 entonces yo a priori no sé cuántas 333 00:17:35,029 --> 00:17:36,210 veces se va a ejecutar, pues 334 00:17:36,210 --> 00:17:37,930 me pega más un for 335 00:17:37,930 --> 00:17:39,130 ¿vale? 336 00:17:43,539 --> 00:17:44,900 y ahora, ¿qué tengo que 337 00:17:44,900 --> 00:17:46,519 incorporar? una cuenta 338 00:17:46,519 --> 00:17:49,759 que está ahí incorporada y una operación de máximo 339 00:17:49,759 --> 00:17:52,779 que la operación de máximo siempre es así 340 00:17:52,779 --> 00:17:56,579 cada valor que me va llegando comparo con el máximo actual 341 00:17:56,579 --> 00:17:59,859 si lo supera tengo nuevo máximo y actualizo 342 00:17:59,859 --> 00:18:03,559 y luego tengo que pensar bien el valor inicial del máximo 343 00:18:03,559 --> 00:18:06,440 para asegurarme de que el primer valor 344 00:18:06,440 --> 00:18:10,519 de la secuencia se va a convertir en el máximo 345 00:18:10,519 --> 00:18:13,380 primero, vale, aquí con el 346 00:18:13,380 --> 00:18:15,759 Bueno, pues esto más o menos 347 00:18:15,759 --> 00:18:17,220 Estaría hecho 348 00:18:17,220 --> 00:18:18,720 Y 349 00:18:18,720 --> 00:18:21,579 Introduzca número 7 350 00:18:21,579 --> 00:18:25,339 El valor pico ha sido 52 351 00:18:25,339 --> 00:18:27,400 Esta prueba sí que la ha hecho bien por lo menos 352 00:18:27,400 --> 00:18:28,480 Y se han generado 16 353 00:18:28,480 --> 00:18:30,859 Podríamos seguir haciendo pruebas, pero bueno 354 00:18:30,859 --> 00:18:33,799 Es de esperar que no hayamos cometido ningún error 355 00:18:33,799 --> 00:18:35,420 Si he acertado en este 356 00:18:35,420 --> 00:18:41,349 Vale, pues este ya estaba 357 00:18:41,349 --> 00:18:43,109 Este era 358 00:18:43,109 --> 00:18:45,869 En principio 359 00:18:45,869 --> 00:18:48,369 el sencillo, o sea, esto 360 00:18:48,369 --> 00:18:50,670 ya eran 361 00:18:50,670 --> 00:18:52,410 tres puntos 362 00:18:52,410 --> 00:18:53,730 si hacíais este ejercicio 363 00:18:53,730 --> 00:18:56,269 y este ejercicio, pues sí que era 364 00:18:56,269 --> 00:18:58,049 sota, caballo y rey, lo de clases 365 00:18:58,049 --> 00:19:00,470 calcado, no tenía nada muy 366 00:19:00,470 --> 00:19:02,170 extraño, ni muy de pensar, este era 367 00:19:02,170 --> 00:19:04,630 entonces había que rascar dos puntos 368 00:19:04,630 --> 00:19:06,450 en los otros siete, entonces yo creo que 369 00:19:06,450 --> 00:19:08,569 hombre, que lo ha probado, creo que no era complicado 370 00:19:08,569 --> 00:19:10,529 había que rascar dos puntos de los otros 371 00:19:10,529 --> 00:19:11,930 siete para tener ya un aprobado 372 00:19:11,930 --> 00:19:16,019 bueno, pues este, vale 373 00:19:16,019 --> 00:19:23,619 Nos vamos con el segundo, que era un poquito más, podía ser más retorcido, en función de cómo lo planteara uno, podía ser más retorcido. 374 00:19:23,619 --> 00:19:44,789 vale, pues este enunciado 375 00:19:44,789 --> 00:19:50,410 leer una cadena 376 00:19:50,410 --> 00:19:53,089 que dijimos que iba a tener siempre 377 00:19:53,089 --> 00:19:54,450 el patrón de 378 00:19:54,450 --> 00:19:56,769 unas cuantas letras 379 00:19:56,769 --> 00:19:58,809 o caracteres, otros cuantos caracteres 380 00:19:58,809 --> 00:20:01,029 otros cuantos caracteres, entre uno y varios 381 00:20:01,029 --> 00:20:03,089 cada uno, pero que nunca se iban 382 00:20:03,089 --> 00:20:04,849 a repetir, si yo ya había tenido 383 00:20:04,849 --> 00:20:06,210 un pack de caracteres 384 00:20:06,210 --> 00:20:08,890 ese carácter ya no iba a aparecer 385 00:20:08,890 --> 00:20:11,269 en ningún otro pack, porque si no se podía complicar 386 00:20:11,269 --> 00:20:13,089 más el ejercicio y no había necesidad 387 00:20:13,089 --> 00:20:15,150 vale, pues entonces 388 00:20:15,150 --> 00:20:16,589 entendiendo que 389 00:20:16,589 --> 00:20:19,670 la cadena 390 00:20:19,670 --> 00:20:20,849 de partida iba a ser esa 391 00:20:20,849 --> 00:20:23,089 que no había ni que validarla ni que nada 392 00:20:23,089 --> 00:20:24,950 asumimos que el usuario la introduce bien 393 00:20:24,950 --> 00:20:28,930 en realidad cualquier cosa que introduce 394 00:20:28,930 --> 00:20:30,569 bueno, sí, que la introduce bien 395 00:20:30,569 --> 00:20:32,930 la convertimos en esto de aquí 396 00:20:32,930 --> 00:20:35,490 y luego ya mostramos la convertida 397 00:20:35,490 --> 00:20:37,410 a la original en función 398 00:20:37,410 --> 00:20:39,750 de si la original es más corta 399 00:20:39,750 --> 00:20:41,130 o más larga que la convertida 400 00:20:41,130 --> 00:20:43,230 vale, pues entonces 401 00:20:43,230 --> 00:20:45,950 vamos a arrancarlo 402 00:20:45,950 --> 00:20:48,230 como leemos del teclado 403 00:20:48,230 --> 00:20:49,069 pues 404 00:20:49,069 --> 00:20:58,859 y ahora pedimos el dato 405 00:20:58,859 --> 00:21:00,019 el único dato que hay 406 00:21:00,019 --> 00:21:02,339 que es la cadena a convertir 407 00:21:02,339 --> 00:21:21,779 vale, y ahora ya sí que 408 00:21:21,779 --> 00:21:23,059 bueno, empezamos 409 00:21:23,059 --> 00:21:25,000 uno ya antes de empezar a escribir 410 00:21:25,000 --> 00:21:27,039 pues piensa más o menos cómo lo va a hacer 411 00:21:27,039 --> 00:21:28,460 se hace una primera idea 412 00:21:28,460 --> 00:21:33,220 lo que está claro es que el resultante del ejercicio, el resultante es otra cadena. 413 00:21:34,420 --> 00:21:47,880 Entonces, pues yo me haría ahí mi cadena y tiene sentido pensar que la cadena resultante la vamos a obtener concatenando lo que vayamos obteniendo de contar de la original. 414 00:21:48,240 --> 00:21:57,140 De la original vamos a ir contando y vamos a ir concatenando sobre la resultante el carácter que hayamos contado con su contador, vamos a ir concatenando. 415 00:21:57,140 --> 00:21:59,420 con lo cual mi cadena resultado 416 00:21:59,420 --> 00:22:02,079 como yo ya preveo que la voy a construir 417 00:22:02,079 --> 00:22:03,579 concatenando sobre ella 418 00:22:03,579 --> 00:22:05,339 concatenando y concatenando sobre ella 419 00:22:05,339 --> 00:22:08,440 los patrones que voy encontrando 420 00:22:08,440 --> 00:22:10,420 pues la inicializo con el vacío 421 00:22:10,420 --> 00:22:12,559 para poder ir haciendo una concatenación 422 00:22:12,559 --> 00:22:14,440 esto es como la suma acumulativa 423 00:22:14,440 --> 00:22:15,579 que inicializamos con cero 424 00:22:15,579 --> 00:22:18,579 para que lo primero que sumamos al acumulador 425 00:22:18,579 --> 00:22:19,559 se le sume al cero 426 00:22:19,559 --> 00:22:22,000 pues esta es la cadena acumulativa 427 00:22:22,000 --> 00:22:23,700 la inicializo al vacío 428 00:22:23,700 --> 00:22:26,039 para que lo primero que concatenemos 429 00:22:26,039 --> 00:22:28,839 se concatene sobre la cadena vacía 430 00:22:28,839 --> 00:22:30,880 y ahora 431 00:22:30,880 --> 00:22:34,220 pues que es lo más sencillo 432 00:22:34,220 --> 00:22:35,119 que se nos puede ocurrir 433 00:22:35,119 --> 00:22:37,079 pues voy a recorrer la cadena 434 00:22:37,079 --> 00:22:39,940 y voy a ir contando 435 00:22:39,940 --> 00:22:42,420 para cada carácter 436 00:22:42,420 --> 00:22:44,599 si es igual que la anterior 437 00:22:44,599 --> 00:22:45,599 cada vez que encuentre 438 00:22:45,599 --> 00:22:46,960 que es igual que el siguiente 439 00:22:46,960 --> 00:22:48,000 que es igual que el siguiente 440 00:22:48,000 --> 00:22:48,619 que es igual que el siguiente 441 00:22:48,619 --> 00:22:50,400 incremento un contador 442 00:22:50,400 --> 00:22:55,000 cuando ya no es igual que el siguiente 443 00:22:55,000 --> 00:22:57,880 ahí ya puedo hacer una primera concatenación 444 00:22:57,880 --> 00:22:59,319 y reinicio el contador 445 00:22:59,319 --> 00:23:01,660 ¿vale? es lo primero 446 00:23:01,660 --> 00:23:03,579 que a mí se me ocurriría y me parece 447 00:23:03,579 --> 00:23:04,539 que lleva lo más fácil 448 00:23:04,539 --> 00:23:07,539 pero bueno, lo habéis hecho de formas muy 449 00:23:07,539 --> 00:23:09,559 distintas, ¿vale? lo primero que a mí 450 00:23:09,559 --> 00:23:10,839 se me ocurriría, repito, es 451 00:23:10,839 --> 00:23:12,480 arranco con la cadena 452 00:23:12,480 --> 00:23:15,200 y voy contando 453 00:23:15,200 --> 00:23:17,759 para cada carácter si es igual que el siguiente 454 00:23:17,759 --> 00:23:19,960 si es igual que el siguiente, si es igual que el siguiente 455 00:23:19,960 --> 00:23:21,220 y así voy contando 456 00:23:21,220 --> 00:23:23,680 en cuanto llegue a uno que no es 457 00:23:23,680 --> 00:23:25,880 igual que el siguiente, paro el contador 458 00:23:25,880 --> 00:23:27,440 y ya puedo hacer la primera 459 00:23:27,440 --> 00:23:28,779 concatenación al resultado. 460 00:23:30,059 --> 00:23:30,759 Y como ya he parado 461 00:23:30,759 --> 00:23:34,140 al contador, 462 00:23:34,880 --> 00:23:36,160 la siguiente 463 00:23:36,160 --> 00:23:37,640 iteración del while ya va a ir 464 00:23:37,640 --> 00:23:39,440 contando con el siguiente carácter. 465 00:23:40,400 --> 00:23:41,920 Es decir, algo así, por ejemplo. 466 00:23:43,299 --> 00:23:44,920 Como vamos a recorrer una cadena, 467 00:23:46,099 --> 00:23:47,119 ahora ya una cadena 468 00:23:47,119 --> 00:23:49,940 tiene sus posiciones desde la primera a la última, 469 00:23:49,940 --> 00:23:51,339 unas posiciones concretas. 470 00:23:51,839 --> 00:23:53,440 Una cadena la recorro como un for, 471 00:23:53,440 --> 00:23:54,980 Desde su primera posición a la última 472 00:23:54,980 --> 00:23:57,000 Entonces, como una raíz, perdón 473 00:23:57,000 --> 00:23:59,200 Con lo cual aquí, pues un for 474 00:23:59,200 --> 00:24:00,599 Es lo más cómodo 475 00:24:00,599 --> 00:24:03,839 Desde igual a cero, siendo y la posición de la cadena 476 00:24:03,839 --> 00:24:06,220 Mientras y sea menor 477 00:24:06,220 --> 00:24:07,660 Que mi cadena 478 00:24:07,660 --> 00:24:10,279 Length 479 00:24:10,279 --> 00:24:12,819 Incrementando y 480 00:24:12,819 --> 00:24:14,819 ¿Vale? Yo hago una primera 481 00:24:14,819 --> 00:24:16,339 Un primer prototipo 482 00:24:16,339 --> 00:24:17,759 Y luego ya vamos arreglando 483 00:24:17,759 --> 00:24:19,339 Ya vamos arreglando, ¿no? 484 00:24:20,819 --> 00:24:22,319 Pero hago un primer prototipo 485 00:24:22,319 --> 00:24:25,140 y luego ya vamos arreglando cositas, detalles, etc. 486 00:24:25,460 --> 00:24:27,339 Entonces, yo he dicho, lo primero que voy a hacer, 487 00:24:27,440 --> 00:24:31,059 voy a recorrer mi cadena para iniciar un bucle 488 00:24:31,059 --> 00:24:34,819 y mientras mi carácter sea igual al siguiente, lo cuento. 489 00:24:35,900 --> 00:24:44,859 Entonces, pues aquí, mi contador, ¿vale? 490 00:24:45,339 --> 00:25:00,180 Y ahora, si el carácter en la posición en la que estoy 491 00:25:00,180 --> 00:25:03,299 resulta que es igual 492 00:25:03,299 --> 00:25:07,440 al carácter 493 00:25:07,440 --> 00:25:09,799 en la posición siguiente 494 00:25:09,799 --> 00:25:11,759 aquí en cuanto 495 00:25:11,759 --> 00:25:13,099 pongo un i más uno 496 00:25:13,099 --> 00:25:15,980 ya se me despiertan las alarmas 497 00:25:15,980 --> 00:25:17,980 sobre este límite superior 498 00:25:17,980 --> 00:25:19,900 del for, ya se me despiertan 499 00:25:19,900 --> 00:25:21,779 las alarmas, pero bueno, eso ya 500 00:25:21,779 --> 00:25:23,380 lo retocamos ahora 501 00:25:23,380 --> 00:25:25,599 primero yo me hago mi primer prototipo 502 00:25:25,599 --> 00:25:27,799 donde más o menos planteo mi idea 503 00:25:27,799 --> 00:25:29,059 esbozo mi idea 504 00:25:29,059 --> 00:25:31,079 y luego ya la voy afinando 505 00:25:31,079 --> 00:25:33,259 ¿vale? pero está bien que yo te digo 506 00:25:33,259 --> 00:25:35,440 uy cuidado, estás comparando cada carácter 507 00:25:35,440 --> 00:25:36,420 con el siguiente 508 00:25:36,420 --> 00:25:39,119 cuidadín, que entonces 509 00:25:39,119 --> 00:25:41,700 no te vas a poder parar en el último 510 00:25:41,700 --> 00:25:43,259 te vas a tener que parar en el anterior 511 00:25:43,259 --> 00:25:45,640 siempre, ahí ya se me despierta 512 00:25:45,640 --> 00:25:47,019 la primera alarma, ¿vale? 513 00:25:47,579 --> 00:25:48,720 bueno, pues si 514 00:25:48,720 --> 00:25:51,319 el carácter en el que estoy es igual al siguiente 515 00:25:51,319 --> 00:25:53,039 incremento el contador 516 00:25:53,039 --> 00:26:00,059 contador que he inicializado a 1 517 00:26:00,059 --> 00:26:01,940 ¿por qué? porque el 518 00:26:01,940 --> 00:26:04,099 Carácter charad y ya es uno 519 00:26:04,099 --> 00:26:05,859 Ya es un carácter, ya es uno 520 00:26:05,859 --> 00:26:06,940 Por eso he inicializado a uno 521 00:26:06,940 --> 00:26:10,019 Vale, entonces, así voy 522 00:26:10,019 --> 00:26:12,720 Carácter en la posición y es igual al siguiente 523 00:26:12,720 --> 00:26:14,079 Incrementando, vale 524 00:26:14,079 --> 00:26:16,119 El bucle volverá 525 00:26:16,119 --> 00:26:17,799 Sigue siendo igual al siguiente 526 00:26:17,799 --> 00:26:20,019 Muy bien, incremento contador 527 00:26:20,019 --> 00:26:21,339 El bucle for volverá 528 00:26:21,339 --> 00:26:24,160 Sigue siendo tú igual a tu siguiente 529 00:26:24,160 --> 00:26:26,380 Incremento contador, el bucle volverá 530 00:26:26,380 --> 00:26:28,640 Sigue siendo tú igual a tu siguiente 531 00:26:28,640 --> 00:26:29,680 Incremento contador 532 00:26:29,680 --> 00:26:31,980 llegará un momento en el cual 533 00:26:31,980 --> 00:26:33,980 me pare yo en una posición, ya he acabado 534 00:26:33,980 --> 00:26:35,059 todas las as, por ejemplo 535 00:26:35,059 --> 00:26:37,539 llegará el momento en el que me pare en una posición 536 00:26:37,539 --> 00:26:39,940 en la que ya no soy igual 537 00:26:39,940 --> 00:26:41,940 que mi siguiente, llegará un 538 00:26:41,940 --> 00:26:44,000 momento en que ya estoy parada en una posición 539 00:26:44,000 --> 00:26:45,680 en la que ya no soy igual a mi siguiente 540 00:26:45,680 --> 00:26:47,920 pues entonces ahí me toca 541 00:26:47,920 --> 00:26:49,519 construir resultado 542 00:26:49,519 --> 00:26:52,160 pues venga, resultado 543 00:26:52,160 --> 00:26:53,359 más igual 544 00:26:53,359 --> 00:26:55,960 el carácter concreto en el que estoy 545 00:26:55,960 --> 00:26:59,809 que ya no es igual 546 00:26:59,809 --> 00:27:00,589 al siguiente 547 00:27:00,589 --> 00:27:03,309 que ya no es igual al siguiente 548 00:27:03,309 --> 00:27:05,930 concatenado 549 00:27:05,930 --> 00:27:07,670 con 550 00:27:07,670 --> 00:27:10,069 el contador 551 00:27:10,069 --> 00:27:15,119 aquí de nuevo 552 00:27:15,119 --> 00:27:17,259 se me despierta una pequeña 553 00:27:17,259 --> 00:27:18,960 alarma de si este más 554 00:27:18,960 --> 00:27:21,599 va a hacer la suma o la concatenación 555 00:27:21,599 --> 00:27:23,279 yo quiero que haga la concatenación 556 00:27:23,279 --> 00:27:25,279 vale, pero lo voy a dejar 557 00:27:25,279 --> 00:27:27,079 así para luego ir arreglando los errores 558 00:27:27,079 --> 00:27:29,299 si uno no se da cuenta y le sale 559 00:27:29,299 --> 00:27:31,180 y ahora que me falta 560 00:27:31,180 --> 00:27:33,000 volver a poner el contador a 1 561 00:27:33,000 --> 00:27:34,000 para reiniciar la cuenta 562 00:27:34,000 --> 00:27:40,660 ¿vale? este sería el esbozo de la idea 563 00:27:40,660 --> 00:27:43,279 que he planteado 564 00:27:43,279 --> 00:27:46,619 ahora ya hay que retocar a ver si esto funciona o no 565 00:27:46,619 --> 00:27:50,599 ¿vale? entonces el esbozo de la idea pues consiste en esto 566 00:27:50,599 --> 00:28:06,319 el esbozo de la idea 567 00:28:06,319 --> 00:28:09,680 consiste en esto, yo tengo por ejemplo esto 568 00:28:09,680 --> 00:28:13,180 a, a, c, c, d, d, d, era 569 00:28:13,180 --> 00:28:30,019 Voy a recorrer la cadena para cada posición y ¿eres igual que tu siguiente? Incremento contador. Ahora voy a esta. ¿Eres igual que tu siguiente? Incremento contador. Ya llevaría 3 porque como el contador ha empezado en 1. Ahora estoy en esta. ¿Eres igual a tu siguiente? No, no eres igual. 570 00:28:30,019 --> 00:28:31,920 pues entonces me voy al else 571 00:28:31,920 --> 00:28:34,319 el else lo que hace ya es concatenar 572 00:28:34,319 --> 00:28:35,559 a resultado 573 00:28:35,559 --> 00:28:38,200 la parte que toca, que es el carácter 574 00:28:38,200 --> 00:28:40,200 en esta posición, el a, con su cuenta 575 00:28:40,200 --> 00:28:42,180 y reiniciar contador a 1 576 00:28:42,180 --> 00:28:44,099 ahora, el bucle 577 00:28:44,099 --> 00:28:46,359 vuelve, c, tú, ¿eres igual a tu siguiente? 578 00:28:46,599 --> 00:28:47,880 sí, c igual a 2 579 00:28:47,880 --> 00:28:50,420 ahora estoy aquí, ¿tú eres igual a tu siguiente? 580 00:28:50,599 --> 00:28:52,359 no, pues toca el else 581 00:28:52,359 --> 00:28:54,400 que concatenará el resultado 582 00:28:54,400 --> 00:28:55,960 el c con su contador 583 00:28:55,960 --> 00:28:58,319 y ya está, y reiniciará 584 00:28:58,319 --> 00:29:05,839 contador a 1 y pasamos al siguiente tú eres igual a tu siguiente si el contador 2 paramos aquí tú 585 00:29:05,839 --> 00:29:15,000 eres igual a tu siguiente si contador 3 vale entonces aquí quedan varias cosas por definir 586 00:29:15,000 --> 00:29:22,480 que es cuidadín con esto y a ver si esto me está haciendo con concatenación o me está sumando 587 00:29:22,480 --> 00:29:28,700 y ¿qué pasa en el último pack? 588 00:29:29,720 --> 00:29:31,240 ¿Qué pasa en el último pack? 589 00:29:31,839 --> 00:29:33,579 Porque si yo tengo 3Ds, 590 00:29:34,539 --> 00:29:36,140 cuando he parado en este, 591 00:29:37,900 --> 00:29:39,000 ¿tú eres igual a tu siguiente? 592 00:29:39,180 --> 00:29:40,359 Sí, contador igual a 2. 593 00:29:40,660 --> 00:29:41,759 ¿Tú eres igual a tu siguiente? 594 00:29:41,980 --> 00:29:43,339 Ah, no, me paro en el penúltimo. 595 00:29:43,940 --> 00:29:45,180 ¿Tú eres igual a tu siguiente? 596 00:29:45,180 --> 00:29:49,259 Entonces, contador igual a 3, ¿vale? 597 00:29:49,259 --> 00:29:52,619 pero como el bucle se para aquí 598 00:29:52,619 --> 00:29:54,700 me faltaría 599 00:29:54,700 --> 00:29:56,160 por concatenar lo último 600 00:29:56,160 --> 00:29:58,099 entonces tendríamos que añadirlo al final 601 00:29:58,099 --> 00:30:00,299 y ya está, pero vamos a 602 00:30:00,299 --> 00:30:02,380 hacer las primeras pruebas 603 00:30:02,380 --> 00:30:04,279 de esto para ver cómo iríamos 604 00:30:04,279 --> 00:30:05,480 arreglando lo que va fallando 605 00:30:05,480 --> 00:30:08,019 pero bueno, la idea de lo que estoy haciendo está entendida 606 00:30:08,019 --> 00:30:10,140 ahora hay que pulirla 607 00:30:10,140 --> 00:30:11,420 la idea de lo que estoy haciendo está entendida 608 00:30:11,420 --> 00:30:14,259 entonces, si uno ejecuta esto sin más 609 00:30:14,259 --> 00:30:15,599 lo primero que le va a salir 610 00:30:15,599 --> 00:30:18,519 bueno, voy a mostrar el resultado 611 00:30:18,519 --> 00:30:23,990 Si eso resulta 612 00:30:23,990 --> 00:30:25,710 Hacemos el primer arreglo 613 00:30:25,710 --> 00:30:26,529 Y paramos un momento 614 00:30:26,529 --> 00:30:29,670 Si uno ejecuta esto sin más 615 00:30:29,670 --> 00:30:34,819 Cadena 616 00:30:34,819 --> 00:30:40,789 Vale, pues le sale esto 617 00:30:40,789 --> 00:30:42,029 Y dice, uh, que ha pasado 618 00:30:42,029 --> 00:30:43,150 Pero no pasa nada 619 00:30:43,150 --> 00:30:45,490 Ah, me he salido del 620 00:30:45,490 --> 00:30:47,230 String 621 00:30:47,230 --> 00:30:50,069 Me he metido en el index 12, cuidado 622 00:30:50,069 --> 00:30:52,269 Ah, claro, es que estoy comparando 623 00:30:52,269 --> 00:30:54,130 Cada carácter con su siguiente 624 00:30:54,130 --> 00:30:56,309 Con lo cual tengo que 625 00:30:56,309 --> 00:30:57,990 Pararme en el penúltimo 626 00:30:57,990 --> 00:30:58,910 No en el último 627 00:30:58,910 --> 00:31:01,170 Tengo que pararme en el penúltimo 628 00:31:01,170 --> 00:31:05,069 Primera cosa que uno se da cuenta 629 00:31:05,069 --> 00:31:08,049 Si no ha atendido a su alarma 630 00:31:08,049 --> 00:31:09,490 Cuando ha visto aquí al I más uno 631 00:31:09,490 --> 00:31:12,029 Le ha salido la alarma mental de cuidado 632 00:31:12,029 --> 00:31:15,809 Que en cada iteración del FOR 633 00:31:15,809 --> 00:31:17,349 Estoy mirando el siguiente 634 00:31:17,349 --> 00:31:20,569 Cuidado, pues me tengo que quedar en el penúltimo 635 00:31:20,569 --> 00:31:21,289 No en el último 636 00:31:21,289 --> 00:31:23,450 Pues si no ha atendido a esa alarma 637 00:31:23,450 --> 00:31:24,809 No se le ha despertado en ese momento 638 00:31:24,809 --> 00:31:26,130 Al ver aquí el I más uno 639 00:31:26,130 --> 00:31:28,430 Se le despierta aquí 640 00:31:28,430 --> 00:31:30,130 Uy, me he salido del array 641 00:31:30,130 --> 00:31:32,410 Perdón, del stream 642 00:31:32,410 --> 00:31:35,309 Me vengo por aquí, porque esto hay que hacerle caso 643 00:31:35,309 --> 00:31:36,490 Hay que leer lo que te dice 644 00:31:36,490 --> 00:31:38,730 Me vengo por aquí 645 00:31:38,730 --> 00:31:41,369 Hasta llegar a la primera línea 646 00:31:41,369 --> 00:31:42,730 Que ya es código mío 647 00:31:42,730 --> 00:31:44,470 Porque todo esto son clases de Java 648 00:31:44,470 --> 00:31:47,049 Uy, me he salido aquí 649 00:31:47,049 --> 00:31:49,130 Ah, claro, jolín, es que estoy llegando 650 00:31:49,130 --> 00:31:51,150 Hay más uno, con lo cual tengo que 651 00:31:51,150 --> 00:31:53,069 Pararme antes, vale, es error arreglado 652 00:31:53,069 --> 00:31:54,910 Siguientes comprobaciones 653 00:31:54,910 --> 00:31:56,630 Las paramos un momentito y las hacemos