1 00:00:00,000 --> 00:00:06,799 Bueno, pues momento en el cual leemos el enunciado, para entender exactamente qué nos han pedido. 2 00:00:07,980 --> 00:00:18,460 Solicitar un número por teclado, y a partir de ahí mostrar todos los números inferiores a él que cumplan la condición de ser primo. 3 00:00:18,460 --> 00:00:20,579 vale 4 00:00:20,579 --> 00:00:22,359 pues entonces ya nos hacemos 5 00:00:22,359 --> 00:00:24,719 como ya, ver si un número 6 00:00:24,719 --> 00:00:26,480 es primo o no 7 00:00:26,480 --> 00:00:28,079 ya lo hemos hecho 8 00:00:28,079 --> 00:00:30,920 automáticamente decimos, uy esto me va a ser fácil 9 00:00:30,920 --> 00:00:32,759 porque se apoya 10 00:00:32,759 --> 00:00:34,460 en algo que ya sé hacer 11 00:00:34,460 --> 00:00:36,899 porque ya lo he hecho, que es dado un número cualquiera 12 00:00:36,899 --> 00:00:38,159 a ver si es primo o no 13 00:00:38,159 --> 00:00:40,740 ¿en qué cambia este 14 00:00:40,740 --> 00:00:42,700 enunciado? que eso de 15 00:00:42,700 --> 00:00:44,700 ver si un número es primo o no, lo voy a 16 00:00:44,700 --> 00:00:46,079 tener que hacer un montón de veces 17 00:00:46,079 --> 00:00:48,280 en particular lo voy a tener que hacer 18 00:00:48,280 --> 00:00:50,460 para todos los inferiores al dato de entrada 19 00:00:50,460 --> 00:00:51,899 luego es 20 00:00:51,899 --> 00:00:54,520 lo que ya hemos hecho, ver si un número es primo 21 00:00:54,520 --> 00:00:56,520 o no, pero hacer eso dentro de un bucle 22 00:00:56,520 --> 00:00:58,579 que vaya recorriendo 23 00:00:58,579 --> 00:01:00,939 todos los números inferiores 24 00:01:00,939 --> 00:01:01,759 al que me han dado 25 00:01:01,759 --> 00:01:04,040 luego de nuevo como casi siempre 26 00:01:04,040 --> 00:01:06,540 uno construye un programa, hace un diseño 27 00:01:06,540 --> 00:01:08,560 que se va apoyando 28 00:01:08,560 --> 00:01:10,739 en cosas que ya sabe y va construyendo el algoritmo 29 00:01:10,739 --> 00:01:12,120 aquí ya 30 00:01:12,120 --> 00:01:13,939 lo que se nos ocurre es eso, repito 31 00:01:13,939 --> 00:01:16,340 como a mí me dan un número 32 00:01:16,340 --> 00:01:17,340 un único número 33 00:01:17,340 --> 00:01:20,620 tengo que recorrer todos los inferiores 34 00:01:20,620 --> 00:01:22,180 a él, luego ahí hay un primer bucle 35 00:01:22,180 --> 00:01:24,560 este, el siguiente, siguiente 36 00:01:24,560 --> 00:01:25,620 siguiente, un primer bucle 37 00:01:25,620 --> 00:01:27,519 y ahora en cada bucle ¿qué hago? 38 00:01:29,640 --> 00:01:30,040 ver 39 00:01:30,040 --> 00:01:32,459 si el número en el que estoy es primo o no lo es 40 00:01:32,459 --> 00:01:33,540 si lo es lo muestro 41 00:01:33,540 --> 00:01:36,260 y si no pues nada, ver si es primo o no 42 00:01:36,260 --> 00:01:38,180 sé hacerlo, pues esa parte 43 00:01:38,180 --> 00:01:40,099 que va dentro del bucle gordo 44 00:01:40,099 --> 00:01:42,159 es hacer lo que ya hemos hecho 45 00:01:42,159 --> 00:01:44,659 y ya está, y con eso construimos el programa gordo 46 00:01:44,659 --> 00:01:46,819 y luego ya si la versión que nos 47 00:01:46,819 --> 00:01:48,680 queda, pues vemos que la podemos 48 00:01:48,680 --> 00:01:51,019 reducir, dejar más bonita, quitar variables 49 00:01:51,019 --> 00:01:52,180 refactorizar 50 00:01:52,180 --> 00:01:53,920 de alguna manera, pues lo hacemos 51 00:01:53,920 --> 00:01:57,280 vale, pues hala, venga 52 00:01:57,280 --> 00:02:00,890 ¿cómo vamos a leer del teclado? 53 00:02:01,090 --> 00:02:02,209 pues el escáner 54 00:02:02,209 --> 00:02:13,590 y ya está, y leemos el número 55 00:02:13,590 --> 00:02:25,830 introduzca número 56 00:02:25,830 --> 00:02:28,710 o ingrese, como me ponéis en el examen 57 00:02:28,710 --> 00:02:29,349 continuamente 58 00:02:29,349 --> 00:02:32,849 los que venís del otro lado del charco 59 00:02:32,849 --> 00:02:33,669 me ponéis ingrese 60 00:02:33,669 --> 00:02:36,870 y los que venís de aquí 61 00:02:36,870 --> 00:02:38,849 me ponéis todo tipo de palabras 62 00:02:38,849 --> 00:02:39,530 extrañas 63 00:02:39,530 --> 00:02:48,919 vale, pues a ver, ya está 64 00:02:48,919 --> 00:02:57,060 vale, ahora ya 65 00:02:57,060 --> 00:02:58,699 tenemos el dato de entrada 66 00:02:58,699 --> 00:03:01,460 pues ahora ya un bucle que 67 00:03:01,460 --> 00:03:03,659 recorra todos los números que van 68 00:03:03,659 --> 00:03:05,659 entre 1 y n 69 00:03:05,659 --> 00:03:06,979 bueno, habría que preguntarle 70 00:03:06,979 --> 00:03:09,680 ¿cuándo quieres que 71 00:03:09,680 --> 00:03:11,639 haga la comprobación de todos los inferiores 72 00:03:11,639 --> 00:03:14,219 a él hasta 2 o hasta 1 73 00:03:14,219 --> 00:03:15,639 porque el 1 ya sabemos que no es primo 74 00:03:15,639 --> 00:03:18,180 pues bueno, esos pequeños detalles se podrían aclarar 75 00:03:18,180 --> 00:03:20,120 ¿vale? ahora aquí no queda 76 00:03:20,120 --> 00:03:22,340 muy claro, esos pequeños detallitos 77 00:03:22,340 --> 00:03:24,340 la lista de números primos 78 00:03:24,340 --> 00:03:25,240 y fríos a ese número 79 00:03:25,240 --> 00:03:27,979 pues podríamos directamente, mira 80 00:03:27,979 --> 00:03:29,020 entre 81 00:03:29,020 --> 00:03:31,340 entre él y 2 82 00:03:31,340 --> 00:03:34,400 el 1 ya no lo contabilizamos, está fuera de categoría 83 00:03:34,400 --> 00:03:35,659 por ejemplo, y ya está 84 00:03:35,659 --> 00:03:38,500 vale, pues un bucle que recorra 85 00:03:38,500 --> 00:03:40,240 todos los números comprendidos 86 00:03:40,240 --> 00:03:41,979 entre 2 y el que me han dado 87 00:03:41,979 --> 00:03:43,520 que los recorra a todos 88 00:03:43,520 --> 00:03:45,860 ¿con qué estructura lo haríais? 89 00:03:47,759 --> 00:03:48,740 pues con un for 90 00:03:48,740 --> 00:03:50,439 porque el for te permite 91 00:03:50,439 --> 00:03:52,300 de forma sencilla declarar una variable 92 00:03:52,300 --> 00:03:54,800 y esa variable que se vaya incrementando 93 00:03:54,800 --> 00:03:55,819 arrancando desde 2 94 00:03:55,819 --> 00:03:58,479 lo podemos hacer con un while pero habría que hacer una variable 95 00:03:58,479 --> 00:04:00,460 fuera y esa variable se iría 96 00:04:00,460 --> 00:04:02,500 incrementando, pero ¿para qué 97 00:04:02,500 --> 00:04:04,479 si tenemos un for que ya tiene 98 00:04:04,479 --> 00:04:06,139 huequitos dentro para hacer eso? 99 00:04:07,159 --> 00:04:08,539 pues como el for ya me 100 00:04:08,539 --> 00:04:09,599 permite hacer eso 101 00:04:09,599 --> 00:04:13,680 para mis numeritos 102 00:04:13,680 --> 00:04:15,580 empezando desde 2 103 00:04:15,580 --> 00:04:18,350 mientras 104 00:04:18,350 --> 00:04:20,670 num sea menor 105 00:04:20,670 --> 00:04:22,790 o igual que el número 106 00:04:22,790 --> 00:04:23,930 que me han dado 107 00:04:23,930 --> 00:04:28,470 no, num es mi variable interna del bucle 108 00:04:28,470 --> 00:04:29,370 n es el que me han dado 109 00:04:29,370 --> 00:04:31,050 incrementando num 110 00:04:31,050 --> 00:04:33,470 num es el i 111 00:04:33,470 --> 00:04:35,250 lo que pasa es que lo he cambiado 112 00:04:35,250 --> 00:04:38,910 para favorecer que no seáis tan rígidos 113 00:04:38,910 --> 00:04:40,050 y estrictos 114 00:04:40,050 --> 00:04:42,269 Que hay veces que, ¡Dios mío, un for sin un i! 115 00:04:42,550 --> 00:04:43,209 Eso está mal. 116 00:04:44,189 --> 00:04:44,910 ¿Qué más da? 117 00:04:46,329 --> 00:04:48,110 Hay que favorecer un poquito también 118 00:04:48,110 --> 00:04:49,430 la plasticidad cerebral. 119 00:04:50,430 --> 00:04:51,649 Vale, pues este bucle 120 00:04:51,649 --> 00:04:54,329 me va ofreciendo 121 00:04:54,329 --> 00:04:56,029 números. Me va ofreciendo números 122 00:04:56,029 --> 00:04:58,050 desde el 2 hasta el n, me los va ofreciendo. 123 00:04:59,050 --> 00:05:00,310 Repito, un while 124 00:05:00,310 --> 00:05:02,110 también me los podría ofrecer, pero tendría que 125 00:05:02,110 --> 00:05:04,449 declarar num arriba y luego irlo incrementando 126 00:05:04,449 --> 00:05:06,410 dentro. Pues como ya 127 00:05:06,410 --> 00:05:08,310 tengo el for que me permite 128 00:05:08,310 --> 00:05:10,569 poner esto dentro 129 00:05:10,569 --> 00:05:11,850 que sería como ponerlo aquí 130 00:05:11,850 --> 00:05:13,170 pues me permite ponerlo dentro 131 00:05:13,170 --> 00:05:14,550 y poner esto aquí 132 00:05:14,550 --> 00:05:16,230 que sería como ponerlo aquí debajo 133 00:05:16,230 --> 00:05:17,089 pues lo hago con un for 134 00:05:17,089 --> 00:05:18,550 y más cómodo y más bonito 135 00:05:18,550 --> 00:05:20,790 ahora 136 00:05:20,790 --> 00:05:24,110 este algoritmo en modo caja negra 137 00:05:24,110 --> 00:05:24,790 pues sería 138 00:05:24,790 --> 00:05:27,290 si num es primo 139 00:05:27,290 --> 00:05:29,930 si num es primo 140 00:05:29,930 --> 00:05:31,389 pues 141 00:05:31,389 --> 00:05:34,230 mostrar num 142 00:05:34,230 --> 00:05:37,029 el programa se convertiría en esto 143 00:05:37,029 --> 00:05:39,410 y ya estaría mi programa 144 00:05:39,410 --> 00:05:41,290 para todos los inferiores 145 00:05:41,290 --> 00:05:43,089 si el número es primo lo muestro 146 00:05:43,089 --> 00:05:45,230 ya tengo mi primer boceto 147 00:05:45,230 --> 00:05:47,689 y ya he hecho mucho, ya he hecho un montón 148 00:05:47,689 --> 00:05:49,110 ahora voy 149 00:05:49,110 --> 00:05:53,949 desglosando, ahora voy yendo al detalle 150 00:05:53,949 --> 00:05:57,490 el detalle que se me ha quedado ahí colgando 151 00:05:57,490 --> 00:06:00,009 num es primo, tengo yo alguna condición sencilla 152 00:06:00,009 --> 00:06:02,230 para poner si un número es primo o no 153 00:06:02,230 --> 00:06:03,329 no, no lo tenemos 154 00:06:03,329 --> 00:06:05,209 porque de hecho ya habíamos hecho un ejercicio 155 00:06:05,209 --> 00:06:07,189 que era de un número, te decía si era primo o no. 156 00:06:07,850 --> 00:06:08,750 Y tuvimos que hacer 157 00:06:08,750 --> 00:06:10,810 todo un bucle para que lo hiciera. 158 00:06:11,310 --> 00:06:13,149 Bueno, pues entonces, esto así 159 00:06:13,149 --> 00:06:14,290 no lo puedo hacer. 160 00:06:15,089 --> 00:06:15,709 Entonces, ¿cómo 161 00:06:15,709 --> 00:06:19,490 averiguábamos si un número 162 00:06:19,490 --> 00:06:21,149 era primo o no? Pues lo hicimos 163 00:06:21,149 --> 00:06:22,670 en su momento así. 164 00:06:24,230 --> 00:06:25,209 Voy a asumir 165 00:06:25,209 --> 00:06:26,089 de partida 166 00:06:26,089 --> 00:06:28,509 que es primo. 167 00:06:29,269 --> 00:06:31,189 Es decir, que no tiene ningún divisor 168 00:06:31,189 --> 00:06:33,110 comprendido. Entre 169 00:06:33,110 --> 00:06:35,170 dos y ese número 170 00:06:35,170 --> 00:06:37,329 menos 1, y ahora voy a ver 171 00:06:37,329 --> 00:06:38,750 si me llega un contraejemplo 172 00:06:38,750 --> 00:06:45,790 hasta luego 173 00:06:45,790 --> 00:06:48,209 voy a ver si me llega un contraejemplo 174 00:06:48,209 --> 00:06:50,269 entonces, íbamos tirando 175 00:06:50,269 --> 00:06:52,750 los datos a comprobar 176 00:06:52,750 --> 00:06:54,550 los datos a comprobar, los íbamos 177 00:06:54,550 --> 00:06:55,750 tirando con un for 178 00:06:55,750 --> 00:06:58,589 desde i igual a 179 00:06:58,589 --> 00:06:59,769 2 180 00:06:59,769 --> 00:07:02,430 mientras i sea menor 181 00:07:02,430 --> 00:07:03,470 que num 182 00:07:03,470 --> 00:07:06,149 incrementando i, vamos a ver si 183 00:07:06,149 --> 00:07:07,689 encontrábamos un contraejemplo 184 00:07:07,689 --> 00:07:09,430 si 185 00:07:09,430 --> 00:07:12,430 número es divisible 186 00:07:12,430 --> 00:07:13,310 por este i 187 00:07:13,310 --> 00:07:16,889 ah, le habíamos encontrado un contraejemplo 188 00:07:16,889 --> 00:07:18,329 luego es primo 189 00:07:18,329 --> 00:07:20,029 igual a true 190 00:07:20,029 --> 00:07:21,089 perdona, false 191 00:07:21,089 --> 00:07:24,329 vale, esto es lo que habíamos hecho, tal cual 192 00:07:24,329 --> 00:07:26,430 para averiguar si un número era primo 193 00:07:26,430 --> 00:07:28,310 o no lo era, habíamos hecho esto 194 00:07:28,310 --> 00:07:30,449 tal cual, pues ya está, yo ya lo sé 195 00:07:30,449 --> 00:07:31,370 hacer, lo pongo aquí 196 00:07:31,370 --> 00:07:33,769 ¿verdad? lo he escrito bien, ¿no? 197 00:07:33,889 --> 00:07:36,269 asumo de partida que no tiene ningún divisor 198 00:07:36,269 --> 00:07:38,790 voy tirando todos los comprendidos 199 00:07:38,790 --> 00:07:41,269 entre 2 y una unidad inferior a él 200 00:07:41,269 --> 00:07:41,850 voy tirando 201 00:07:41,850 --> 00:07:44,069 en cuanto encuentre un divisor 202 00:07:44,069 --> 00:07:47,230 puedo automáticamente cambiar ya 203 00:07:47,230 --> 00:07:48,629 mi suposición de partida 204 00:07:48,629 --> 00:07:50,209 y decir que no puede ser primo 205 00:07:50,209 --> 00:07:53,310 vale, pues ahora ya sí que tenemos 206 00:07:53,310 --> 00:07:54,230 ya la condición 207 00:07:54,230 --> 00:07:56,430 ahora ya sí que la tenemos 208 00:07:56,430 --> 00:07:58,649 y ya la puedo poner aquí y completar 209 00:07:58,649 --> 00:08:00,470 la parte que me faltaba 210 00:08:00,470 --> 00:08:02,430 vale 211 00:08:02,430 --> 00:08:06,220 y ya está 212 00:08:06,220 --> 00:08:10,410 entonces empezaría a tirar las pruebas 213 00:08:10,410 --> 00:08:12,410 a ver si lo he escrito bien 214 00:08:12,410 --> 00:08:14,310 si alguna me casca, que pasa con los casos 215 00:08:14,310 --> 00:08:15,889 extraños y ahí tiraría 216 00:08:15,889 --> 00:08:20,029 pero bueno, vamos a ejecutarlo porque hay 217 00:08:20,029 --> 00:08:22,029 alguna burrada muy gruesa 218 00:08:22,689 --> 00:08:24,009 dime 219 00:08:24,009 --> 00:08:25,990 es primo en el if es igual a 220 00:08:25,990 --> 00:08:27,149 es primo igual a true 221 00:08:27,149 --> 00:08:29,970 claro, claro, porque lo que 222 00:08:29,970 --> 00:08:32,049 hace el if es mirar si esto que hay aquí 223 00:08:32,049 --> 00:08:33,350 es true o false 224 00:08:33,350 --> 00:08:36,110 es primo ya es un boolean 225 00:08:36,110 --> 00:08:38,389 ya es una caja que tiene dentro true o false 226 00:08:38,389 --> 00:08:40,289 entonces poner esto 227 00:08:40,289 --> 00:08:41,590 y poner esto 228 00:08:41,590 --> 00:08:44,070 es la misma cosa 229 00:08:44,070 --> 00:08:46,309 te da igual decir 230 00:08:46,309 --> 00:08:48,090 llueve 231 00:08:48,090 --> 00:08:50,090 el boolean podría ser llueve 232 00:08:50,090 --> 00:08:52,830 pues te daría igual decir llueve 233 00:08:52,830 --> 00:08:54,669 que decir que llueve 234 00:08:54,669 --> 00:08:55,230 es verdad 235 00:08:55,230 --> 00:08:57,389 son dos enunciados idénticos 236 00:08:57,389 --> 00:08:58,809 son dos enunciados idénticos 237 00:08:58,809 --> 00:09:00,750 entonces hombre 238 00:09:00,750 --> 00:09:01,990 lo que pasa es que queda raro 239 00:09:01,990 --> 00:09:05,330 entonces este 240 00:09:05,330 --> 00:09:06,809 mira el contenido de esprimo 241 00:09:06,809 --> 00:09:08,289 si el contenido de esprimo es true 242 00:09:08,289 --> 00:09:10,110 o lo que es lo mismo si es igual a true 243 00:09:10,110 --> 00:09:12,330 que es lo mismo que decir que su valor es true 244 00:09:12,330 --> 00:09:13,889 pues ya está 245 00:09:13,889 --> 00:09:14,909 se muestra esto 246 00:09:14,909 --> 00:09:17,899 entonces 247 00:09:17,899 --> 00:09:22,179 a ver, primos inferiores 248 00:09:22,179 --> 00:09:23,000 a 249 00:09:23,000 --> 00:09:24,659 24 250 00:09:24,659 --> 00:09:27,139 pues todos esos 251 00:09:27,139 --> 00:09:28,259 son los inferiores a 24 252 00:09:28,259 --> 00:09:33,889 bueno, pues no hace falta que nos detengamos 253 00:09:33,889 --> 00:09:35,509 más con esto 254 00:09:35,509 --> 00:09:37,029 de nuevo 255 00:09:37,029 --> 00:09:39,350 otro ejemplo 256 00:09:39,350 --> 00:09:40,409 de la 257 00:09:40,409 --> 00:09:42,830 pauta lógica de alguna manera 258 00:09:42,830 --> 00:09:44,450 uno pues 259 00:09:44,450 --> 00:09:46,529 sabe que herramientas tiene, que son las decisiones 260 00:09:46,529 --> 00:09:48,870 los bucles y dar valor a las variables 261 00:09:48,870 --> 00:09:50,789 con expresiones, ya está, no tiene más herramientas 262 00:09:50,789 --> 00:09:52,509 que esas y con esas lo tiene que hacer 263 00:09:52,509 --> 00:09:54,330 todo y ahora ya 264 00:09:54,330 --> 00:09:56,429 pues hacemos un diseño que conjuga 265 00:09:56,429 --> 00:09:58,690 esas herramientas y que 266 00:09:58,690 --> 00:09:59,549 basado 267 00:09:59,549 --> 00:10:02,690 en cosas que ya hemos 268 00:10:02,690 --> 00:10:04,850 resuelto, sabiendo como funcionan los bucles 269 00:10:04,850 --> 00:10:06,529 las decisiones, pues yo me hago 270 00:10:06,529 --> 00:10:08,750 mi boceto, voy completando las partes 271 00:10:08,750 --> 00:10:09,629 y ya está 272 00:10:09,629 --> 00:10:23,789 Sí, sí, sí 273 00:10:23,789 --> 00:10:24,029 ¿Eh? 274 00:10:26,169 --> 00:10:27,149 Ay, estás ahí 275 00:10:27,149 --> 00:10:28,389 Tiene 276 00:10:28,389 --> 00:10:31,629 No, tiene el perfil que 277 00:10:31,629 --> 00:10:33,750 hace falta, es que tiene ganas de avanzar 278 00:10:33,750 --> 00:10:34,710 de aprender, de saber 279 00:10:34,710 --> 00:10:37,389 Es un vicioso de la programación 280 00:10:37,389 --> 00:10:38,370 Pues ya está 281 00:10:38,370 --> 00:10:42,029 Realmente es lo que debería ocurrirnos a todos 282 00:10:42,029 --> 00:10:43,669 A mí me ocurre 283 00:10:43,669 --> 00:10:45,830 el que esto te genere adicción 284 00:10:45,830 --> 00:10:47,730 y estés deseando ir a tu casa 285 00:10:47,730 --> 00:10:49,570 Para seguir probando cosas 286 00:10:49,570 --> 00:10:53,690 Y cuando las aplicaciones son más gordas 287 00:10:53,690 --> 00:10:55,070 Pues más adición te genera 288 00:10:55,070 --> 00:10:56,590 Porque claro, más errores te pueden dar 289 00:10:56,590 --> 00:10:58,529 Más ganas tienes de ponerte a ver si lo arreglas 290 00:10:58,529 --> 00:11:07,000 Claro, podéis haceros ahí cualquier cosa 291 00:11:07,000 --> 00:11:09,100 En cuanto ya veamos clases 292 00:11:09,100 --> 00:11:11,559 Podéis hacer lo que os dé la gana 293 00:11:11,559 --> 00:11:15,710 Vale, venga 294 00:11:15,710 --> 00:11:19,330 ¿Algún otro a corregir? 295 00:11:24,480 --> 00:11:26,820 Venga, pues vale 296 00:11:26,820 --> 00:11:29,639 Vamos a hacer el 24 297 00:11:29,639 --> 00:11:35,649 Y luego ya nos vamos a 298 00:11:35,649 --> 00:11:36,409 RAIS 299 00:11:36,409 --> 00:11:47,769 Venga 300 00:11:47,769 --> 00:11:49,009 ¿Qué dice este? 301 00:11:51,870 --> 00:11:53,409 Este enunciado ya es más largo 302 00:11:53,409 --> 00:11:55,850 Entonces uno se hace una primera leída para entender de qué va 303 00:11:55,850 --> 00:11:57,990 Y luego ya lo puede ir desmenuzando 304 00:11:57,990 --> 00:11:59,909 Pues un programa que te pide 305 00:11:59,909 --> 00:12:00,850 Dos números 306 00:12:00,850 --> 00:12:05,350 máximo y mínimo, dos valores extremos 307 00:12:05,350 --> 00:12:07,929 de un intervalo y un número de intentos 308 00:12:07,929 --> 00:12:09,909 vale, pues el programa ¿qué hace? 309 00:12:10,350 --> 00:12:13,070 te genera él internamente, sin que el usuario lo conozca 310 00:12:13,070 --> 00:12:15,929 claro, un número aleatorio entre esos dos números 311 00:12:15,929 --> 00:12:19,250 y a partir de ahí empieza a preguntarle 312 00:12:19,250 --> 00:12:21,570 al usuario, introduce número, introduce número 313 00:12:21,570 --> 00:12:25,169 cada vez que el usuario introduce un número comprueba 314 00:12:25,169 --> 00:12:28,909 si es mayor o menor 315 00:12:28,909 --> 00:12:30,649 que el que la ha seleccionado 316 00:12:30,649 --> 00:12:31,789 como el número objetivo 317 00:12:31,789 --> 00:12:35,029 le informa, le dice ahorita no me intento 318 00:12:35,029 --> 00:12:37,350 claro, si el usuario 319 00:12:37,350 --> 00:12:38,750 acierta, pues dice, ya la hayas ganado 320 00:12:38,750 --> 00:12:39,830 ya está, nada más 321 00:12:39,830 --> 00:12:42,710 y si se pasa el número de intentos 322 00:12:42,710 --> 00:12:45,370 le dice, pues no, has perdido porque has pasado el número de intentos 323 00:12:45,370 --> 00:12:47,250 bueno, pues la combinación 324 00:12:47,250 --> 00:12:49,250 de todo eso, entonces un primer diseño 325 00:12:49,250 --> 00:12:50,730 en la cabeza ya podemos pensar 326 00:12:50,730 --> 00:12:52,649 la primera parte, pedir 327 00:12:52,649 --> 00:12:55,129 los extremos del intervalo y generar el aleatorio 328 00:12:55,129 --> 00:12:57,049 esa primera parte, pues ya está 329 00:12:58,909 --> 00:13:01,629 Leer los dos datos, extremos y pide general lectorio. 330 00:13:02,570 --> 00:13:06,529 Luego ahora ya vendrá un bucle, que es un bucle que está todo el rato. 331 00:13:07,070 --> 00:13:09,690 Pide número, me da mi resultado. 332 00:13:10,210 --> 00:13:11,750 Pide número, me da mi resultado. 333 00:13:11,889 --> 00:13:13,110 Ese bucle cuando terminará. 334 00:13:13,889 --> 00:13:20,210 Cuando el número introducido sea igual que el objetivo o me haya pasado el número de intentos. 335 00:13:20,929 --> 00:13:24,190 Cuando el bucle ya ha terminado, pues ya dices, has ganado, has perdido, lo que sea. 336 00:13:24,750 --> 00:13:27,769 Entonces ya más o menos una primera estructura en la cabeza ya tenemos. 337 00:13:27,769 --> 00:13:30,409 pedir el dato y generar el aleatorio 338 00:13:30,409 --> 00:13:32,690 el bucle que va actuando 339 00:13:32,690 --> 00:13:34,070 pidiendo los números 340 00:13:34,070 --> 00:13:36,629 y dando la realimentación que toque 341 00:13:36,629 --> 00:13:38,210 ese bucle 342 00:13:38,210 --> 00:13:40,570 ya habrá que perfilar cuál es su condición 343 00:13:40,570 --> 00:13:41,269 de finalización 344 00:13:41,269 --> 00:13:44,370 y luego ya decir el resultado final 345 00:13:44,370 --> 00:13:46,570 si has ganado, entonces ya con eso en la cabeza 346 00:13:46,570 --> 00:13:48,409 más o menos, pues ya podemos 347 00:13:48,409 --> 00:13:50,610 empezar a escribir y hacer un primer 348 00:13:50,610 --> 00:13:52,570 boceto, pero el tener antes 349 00:13:52,570 --> 00:13:54,669 en la cabeza una idea de cómo lo vamos 350 00:13:54,669 --> 00:13:56,570 a construir, eso es imprescindible 351 00:13:56,570 --> 00:14:02,730 Si queremos no andar ahí mareando la pardiz y al final a las 2 horas preguntas a la HGPT. 352 00:14:02,809 --> 00:14:05,190 Bueno, ¿qué digo yo a las 2 horas? Ojalá, a los 5 minutos. 353 00:14:07,960 --> 00:14:09,440 Pues venga, EGER24. 354 00:14:11,970 --> 00:14:15,190 Como vamos a pedirle números, pues necesitamos esto. 355 00:14:26,960 --> 00:14:32,559 Vale, introduzca número, el número menor del intervalo. 356 00:14:37,559 --> 00:14:41,440 Y ahora vamos a pedirle que introduzca el número mayor. 357 00:14:41,440 --> 00:14:52,720 hala, ya tenemos los dos extremos 358 00:14:52,720 --> 00:14:54,440 del intervalo en el cual 359 00:14:54,440 --> 00:14:56,500 el programa tiene que generar su aleatorio 360 00:14:56,500 --> 00:14:58,360 bueno, pues aquí 361 00:14:58,360 --> 00:15:00,919 vamos a tener que tirar 362 00:15:00,919 --> 00:15:02,720 de algunas funciones 363 00:15:02,720 --> 00:15:04,039 que ya están hechas en Java 364 00:15:04,039 --> 00:15:05,840 para hacer cosas 365 00:15:05,840 --> 00:15:08,620 ¿vale? entonces esa es la base 366 00:15:08,620 --> 00:15:09,940 de la programación de entrada de objetos 367 00:15:09,940 --> 00:15:12,700 que hay ya muchísimo código hecho 368 00:15:12,700 --> 00:15:14,799 en clases, como ya veremos 369 00:15:14,799 --> 00:15:16,259 y tú lo puedes invocar 370 00:15:16,259 --> 00:15:18,759 para que se ejecute 371 00:15:18,759 --> 00:15:20,559 y te dé el resultado, si tuviéramos que hacerlo 372 00:15:20,559 --> 00:15:22,600 todo de cero nosotros sería imposible 373 00:15:22,600 --> 00:15:24,639 entonces ya hay 374 00:15:24,639 --> 00:15:31,019 dentro de las 200.000.200.448.300.900.320 375 00:15:31,019 --> 00:15:33,860 clases que ya hay hechas y funciones 376 00:15:33,860 --> 00:15:34,980 pues dentro de todas esas 377 00:15:34,980 --> 00:15:37,559 hay una que te permite 378 00:15:37,559 --> 00:15:39,820 generar un número aleatorio 379 00:15:39,820 --> 00:15:41,679 entre decimal 380 00:15:41,679 --> 00:15:43,399 entre cero y uno 381 00:15:43,399 --> 00:15:46,720 vale, pues cuál es 382 00:15:46,720 --> 00:15:48,740 esa 383 00:15:48,740 --> 00:15:50,659 pues dice aquí, utiliza 384 00:15:50,659 --> 00:15:52,879 de la clase math o random 385 00:15:52,879 --> 00:15:54,940 vale, pues a ver 386 00:15:54,940 --> 00:15:56,940 aunque no podemos entender 387 00:15:56,940 --> 00:15:59,080 muy bien, ¿por qué lo llamamos 388 00:15:59,080 --> 00:16:01,039 así? pues vamos a 389 00:16:01,039 --> 00:16:02,899 entonces 390 00:16:02,899 --> 00:16:04,740 si uno pone aquí math y pone 391 00:16:04,740 --> 00:16:05,299 puntito 392 00:16:05,299 --> 00:16:08,779 se le abren un montón de 393 00:16:08,779 --> 00:16:10,679 posibilidades que son funciones 394 00:16:10,679 --> 00:16:12,600 que hacen cosas y te dan resultados 395 00:16:12,600 --> 00:16:13,879 un montón 396 00:16:13,879 --> 00:16:16,700 ¿Vale? Pues logaritmos 397 00:16:16,700 --> 00:16:17,799 De todo 398 00:16:17,799 --> 00:16:20,899 Raíces cuadradas 399 00:16:20,899 --> 00:16:22,299 Senos, cosenos 400 00:16:22,299 --> 00:16:23,720 De todo 401 00:16:23,720 --> 00:16:27,799 Y entre todas ellas 402 00:16:27,799 --> 00:16:30,909 Pues hay una 403 00:16:30,909 --> 00:16:32,509 Que es 404 00:16:32,509 --> 00:16:44,120 Random, jolín, que no la he encontrado 405 00:16:44,120 --> 00:16:45,519 Que es esta 406 00:16:45,519 --> 00:16:47,519 ¿Eh? 407 00:16:48,340 --> 00:16:50,299 Sí, entonces, más random 408 00:16:50,299 --> 00:16:51,960 Si uno mira la ayuda, te dice 409 00:16:51,960 --> 00:16:54,000 Te da un valor decimal 410 00:16:54,000 --> 00:16:58,059 comprendido entre 0.0 y 1.0 411 00:16:58,059 --> 00:17:02,080 pseudo aleatorio 412 00:17:02,080 --> 00:17:03,519 lógicamente 413 00:17:03,519 --> 00:17:05,339 porque la aleatoriedad no existe 414 00:17:05,339 --> 00:17:06,259 hay que simularla 415 00:17:06,259 --> 00:17:09,299 no hay absolutamente ningún proceso aleatorio 416 00:17:09,299 --> 00:17:10,819 en el universo como la va a haber 417 00:17:10,819 --> 00:17:13,779 dentro de una CPU 418 00:17:13,779 --> 00:17:15,099 que es Sota, Caballo y Rey 419 00:17:15,099 --> 00:17:16,660 entonces bueno 420 00:17:16,660 --> 00:17:19,680 tendrá su proceso 421 00:17:19,680 --> 00:17:21,660 interno de generar el número aleatorio 422 00:17:21,660 --> 00:17:23,420 que tiene que ver 423 00:17:23,420 --> 00:17:25,440 pues que cosas hay únicas 424 00:17:25,440 --> 00:17:27,640 La única cosa que hay única 425 00:17:27,640 --> 00:17:30,519 Para la CPU es la hora del sistema 426 00:17:30,519 --> 00:17:31,980 ¿Vale? 427 00:17:32,779 --> 00:17:34,619 Si llegamos hasta los milisegundos 428 00:17:34,619 --> 00:17:35,839 Nanosegundos, eso sí que es único 429 00:17:35,839 --> 00:17:37,480 A cada nanosegundo que pasa 430 00:17:37,480 --> 00:17:38,660 Estás en una hora distinta 431 00:17:38,660 --> 00:17:41,920 Entonces pues a partir del único 432 00:17:41,920 --> 00:17:43,220 Dato único que hay 433 00:17:43,220 --> 00:17:44,920 Que es la hora del sistema 434 00:17:44,920 --> 00:17:47,299 Con precisión de nanosegundos 435 00:17:47,299 --> 00:17:48,980 Pues a partir de ahí te simula 436 00:17:48,980 --> 00:17:51,720 Lo que para el usuario podría ser un número aleatorio 437 00:17:51,720 --> 00:17:53,079 Pero hombre, no existe 438 00:17:53,079 --> 00:17:55,019 La aleatoriedad 439 00:17:55,019 --> 00:17:56,079 Lo saco de la nada 440 00:17:56,079 --> 00:17:57,779 Pues no, no lo puedes sacar de la nada 441 00:17:57,779 --> 00:17:58,839 Tienes que simularlo 442 00:17:58,839 --> 00:18:00,920 Y bueno, esto lo digo como curiosidad 443 00:18:00,920 --> 00:18:02,819 Pues lo simulará, intuyo yo 444 00:18:02,819 --> 00:18:03,700 Y creo que es así 445 00:18:03,700 --> 00:18:06,019 Del único patrón único que tiene 446 00:18:06,019 --> 00:18:07,000 Que es la ola del sistema 447 00:18:07,000 --> 00:18:09,519 Vale, pues entonces te simula 448 00:18:09,519 --> 00:18:11,440 Un número pseudo aleatorio 449 00:18:11,440 --> 00:18:12,920 De hecho es honesto 450 00:18:12,920 --> 00:18:13,759 Y te lo dice 451 00:18:13,759 --> 00:18:15,759 Te dice que es pseudo aleatorio 452 00:18:15,759 --> 00:18:17,740 No va a mentir y tirarse el pisto 453 00:18:17,740 --> 00:18:18,519 Con que es aleatorio 454 00:18:18,519 --> 00:18:22,759 Vale, y además uniformemente distribuido 455 00:18:22,759 --> 00:18:28,940 O sea, todos los números se supone que son iguales de probables dentro de ese rango 0.0 y 1.0. 456 00:18:29,400 --> 00:18:31,259 ¿Esto es exactamente lo que queremos? 457 00:18:32,180 --> 00:18:35,839 No, lo queremos entre mínimo y máximo. 458 00:18:36,359 --> 00:18:42,140 Claro, pero como somos tan listos, pues podemos hacer una transformación, 459 00:18:42,640 --> 00:18:48,440 una pequeña transformación, para convertir este número aleatorio decimal entre 0,0 y 1,0, 460 00:18:49,160 --> 00:18:52,640 convertirlo a un número aleatorio entero entre mínimo y máximo, 461 00:18:52,759 --> 00:18:54,599 que es lo que queremos, ¿vale? 462 00:18:54,599 --> 00:18:57,500 Como afortunadamente somos listos y nos vamos a ver en situaciones 463 00:18:57,500 --> 00:19:00,380 en las cuales tenemos que hacer operaciones, cambiar, transformar, 464 00:19:01,220 --> 00:19:04,160 pues, y vamos a poder hacerlo, pues aquí también podremos. 465 00:19:05,140 --> 00:19:08,099 Por ejemplo, en este caso de aquí, 466 00:19:14,380 --> 00:19:33,740 vale, yo tengo math.random 467 00:19:33,740 --> 00:19:37,039 que me genera un número decimal 468 00:19:37,039 --> 00:19:49,079 entre 0,0 y 0,1, perdón, 1,0, 1,0, vale. 469 00:19:51,200 --> 00:19:58,119 Si yo quiero 1 decimal entre 0 y 27 o entre 0 y 14, 470 00:19:58,579 --> 00:20:01,099 lo tendría muy fácil, lo multiplico por este número, ¿verdad? 471 00:20:01,099 --> 00:20:18,289 si me dicen 1, un aleatorio decimal entre 0 y n, por ejemplo, el numerito n, pues bueno, este primer paso lo tengo facilísimo, 472 00:20:18,410 --> 00:20:32,200 este primer paso podría ser más punto random, no sé qué he puesto, multiplicado por n, ¿verdad?, ya lo tendríamos, 473 00:20:32,200 --> 00:20:35,640 un aleatorio entre 0 y n 474 00:20:35,640 --> 00:20:36,980 o sea, si yo multiplico por n 475 00:20:36,980 --> 00:20:39,279 este intervalo lo extiendo 476 00:20:39,279 --> 00:20:47,160 si este intervalo 477 00:20:47,160 --> 00:20:48,660 entre 0 y 1,0 478 00:20:48,660 --> 00:20:49,779 lo multiplico por n 479 00:20:49,779 --> 00:20:53,160 lo extiendo hasta 0,0 480 00:20:53,160 --> 00:20:54,779 y n,0 481 00:20:54,779 --> 00:20:57,740 si multiplico por n 482 00:20:57,740 --> 00:20:58,960 lo extiendo así 483 00:20:58,960 --> 00:21:01,900 ¿qué quiero que sea entero? 484 00:21:02,420 --> 00:21:03,700 lo tendría facilísimo 485 00:21:03,700 --> 00:21:04,500 le hago el casting 486 00:21:04,500 --> 00:21:13,349 ¿qué quiero que sea entero? 487 00:21:13,390 --> 00:21:14,049 le hago el casting 488 00:21:14,049 --> 00:21:35,650 Bueno, pues con esta tontería podría generar un número entero aleatorio entre 0 y n, ¿vale? Lo que pasa es que aquí no lo quiero entre 0 y n, aquí lo quiero entre mínimo y máximo, ¿vale? 489 00:21:35,650 --> 00:21:37,549 que un aleatorio entre mínimo y máximo 490 00:21:37,549 --> 00:21:39,849 no entre 0 491 00:21:39,849 --> 00:21:41,670 y un n cualquiera 492 00:21:41,670 --> 00:21:43,869 no entre 0 y un n cualquiera 493 00:21:43,869 --> 00:21:44,890 sino entre mínimo y máximo 494 00:21:44,890 --> 00:21:46,829 bueno, pero puedo hacer una transformación 495 00:21:46,829 --> 00:21:49,630 es decir, voy a generarme 496 00:21:49,630 --> 00:21:51,630 un aleatorio 497 00:21:51,630 --> 00:21:55,599 si esta distancia de aquí 498 00:21:55,599 --> 00:21:57,619 mínimo y máximo, imaginaos que esta distancia 499 00:21:57,619 --> 00:21:58,200 la llamo d 500 00:21:58,200 --> 00:22:01,619 pues me voy a generar un aleatorio entre 0 y d 501 00:22:01,619 --> 00:22:03,700 y ese aleatorio se lo sumo 502 00:22:03,700 --> 00:22:04,119 a mínimo 503 00:22:04,119 --> 00:22:07,319 ya está, ya lo he conseguido, ¿verdad? 504 00:22:07,339 --> 00:22:10,500 Imaginaos que esta distancia 505 00:22:10,500 --> 00:22:11,440 Que me genero es 3 506 00:22:11,440 --> 00:22:12,740 Aquí tendría el 3 507 00:22:12,740 --> 00:22:14,359 Se lo sumo a mínimo 508 00:22:14,359 --> 00:22:16,119 Y ya tengo ese valor 509 00:22:16,119 --> 00:22:18,000 ¿Vale? 510 00:22:18,059 --> 00:22:19,460 Entonces me genero un aleatorio 511 00:22:19,460 --> 00:22:22,920 Entre 0 y esta distancia de aquí 512 00:22:22,920 --> 00:22:25,039 Para que me dé este incremento 513 00:22:25,039 --> 00:22:26,500 Entre 0 y esta distancia 514 00:22:26,500 --> 00:22:27,259 Me da este incremento 515 00:22:27,259 --> 00:22:28,279 Y luego este incremento 516 00:22:28,279 --> 00:22:29,420 Se lo sumo a mínimo 517 00:22:29,420 --> 00:22:30,440 Y ya está 518 00:22:30,440 --> 00:22:32,019 Luego esto 519 00:22:32,019 --> 00:22:36,400 Se convertiría en 520 00:22:36,400 --> 00:22:38,059 Generar un aleatorio 521 00:22:38,059 --> 00:22:42,339 Entre 0 y esto 522 00:22:42,339 --> 00:22:44,880 ¿Vale? 523 00:22:45,539 --> 00:22:47,599 Ya tengo un número entero aleatorio 524 00:22:47,599 --> 00:22:52,460 Entre 0 y esta distancia 525 00:22:52,460 --> 00:22:54,640 Y ahora ya 526 00:22:54,640 --> 00:22:56,740 A esto le sumo el min 527 00:22:56,740 --> 00:22:59,579 Y ya lo tengo 528 00:22:59,579 --> 00:23:00,700 ¿Vale? 529 00:23:01,559 --> 00:23:03,480 ¿No es más fácil sumar 0 más min? 530 00:23:03,480 --> 00:23:03,940 O sea 531 00:23:03,940 --> 00:23:06,579 0 más min 532 00:23:06,579 --> 00:23:09,339 Bueno, 0 más min 533 00:23:09,339 --> 00:23:10,220 En el cielo lo puedes quitar 534 00:23:10,220 --> 00:23:11,359 min más eso 535 00:23:11,359 --> 00:23:12,599 no te entiendo 536 00:23:12,599 --> 00:23:16,519 tienes un intervalo 537 00:23:16,519 --> 00:23:18,039 tengo un intervalo 538 00:23:18,039 --> 00:23:19,980 entonces mi forma de construir el número es 539 00:23:19,980 --> 00:23:22,220 generar aleatoriamente este incremento 540 00:23:22,940 --> 00:23:24,599 este incremento generarlo aleatoriamente 541 00:23:24,599 --> 00:23:26,559 y ahora a este que sería esto 542 00:23:26,559 --> 00:23:31,079 y ahora a este 543 00:23:31,079 --> 00:23:33,140 incremento le sumo min 544 00:23:33,140 --> 00:23:35,079 con lo cual el numerito 545 00:23:35,079 --> 00:23:36,920 que genero pues ya será o este 546 00:23:36,920 --> 00:23:38,920 o este o este es decir el incremento 547 00:23:38,920 --> 00:23:41,180 lo genero aleatoriamente y se lo sumo a min 548 00:23:41,180 --> 00:23:43,500 y ahora ya el número que me da 549 00:23:43,500 --> 00:23:46,240 pues será 1 comprendido en este intervalo 550 00:23:46,240 --> 00:23:55,730 o sea, genera un incremento 551 00:23:55,730 --> 00:23:56,769 a ver, el extremo 552 00:23:56,769 --> 00:23:59,970 si, el problema del extremo 553 00:23:59,970 --> 00:24:01,750 derecho es que como esto es 0,0 554 00:24:01,750 --> 00:24:02,829 1,0 555 00:24:02,829 --> 00:24:05,029 si el 1,0 556 00:24:05,029 --> 00:24:07,289 no se genera, si se genera 557 00:24:07,289 --> 00:24:09,009 se podría hacer aleatoriamente alguna vez 558 00:24:09,009 --> 00:24:10,210 entonces 559 00:24:10,210 --> 00:24:15,140 tú dices que este nunca se podría 560 00:24:15,140 --> 00:24:16,500 generar 561 00:24:16,500 --> 00:24:25,440 No, bueno, estoy haciendo el casting 562 00:24:25,440 --> 00:24:26,759 para quedarme con la parte decimal. 563 00:24:27,579 --> 00:24:29,180 Entonces, bueno, yo aquí estoy asumiendo 564 00:24:29,180 --> 00:24:30,380 que 565 00:24:30,380 --> 00:24:32,640 el 1,0 566 00:24:32,640 --> 00:24:35,279 se va a generar alguna vez. Es cierto que 567 00:24:35,279 --> 00:24:37,039 es muy improbable. Entonces, 568 00:24:37,660 --> 00:24:38,819 al quitarle el int, 569 00:24:39,420 --> 00:24:41,359 pues sí que podrías llegar a generar 570 00:24:41,359 --> 00:24:42,900 este incremento 571 00:24:42,900 --> 00:24:45,279 y cuando generes este incremento, 572 00:24:45,279 --> 00:24:47,259 pues te daría el máximo 573 00:24:47,259 --> 00:24:49,920 pero será cuando este math random 574 00:24:49,920 --> 00:24:51,859 te genere el 1,0 575 00:24:51,859 --> 00:24:52,420 exactamente 576 00:24:52,420 --> 00:24:53,839 que hombre 577 00:24:53,839 --> 00:24:57,759 habría que ver si están 578 00:24:57,759 --> 00:25:00,220 incluidos los extremos en el math.ram 579 00:25:00,220 --> 00:25:01,720 habría que ver lo que dice 580 00:25:01,720 --> 00:25:02,079 la ayuda 581 00:25:02,079 --> 00:25:09,250 claro, luego está la otra librería 582 00:25:09,250 --> 00:25:11,730 random, que tiene otros métodos 583 00:25:11,730 --> 00:25:12,250 ¿vale? 584 00:25:12,730 --> 00:25:14,829 más específicos de aleatoriedad 585 00:25:14,829 --> 00:25:16,150 y tiene otras cosas, pero 586 00:25:16,150 --> 00:25:18,769 yo he puesto esto de aquí, pues yo que sé 587 00:25:18,769 --> 00:25:19,930 Para que penséis un poco 588 00:25:19,930 --> 00:25:21,670 Solamente para que penséis un poquito 589 00:25:21,670 --> 00:25:24,329 Es que yo lo que he pensado 590 00:25:24,329 --> 00:25:27,109 Tú el 1 lo multiplicas por n 591 00:25:27,109 --> 00:25:29,309 Porque claro, 1 por n es n 592 00:25:29,309 --> 00:25:31,609 Pero no lo puedes multiplicar por 0 593 00:25:31,609 --> 00:25:32,490 Porque habría 0 siempre 594 00:25:32,490 --> 00:25:33,769 Pero si le sumas el mínimo 595 00:25:33,769 --> 00:25:37,390 Claro, es que le estoy sumando el mínimo 596 00:25:37,390 --> 00:25:39,309 O sea, cuando te dé 0 597 00:25:39,309 --> 00:25:40,970 Y eso más o menos 1000 598 00:25:40,970 --> 00:25:43,589 Bueno, porque al mínimo 599 00:25:43,589 --> 00:25:45,509 Le tengo que sumar el incremento aleatorio 600 00:25:45,509 --> 00:25:47,410 Lo que es aleatorio es el incremento 601 00:25:47,410 --> 00:25:50,470 vale, y max menos min 602 00:25:50,470 --> 00:25:52,150 es este incremento entero 603 00:25:52,150 --> 00:25:52,930 vale 604 00:25:52,930 --> 00:26:01,000 vale, pues es una 605 00:26:01,000 --> 00:26:05,299 posibilidad, vale 606 00:26:05,299 --> 00:26:07,039 pues si usamos esto 607 00:26:07,039 --> 00:26:14,359 si usáramos esto 608 00:26:14,359 --> 00:26:16,359 pero ya digo que podéis 609 00:26:16,359 --> 00:26:18,660 usar de random 610 00:26:18,660 --> 00:26:20,380 también se desplegan 611 00:26:20,380 --> 00:26:21,420 un montón de funciones 612 00:26:21,420 --> 00:26:24,480 para generar aleatorios y cosas raras 613 00:26:24,480 --> 00:26:27,750 pero bueno, quería yo que 614 00:26:27,750 --> 00:26:29,109 hiciéramos un poco este cálculo para 615 00:26:29,109 --> 00:26:32,190 vale, pues entonces lo que yo he escrito 616 00:26:32,190 --> 00:26:34,089 es el número aleatorio, el número objetivo 617 00:26:34,089 --> 00:26:37,890 sería 618 00:26:37,890 --> 00:26:41,549 al aleatorio 0,0 619 00:26:41,549 --> 00:26:43,690 entre 0,0 y 1,0 620 00:26:43,690 --> 00:26:47,089 lo multiplico por 621 00:26:47,089 --> 00:26:49,769 la diferencia 622 00:26:49,769 --> 00:26:51,029 entre mayor y menor 623 00:26:51,029 --> 00:26:53,369 para generar el incremento aleatorio 624 00:26:53,369 --> 00:26:55,289 mayor, menos, menor 625 00:26:55,289 --> 00:26:57,369 ahora 626 00:26:57,369 --> 00:26:59,269 a ese incremento aleatorio 627 00:26:59,269 --> 00:27:03,009 a todo ese incremento aleatorio 628 00:27:03,009 --> 00:27:04,470 le hago el casting a entero 629 00:27:04,470 --> 00:27:06,369 para quitarle la parte decimal 630 00:27:06,369 --> 00:27:08,869 y ahora 631 00:27:08,869 --> 00:27:10,390 le sumo el mínimo 632 00:27:10,390 --> 00:27:12,390 para ese incremento menor 633 00:27:12,390 --> 00:27:18,480 para que ese incremento se sume al menor 634 00:27:18,480 --> 00:27:19,359 bueno 635 00:27:19,359 --> 00:27:21,720 más o menos esto simula 636 00:27:21,720 --> 00:27:23,559 una aleatoriedad entre mayor y menor 637 00:27:23,559 --> 00:27:24,240 más o menos 638 00:27:24,240 --> 00:27:27,240 tampoco nos vamos a poner muy exquisitos 639 00:27:27,240 --> 00:27:29,119 vale 640 00:27:29,119 --> 00:27:32,359 ahora ya tengo simul aleatorio 641 00:27:32,359 --> 00:27:33,900 que lo podéis haber generado de otra manera 642 00:27:33,900 --> 00:27:34,859 como sea, da igual 643 00:27:34,859 --> 00:27:38,019 esta es una posibilidad que más o menos 644 00:27:38,019 --> 00:27:40,019 simularía un aleatorio entre mayor y menor 645 00:27:40,019 --> 00:27:41,980 ahora ya sí que viene un bucle 646 00:27:41,980 --> 00:27:42,980 que estamos todo el rato 647 00:27:42,980 --> 00:27:45,480 le número 648 00:27:45,480 --> 00:27:46,960 opera con él 649 00:27:46,960 --> 00:27:50,259 vale, entonces uno podría 650 00:27:50,259 --> 00:27:51,279 plantearse esto así 651 00:27:51,279 --> 00:27:54,220 mientras la condición 652 00:27:54,220 --> 00:27:55,480 que sea no se cumpla 653 00:27:55,480 --> 00:27:57,420 vamos a hacerlo con un do while 654 00:27:57,420 --> 00:27:58,700 si os parece 655 00:27:58,700 --> 00:28:02,599 porque es lee número, opera con él 656 00:28:02,599 --> 00:28:06,079 y cuando lleguemos a la condición queremos tener ya el número leído 657 00:28:06,079 --> 00:28:11,730 bueno, pues vamos a suponer que me lo planteamos así 658 00:28:11,730 --> 00:28:14,210 ¿qué va a hacer este bucle todo el rato? 659 00:28:14,250 --> 00:28:17,109 va a estar todo el rato pidiendo número 660 00:28:17,109 --> 00:28:28,990 guardando el intento 661 00:28:28,990 --> 00:28:33,470 ¿qué ocurre con el intento? 662 00:28:34,470 --> 00:28:39,789 el intento lo podemos declarar y guardar aquí dentro 663 00:28:39,789 --> 00:28:47,480 pero ¿cuándo vamos a salir del bucle? 664 00:28:47,559 --> 00:28:52,279 vamos a salir del bucle cuando el intento sea igual al objetivo 665 00:28:52,279 --> 00:28:56,920 luego tiene toda la pinta de que esta condición de aquí 666 00:28:56,920 --> 00:29:02,079 va a involucrar la variable intento 667 00:29:02,079 --> 00:29:04,240 la va a involucrar, tiene toda la pinta 668 00:29:04,240 --> 00:29:07,420 porque una de las razones por las que se sale del bucle 669 00:29:07,420 --> 00:29:10,660 es porque el número introducido sea igual al objetivo 670 00:29:10,660 --> 00:29:13,359 entonces como tiene toda la pinta de que la va a involucrar 671 00:29:13,359 --> 00:29:16,740 Como yo declaré esto dentro de este bloque 672 00:29:16,740 --> 00:29:20,259 No voy a poder acceder a esa variable aquí fuera 673 00:29:20,259 --> 00:29:22,200 Es imposible, no voy a poder acceder 674 00:29:22,200 --> 00:29:24,519 Con lo cual vamos a declararla fuera 675 00:29:24,519 --> 00:29:26,039 Aunque la leamos dentro 676 00:29:26,039 --> 00:29:27,440 Que es donde la tenemos que leer 677 00:29:27,440 --> 00:29:33,180 Ahora ya sí, leemos número 678 00:29:33,180 --> 00:29:36,660 Ahora podemos hacer ya 679 00:29:36,660 --> 00:29:44,200 Si es mayor 680 00:29:44,200 --> 00:29:52,960 que el objetivo 681 00:29:52,960 --> 00:29:56,809 te has pasado por arriba 682 00:29:56,809 --> 00:29:59,609 pues le puedes decir 683 00:29:59,609 --> 00:30:04,450 te has pasado 684 00:30:04,450 --> 00:30:09,589 si intento 685 00:30:09,589 --> 00:30:16,200 como son condiciones excluyentes 686 00:30:16,200 --> 00:30:18,460 pues lo podemos hacer con un if el se if 687 00:30:18,460 --> 00:30:19,500 porque son excluyentes 688 00:30:19,500 --> 00:30:23,420 si pudieran ser a la vez varias 689 00:30:23,420 --> 00:30:25,079 Recordad que no es un if, el se if 690 00:30:25,079 --> 00:30:27,200 Serán if separados, pero estas son excluyentes 691 00:30:27,200 --> 00:30:29,160 O eres mayor, o eres menor, o eres igual 692 00:30:29,160 --> 00:30:29,759 No hay tutía 693 00:30:29,759 --> 00:30:32,380 Pues si intento es menor 694 00:30:32,380 --> 00:30:34,359 Que el objetivo 695 00:30:34,359 --> 00:30:37,940 Entonces tú le dices 696 00:30:37,940 --> 00:30:41,779 Pues no has llegado 697 00:30:41,779 --> 00:30:46,819 Y si no es ni mayor 698 00:30:46,819 --> 00:30:48,359 Ni menor que el objetivo 699 00:30:48,359 --> 00:30:49,500 Es que has acertado 700 00:30:49,500 --> 00:30:52,440 Entonces le dices 701 00:30:52,440 --> 00:30:55,759 Has acertado 702 00:30:55,759 --> 00:30:59,160 vale, nos vamos aproximando a la versión 703 00:30:59,160 --> 00:31:01,160 pero bueno, hay que completarla 704 00:31:01,160 --> 00:31:02,799 falta esta condición y faltan cosas 705 00:31:02,799 --> 00:31:04,400 porque 706 00:31:04,400 --> 00:31:06,720 el enunciado nos dice 707 00:31:06,720 --> 00:31:07,359 que 708 00:31:07,359 --> 00:31:14,880 tiene que salir 709 00:31:14,880 --> 00:31:16,839 como mucho 710 00:31:16,839 --> 00:31:17,940 hay un número de intentos 711 00:31:17,940 --> 00:31:20,960 que se pide al principio, que no lo hemos pedido 712 00:31:20,960 --> 00:31:22,920 vamos a pedir 713 00:31:22,920 --> 00:31:24,660 vamos a decirle número de intentos 714 00:31:24,660 --> 00:31:38,140 número de intentos 715 00:31:38,140 --> 00:31:39,299 que quieres darte 716 00:31:39,299 --> 00:31:52,799 vale 717 00:31:52,799 --> 00:31:55,039 pues entonces 718 00:31:55,039 --> 00:31:58,799 esta condición que va a involucrar 719 00:31:58,799 --> 00:32:00,220 va a involucrar 720 00:32:00,220 --> 00:32:02,460 que intento 721 00:32:02,460 --> 00:32:04,519 sea igual al objetivo 722 00:32:04,519 --> 00:32:06,160 y también va a involucrar 723 00:32:06,160 --> 00:32:08,720 no habernos pasado el número de intentos 724 00:32:08,720 --> 00:32:10,460 entonces aquí podríamos pensar 725 00:32:10,460 --> 00:32:11,599 bueno, me voy a hacer un contador 726 00:32:11,599 --> 00:32:14,359 lo voy incrementando y que la condición sea 727 00:32:14,359 --> 00:32:16,819 mientras el contador sea menor que el número de intentos 728 00:32:16,819 --> 00:32:19,839 vale, podemos hacerlo así 729 00:32:19,839 --> 00:32:21,940 lo que pasa es que, ¿para qué usar 730 00:32:21,940 --> 00:32:23,720 una variable adicional contadora 731 00:32:23,720 --> 00:32:25,700 si esta variable 732 00:32:25,700 --> 00:32:27,680 número de intentos ya no la usamos para nada más? 733 00:32:28,200 --> 00:32:29,779 No podríamos irla decrementando y cuando 734 00:32:29,779 --> 00:32:30,839 llegue a cero, pues ya está. 735 00:32:32,779 --> 00:32:34,259 En lugar de hacer un contador, 736 00:32:35,220 --> 00:32:36,019 ¿vale? Esta sería una opción. 737 00:32:36,200 --> 00:32:37,119 Como yo tengo que contar, 738 00:32:37,900 --> 00:32:39,240 pues podemos hacer la opción 739 00:32:39,240 --> 00:32:41,339 un contador igual a cero. 740 00:32:42,480 --> 00:32:44,079 Aquí en cada intento 741 00:32:44,079 --> 00:32:46,880 vamos contando. 742 00:32:46,880 --> 00:32:49,599 Y cuando salimos 743 00:32:49,599 --> 00:32:50,160 del bucle 744 00:32:50,160 --> 00:32:53,740 una parte de la condición del bucle 745 00:32:53,740 --> 00:32:55,359 es mientras contador 746 00:32:55,359 --> 00:32:56,920 sea menor 747 00:32:56,920 --> 00:32:58,940 que num de intentos 748 00:32:58,940 --> 00:33:01,579 como el contador ha llegado al número de intentos 749 00:33:01,579 --> 00:33:02,740 ya vas a salir 750 00:33:02,740 --> 00:33:03,880 ¿vale? 751 00:33:07,299 --> 00:33:09,559 lo único es eso, que num intentos 752 00:33:09,559 --> 00:33:12,019 como eso no tenemos que conservar su valor para nada 753 00:33:12,019 --> 00:33:12,920 no nos hace falta 754 00:33:12,920 --> 00:33:16,119 podríamos no usar una variable 755 00:33:16,119 --> 00:33:18,279 adicional, decir bueno voy a ir decrementando 756 00:33:18,279 --> 00:33:19,700 num intentos y cuando llegue a cero 757 00:33:19,700 --> 00:33:37,240 Y ya está. Entonces podemos ahorrarnos esta variable de contador, podemos ahorrarnos esto y decir mientras numIntentos sea mayor que cero. 758 00:33:37,240 --> 00:33:39,119 y a numintentos además 759 00:33:39,119 --> 00:33:42,319 lo voy a decrementar cada vez 760 00:33:42,319 --> 00:33:46,109 a numintentos 761 00:33:46,109 --> 00:33:48,329 comparo a ver si sigue siendo mayor que 0 762 00:33:48,329 --> 00:33:50,210 y después de haber hecho 763 00:33:50,210 --> 00:33:52,529 la comparación lo dejo decrementado 764 00:33:52,529 --> 00:33:56,720 que os lía mucho 765 00:33:56,720 --> 00:33:58,700 que el decremento se haga 766 00:33:58,700 --> 00:34:00,279 a la vez que la condición 767 00:34:00,279 --> 00:34:02,700 bueno pues lo decrementáis 768 00:34:02,700 --> 00:34:04,460 aquí dentro, ponéis aquí numintentos 769 00:34:04,460 --> 00:34:06,500 menos menos y aquí os limitáis a compararlo 770 00:34:06,500 --> 00:34:10,099 y se acabó 771 00:34:10,099 --> 00:34:10,420 vale 772 00:34:10,420 --> 00:34:14,000 O bien lo decrementáis aquí a la vez 773 00:34:14,000 --> 00:34:15,539 Que lo comparáis 774 00:34:15,539 --> 00:34:17,519 O bien lo decrementáis aquí 775 00:34:17,519 --> 00:34:22,480 Y aquí lo comparáis sin más 776 00:34:22,480 --> 00:34:25,380 ¿Vale? Estamos haciendo 777 00:34:25,380 --> 00:34:28,500 No estamos haciendo exactamente lo mismo 778 00:34:28,500 --> 00:34:30,340 Porque aquí primero se decrementa 779 00:34:30,340 --> 00:34:32,059 Y luego se compara y tal y como yo lo he puesto 780 00:34:32,059 --> 00:34:33,639 Primero se compara y luego se decrementa 781 00:34:33,639 --> 00:34:36,400 Vale, entonces 782 00:34:36,400 --> 00:34:38,679 Luego ya, uno cuando haga pruebas 783 00:34:38,679 --> 00:34:39,340 Tiene que pulir esto 784 00:34:39,340 --> 00:34:42,380 Uy, que tengo que quitarle a una, que me he pasado, que no sé qué 785 00:34:42,380 --> 00:34:44,400 se va puliendo, que uno va construyendo 786 00:34:44,400 --> 00:34:46,440 su primera versión 787 00:34:46,440 --> 00:34:48,539 vale, pues ahora mismo 788 00:34:48,539 --> 00:34:50,420 este parece que es un bucle 789 00:34:50,420 --> 00:34:52,360 que está todo el rato diciéndote esto 790 00:34:52,360 --> 00:34:54,380 y sale cuando hayas sacado 791 00:34:54,380 --> 00:34:55,159 los intentos 792 00:34:55,159 --> 00:34:57,519 pero claro, no solo 793 00:34:57,519 --> 00:35:00,360 también tiene que salir si has acertado 794 00:35:00,360 --> 00:35:02,780 también tiene que salir si has acertado 795 00:35:02,780 --> 00:35:05,000 luego esta condición 796 00:35:05,000 --> 00:35:06,440 habrá que combinarla 797 00:35:06,440 --> 00:35:09,699 y aquí como la combino 798 00:35:09,699 --> 00:35:10,940 con un AND o con un OR 799 00:35:10,940 --> 00:35:21,659 es la condición que te hace que sigas 800 00:35:21,659 --> 00:35:23,880 con cualquiera 801 00:35:23,880 --> 00:35:25,780 de las dos que se cumpla ya sales 802 00:35:25,780 --> 00:35:27,400 luego para seguir 803 00:35:27,400 --> 00:35:28,659 tiene que cumplirse las dos 804 00:35:28,659 --> 00:35:30,380 es decir, la otra condición es 805 00:35:30,380 --> 00:35:32,900 n diferente 806 00:35:32,900 --> 00:35:35,599 en un, perdón 807 00:35:35,599 --> 00:35:36,559 intento, perdón 808 00:35:36,559 --> 00:35:40,940 la otra condición es intento 809 00:35:40,940 --> 00:35:42,219 diferente del blanco 810 00:35:42,219 --> 00:35:45,219 estas serían las dos condiciones involucradas 811 00:35:45,219 --> 00:35:48,039 esta es la que hace 812 00:35:48,039 --> 00:35:49,380 esta hace que sigas 813 00:35:49,380 --> 00:35:52,280 y esta también hace que sigas 814 00:35:52,280 --> 00:35:53,380 entonces 815 00:35:53,380 --> 00:35:55,659 sales 816 00:35:55,659 --> 00:35:58,039 cuando alguna de las dos falla 817 00:35:58,840 --> 00:36:01,719 entonces que pones, and or 818 00:36:01,719 --> 00:36:10,900 quien vota por and 819 00:36:10,900 --> 00:36:13,059 quien vota por or 820 00:36:13,059 --> 00:36:21,369 yo también voto por and 821 00:36:21,369 --> 00:36:24,710 en cuanto una de las dos 822 00:36:24,710 --> 00:36:28,030 se haga false, ya tienes que irte. 823 00:36:28,730 --> 00:36:30,849 Con lo cual, en cuanto una de las dos se haga false, 824 00:36:31,449 --> 00:36:34,010 quieres que la global se haga false para irte de ahí. 825 00:36:34,789 --> 00:36:37,690 Entonces, para que la global se haga false 826 00:36:37,690 --> 00:36:39,769 en cuanto una de las dos se haga false, 827 00:36:39,889 --> 00:36:40,610 tiene que ser un and. 828 00:36:41,489 --> 00:36:44,369 Es decir, tú te vas a ir de ese while por dos posibilidades. 829 00:36:45,210 --> 00:36:48,269 O bien porque esta sea false, porque ya hayas llegado a cero. 830 00:36:48,989 --> 00:36:52,909 O bien porque esta sea false, porque hayas encontrado el blanco. 831 00:36:52,909 --> 00:36:55,170 con cualquiera de las dos que sea 832 00:36:55,170 --> 00:36:55,869 falsa te vas 833 00:36:55,869 --> 00:36:59,150 entonces lo que a ti te interesa es que cuando 834 00:36:59,150 --> 00:37:01,409 una de las dos lo sea, el total lo sea 835 00:37:01,409 --> 00:37:02,750 entonces 836 00:37:02,750 --> 00:37:04,690 para que eso ocurra tiene que ser un and 837 00:37:04,690 --> 00:37:05,929 porque si esto es un or 838 00:37:05,929 --> 00:37:09,130 y de repente ya se ha cubierto esta 839 00:37:09,130 --> 00:37:11,130 condición, esta es falsa 840 00:37:11,130 --> 00:37:12,989 pero esta seguiría siendo true, con lo cual tú 841 00:37:12,989 --> 00:37:14,309 volverías arriba otra vez y no 842 00:37:14,309 --> 00:37:17,389 tienes que salir en cuanto una cualquiera 843 00:37:17,389 --> 00:37:19,050 de las dos, la que sea, se ha hecho falsa 844 00:37:19,050 --> 00:37:21,289 entonces tienes que conseguir 845 00:37:21,289 --> 00:37:23,349 que la global sea false 846 00:37:23,349 --> 00:37:25,510 cuando una de las dos lo sea. 847 00:37:26,570 --> 00:37:27,409 Entonces, conseguir 848 00:37:27,409 --> 00:37:29,650 que la global sea false cuando una de las dos 849 00:37:29,650 --> 00:37:31,309 lo sea, se consigue con un and. 850 00:37:33,110 --> 00:37:33,590 ¿Vale? 851 00:37:40,679 --> 00:37:41,659 Vale, pues este sería 852 00:37:41,659 --> 00:37:42,659 un primer boceto. 853 00:37:51,300 --> 00:37:52,860 Este sería un primer boceto. 854 00:37:53,639 --> 00:37:55,659 Lo que pasa es que aquí ya habrá detallitos 855 00:37:55,659 --> 00:37:57,239 Que no vayan bien 856 00:37:57,239 --> 00:37:59,440 Porque vamos a hacer una primera prueba 857 00:37:59,440 --> 00:38:02,719 Por ejemplo 858 00:38:02,719 --> 00:38:03,820 Vamos a hacer una primera prueba 859 00:38:03,820 --> 00:38:11,010 El número menor 860 00:38:11,010 --> 00:38:12,050 En el 2 861 00:38:12,050 --> 00:38:13,570 Y número mayor 862 00:38:13,570 --> 00:38:16,289 10 para no estar ahí 2 horas 863 00:38:16,289 --> 00:38:17,869 Vale 864 00:38:17,869 --> 00:38:19,670 Número de intentos 865 00:38:19,670 --> 00:38:21,610 7 intentos para salir 866 00:38:21,610 --> 00:38:23,150 Haga intento 867 00:38:23,150 --> 00:38:25,670 Es el 3, no has llegado 868 00:38:25,670 --> 00:38:27,949 Es el 5, no has llegado 869 00:38:27,949 --> 00:38:30,190 es el 7, has acertado 870 00:38:30,190 --> 00:38:30,710 y termina 871 00:38:30,710 --> 00:38:34,090 vale, esta prueba, pues bien, ha hecho lo que tenía que hacer 872 00:38:34,090 --> 00:38:36,110 vale, vamos a hacer 873 00:38:36,110 --> 00:38:36,710 otra prueba 874 00:38:36,710 --> 00:38:41,000 introduzca número menor, 2 875 00:38:41,000 --> 00:38:43,280 introduzca número mayor, 10 876 00:38:43,280 --> 00:38:46,039 número de intentos, 2 intentos 877 00:38:46,039 --> 00:38:47,760 para forzar ahora 878 00:38:47,760 --> 00:38:49,420 a que termine por el número de intentos 879 00:38:49,420 --> 00:38:51,679 a ver si lo hace bien, haga intento 880 00:38:51,679 --> 00:38:53,840 el 2, no has llegado 881 00:38:53,840 --> 00:38:55,380 haga intento, el 3 882 00:38:55,380 --> 00:38:56,519 no has llegado 883 00:38:56,519 --> 00:38:58,239 y ha terminado 884 00:38:58,239 --> 00:39:00,219 ha terminado y es que 885 00:39:00,219 --> 00:39:01,739 porque he consumido el número de intentos 886 00:39:01,739 --> 00:39:04,280 luego ha funcionado bien, pero hombre 887 00:39:04,280 --> 00:39:06,400 es que ni me informa, ni siquiera me dice 888 00:39:06,400 --> 00:39:08,099 has consumido el número de intentos 889 00:39:08,099 --> 00:39:09,400 no me está informando 890 00:39:09,400 --> 00:39:12,340 entonces hombre, algo me falta 891 00:39:12,340 --> 00:39:14,420 es decir, cuando yo salgo ya 892 00:39:14,420 --> 00:39:16,519 cuando yo he terminado y ya he roto el bucle 893 00:39:16,519 --> 00:39:17,559 porque ya he terminado 894 00:39:17,559 --> 00:39:19,900 debería ir a decir 895 00:39:19,900 --> 00:39:21,800 debería ir de alguna manera a distinguir 896 00:39:21,800 --> 00:39:24,639 si he llegado porque he alcanzado el blanco 897 00:39:24,639 --> 00:39:26,340 o porque he consumido el número de intentos 898 00:39:26,340 --> 00:39:28,780 para en función de eso decir un mensaje u otro 899 00:39:28,780 --> 00:39:30,639 pues entonces 900 00:39:30,639 --> 00:39:32,260 eso es muy fácil de detectar 901 00:39:32,260 --> 00:39:34,380 ¿cuándo habré salido yo 902 00:39:34,380 --> 00:39:36,980 si número de intentos 903 00:39:36,980 --> 00:39:38,380 es igual a cero? 904 00:39:39,760 --> 00:39:40,280 ¿vale? 905 00:39:40,699 --> 00:39:42,219 he acabado los intentos 906 00:39:42,219 --> 00:39:45,280 y además no he acertado 907 00:39:45,280 --> 00:39:46,840 porque podría haber coincidido 908 00:39:46,840 --> 00:39:48,460 que haya acabado los intentos 909 00:39:48,460 --> 00:39:50,000 en la vez que he acertado 910 00:39:50,000 --> 00:39:52,679 entonces si ha coincidido 911 00:39:52,679 --> 00:39:54,760 ahí no quiero que me diga 912 00:39:54,760 --> 00:39:56,019 has conseguido el número de intentos 913 00:39:56,019 --> 00:40:19,360 Entonces, si has consumido los intentos y además de haber consumido los intentos, intento es diferente de target, es decir, y además de haberlos consumido, pues en este caso has agotado intentos. 914 00:40:19,360 --> 00:40:23,219 es decir, has salido por aquí 915 00:40:23,219 --> 00:40:25,519 pero no has salido por ahí, por esa no 916 00:40:25,519 --> 00:40:27,719 no lo has acertado 917 00:40:27,719 --> 00:40:31,139 porque podrías haber salido por aquí 918 00:40:31,139 --> 00:40:34,019 y también coincidir que es que en ese has acertado 919 00:40:34,019 --> 00:40:37,039 entonces te estaría diciendo, por aquí has acertado 920 00:40:37,039 --> 00:40:39,699 y por aquí te diría esa gota de intentos 921 00:40:39,699 --> 00:40:41,199 sería un poco feo 922 00:40:41,199 --> 00:40:44,679 aún así, igual nos puede bailar algún caso extremo 923 00:40:44,679 --> 00:40:47,159 vamos a probar 924 00:40:47,159 --> 00:40:50,929 introduzca número menor 925 00:40:50,929 --> 00:40:53,190 2, 10, número de intentos 926 00:40:53,190 --> 00:40:55,170 2, haga intento 927 00:40:55,170 --> 00:40:56,690 el 3, te has pasado 928 00:40:56,690 --> 00:40:59,050 entonces si me he pasado está claro 929 00:40:59,050 --> 00:41:00,989 cuál es, el 2, has acertado, vale 930 00:41:00,989 --> 00:41:03,030 es que esta prueba 931 00:41:03,030 --> 00:41:03,929 no me ha valido 932 00:41:03,929 --> 00:41:08,570 número menor, el 2 otra vez 933 00:41:08,570 --> 00:41:09,389 número mayor 934 00:41:09,389 --> 00:41:12,769 el 29 935 00:41:12,769 --> 00:41:14,989 para asegurarme de favorecer 936 00:41:14,989 --> 00:41:16,809 que no genere el 2 937 00:41:16,809 --> 00:41:18,570 número de intentos, 2 intentos 938 00:41:18,570 --> 00:41:20,809 Venga, primer intento 939 00:41:20,809 --> 00:41:21,869 No has llegado 940 00:41:21,869 --> 00:41:24,750 No has llegado y has agotado intentos 941 00:41:24,750 --> 00:41:26,730 Porque yo le he dicho dos intentos 942 00:41:26,730 --> 00:41:29,110 Y efectivamente los he agotado 943 00:41:29,110 --> 00:41:30,230 Sin haber acertado 944 00:41:30,230 --> 00:41:34,019 ¿Vale? 945 00:41:42,440 --> 00:41:43,480 Vale, pues bueno 946 00:41:43,480 --> 00:41:46,280 Pues así lo podemos dejar 947 00:41:46,280 --> 00:41:46,940 Es una versión 948 00:41:46,940 --> 00:41:49,079 Habréis hecho a lo mejor algo un poco distinto 949 00:41:49,079 --> 00:41:51,440 Que te muestre el mensaje en otro sitio 950 00:41:51,440 --> 00:41:52,019 De otra manera 951 00:41:52,019 --> 00:41:55,099 Pero bueno, esencialmente es esto 952 00:41:55,099 --> 00:41:56,320 Un bucle que está todo el rato 953 00:41:56,320 --> 00:41:58,039 comprobando una condición 954 00:41:58,039 --> 00:42:00,539 además va contando 955 00:42:00,539 --> 00:42:02,000 y ya está 956 00:42:02,000 --> 00:42:05,960 vale 957 00:42:05,960 --> 00:42:09,760 venga pues vamos a parar aquí un momentito 958 00:42:09,760 --> 00:42:11,460 y luego ya introducir