1 00:00:00,000 --> 00:00:05,000 Muy bonita la iglesia de Sant Andreu. 2 00:00:10,000 --> 00:00:15,000 El belo entonces. 3 00:00:15,000 --> 00:00:20,000 El archo. 4 00:00:22,000 --> 00:00:27,000 Es que ellos no han pedido gracias. 5 00:00:28,000 --> 00:00:31,000 Oye, ponelo en marcha. 6 00:00:31,000 --> 00:00:38,000 Vale, bueno, pues a ver, es que a veces a la hora de programar confundís las dos situaciones. 7 00:00:38,000 --> 00:00:42,000 Son dos situaciones muy distintas que sirven para cosas muy distintas. 8 00:00:42,000 --> 00:00:47,000 En ambas empezamos evaluando una condición. 9 00:00:47,000 --> 00:00:50,000 Que se cumple, hago unas sentencias. 10 00:00:50,000 --> 00:00:51,000 Aquí igual. 11 00:00:51,000 --> 00:00:53,000 Empiezo evaluando una condición. 12 00:00:53,000 --> 00:00:55,000 Que se cumple, hago unas sentencias. 13 00:00:55,000 --> 00:00:56,000 Hasta aquí estamos igual. 14 00:00:56,000 --> 00:00:59,000 Pero con la sentencia de decisión que hemos visto, ya está, se acabó. 15 00:00:59,000 --> 00:01:00,000 Se acabó la sentencia. 16 00:01:00,000 --> 00:01:01,000 Ya no hay más que hacer. 17 00:01:01,000 --> 00:01:02,000 Se acabó. 18 00:01:02,000 --> 00:01:04,000 Con lo cual este conjunto de sentencias se va a hacer una vez. 19 00:01:04,000 --> 00:01:09,000 Entonces en las situaciones en las cuales queremos que se haga solo una vez, eso es lo que queremos. 20 00:01:10,000 --> 00:01:14,000 Pero habrá veces que hay situaciones, como los ejemplos que hemos puesto, 21 00:01:14,000 --> 00:01:20,000 que hemos identificado que queremos que se haga muchas veces hasta que esta condición deje de ser cierta. 22 00:01:20,000 --> 00:01:22,000 Pues entonces es esta. 23 00:01:22,000 --> 00:01:24,000 Este es el diagrama que lo representa. 24 00:01:24,000 --> 00:01:30,000 Se evalúa condición, que se cumple, hago las sentencias que yo he decidido que se van a repetir. 25 00:01:30,000 --> 00:01:34,000 Estas son las sentencias que se tienen que hacer varias veces. 26 00:01:35,000 --> 00:01:41,000 Y una vez que se han ejecutado, la máquina virtual vuelve automáticamente ella arriba a evaluar la condición. 27 00:01:41,000 --> 00:01:45,000 Que se sigue cumpliendo, sigue siendo cierta. 28 00:01:45,000 --> 00:01:48,000 Pues vuelvo a entrar por aquí y lo ejecuto otra vez. 29 00:01:48,000 --> 00:01:52,000 Cuando ya he terminado, la máquina virtual vuelve arriba en lugar de salir por aquí. 30 00:01:52,000 --> 00:01:55,000 Y vuelve a evaluar la condición. 31 00:01:55,000 --> 00:01:56,000 Que se sigue cumpliendo. 32 00:01:56,000 --> 00:01:57,000 Fenomenal. 33 00:01:57,000 --> 00:01:58,000 Vuelvo a ejecutarlas. 34 00:01:58,000 --> 00:01:59,000 Y así todo el rato. 35 00:01:59,000 --> 00:02:02,000 Entonces esta condición llega en el momento en que deje de ser cierta. 36 00:02:02,000 --> 00:02:03,000 ¿Por qué? 37 00:02:03,000 --> 00:02:09,000 Estas sentencias que se hacen aquí, la idea, para que esto sea una situación real que tenga sentido, 38 00:02:09,000 --> 00:02:13,000 es que toquen variables que están aquí metidas en la condición. 39 00:02:13,000 --> 00:02:17,000 Entonces llegará un momento en que el resultado de estas sentencias 40 00:02:17,000 --> 00:02:21,000 mueva las variables de tal forma que esta condición deje de ser cierta. 41 00:02:21,000 --> 00:02:26,000 Bueno, pues cuando deja de ser cierta, entonces se sale por la rama del no. 42 00:02:26,000 --> 00:02:27,000 Igual que aquí. 43 00:02:27,000 --> 00:02:31,000 Y la rama del no, que es lo que hace nada, la rama del no terminó, ya está. 44 00:02:31,000 --> 00:02:33,000 Ya ha terminado la sentencia. 45 00:02:33,000 --> 00:02:34,000 Ya ha terminado. 46 00:02:34,000 --> 00:02:39,000 Pues esta es la sentencia de bucle o sentencia repetitiva. 47 00:02:39,000 --> 00:02:41,000 Esto es un bucle. 48 00:02:41,000 --> 00:02:42,000 ¿Vale? 49 00:02:42,000 --> 00:02:48,000 Y sin embargo esto es una decisión. 50 00:02:48,000 --> 00:02:54,000 Entonces, mientras una condición se cumple, hacemos este rollo y otra vez se evalúa condición. 51 00:02:54,000 --> 00:02:58,000 Mientras se cumple, hacemos este rollo y otra vez se evalúa. 52 00:02:58,000 --> 00:03:00,000 ¿Alguna vez dejará de cumplirse? 53 00:03:00,000 --> 00:03:01,000 ¿Alguna vez? 54 00:03:01,000 --> 00:03:05,000 Pues cuando llegue esa vez, venimos por aquí y se acabó. 55 00:03:05,000 --> 00:03:07,000 Ya no hay más que hacer, ya se ha acabado. 56 00:03:07,000 --> 00:03:10,000 Y ya el programa continúa con lo que venga a continuación. 57 00:03:10,000 --> 00:03:11,000 Con lo que venga a continuación. 58 00:03:11,000 --> 00:03:14,000 Luego esto es otra sentencia más. 59 00:03:14,000 --> 00:03:17,000 ¿Vale? 60 00:03:17,000 --> 00:03:19,000 Eso es otra sentencia más. 61 00:03:19,000 --> 00:03:22,000 Compleja también, como las de Yves. 62 00:03:22,000 --> 00:03:25,000 Compleja, porque aquí dentro hay sentencias. 63 00:03:25,000 --> 00:03:31,000 Andrés, Moisés, Miguel, tú también. 64 00:03:31,000 --> 00:03:32,000 Callaos. 65 00:03:32,000 --> 00:03:34,000 ¿Vale? 66 00:03:34,000 --> 00:03:37,000 Que ya se te llama Johanna. 67 00:03:37,000 --> 00:03:39,000 Bueno, está claro. 68 00:03:39,000 --> 00:03:42,000 Entonces aquí programar esto obviamente es una tontería. 69 00:03:42,000 --> 00:03:45,000 Es poner la sintaxis de Java correspondiente. 70 00:03:45,000 --> 00:03:52,000 Insisto, lo difícil es identificar cuándo es esto lo que resuelve mi situación y cuándo es esto. 71 00:03:52,000 --> 00:03:56,000 Y toda esa parte no se hace tecleando el ordenador. 72 00:03:56,000 --> 00:03:59,000 Esa parte se hace antes, pensando, analizando el problema. 73 00:03:59,000 --> 00:04:05,000 A lo mejor en un papel, haciendo uno sus cuentecitas. 74 00:04:05,000 --> 00:04:11,000 Así se hace la parte difícil, que es decidir si necesito esto, necesito esto u otro. 75 00:04:11,000 --> 00:04:16,000 Y una vez que lo he decidido, pues ya programar es inmediato. 76 00:04:16,000 --> 00:04:17,000 ¿Vale? 77 00:04:17,000 --> 00:04:20,000 Bueno, pues, ¿cómo programaríamos esto? 78 00:04:20,000 --> 00:04:24,000 Por ejemplo, aquí lo que hay que programar es dos cosas. 79 00:04:24,000 --> 00:04:27,000 Una, las sentencias que se van a repetir. 80 00:04:27,000 --> 00:04:36,000 Y dos, la condición que mientras se cumpla, las sentencias van a irse repitiendo. 81 00:04:36,000 --> 00:04:41,000 O sea, cada pasada, cada vuelta del bucle, es lo que se le suele llamar iteración. 82 00:04:41,000 --> 00:04:42,000 ¿Vale? 83 00:04:42,000 --> 00:04:43,000 Entonces el bucle va dando iteraciones. 84 00:04:43,000 --> 00:04:45,000 Cada vuelta del bucle la llamamos iteración. 85 00:04:45,000 --> 00:04:48,000 Iteración 1, iteración 2, iteración 3. 86 00:04:48,000 --> 00:04:53,000 Podría ser que el bucle no hiciera ninguna iteración, porque ya de partida esto fuera que no. 87 00:04:53,000 --> 00:04:58,000 Si de partida esto es que no, la sentencia esta de bucle no hace nada. 88 00:04:58,000 --> 00:04:59,000 ¿Vale? 89 00:04:59,000 --> 00:05:00,000 No hace nada. 90 00:05:00,000 --> 00:05:02,000 Pero si de partida es que sí, lo ejecutará una vez. 91 00:05:02,000 --> 00:05:05,000 Que la segunda es que sí también, lo ejecutará dos veces. 92 00:05:05,000 --> 00:05:06,000 Depende. 93 00:05:06,000 --> 00:05:11,000 Lo ejecutará tantas veces, habrá tantas iteraciones como hagan falta hasta que esto sea falso. 94 00:05:11,000 --> 00:05:12,000 Las que hagan falta. 95 00:05:12,000 --> 00:05:17,000 Y si el programa está bien hecho, el bucle alguna vez tiene que salir. 96 00:05:17,000 --> 00:05:20,000 Un bucle infinito no podemos hacerlo. 97 00:05:20,000 --> 00:05:23,000 No puede haber un programa que se quede ahí en un bucle infinito. 98 00:05:23,000 --> 00:05:25,000 Porque entonces la forma de pararlo cuál es. 99 00:05:25,000 --> 00:05:30,000 Apagando el ordenador no hay otra y nunca jamás tendríamos que tener una aplicación 100 00:05:30,000 --> 00:05:33,000 que no le quedara más remedio que ser apagada porque yo apague el ordenador 101 00:05:33,000 --> 00:05:37,000 o porque dé al administrador de tareas y mate el proceso. 102 00:05:37,000 --> 00:05:39,000 Eso no debería ocurrir. 103 00:05:39,000 --> 00:05:42,000 Si un programa se queda en un bucle infinito es que lo hemos diseñado mal. 104 00:05:42,000 --> 00:05:44,000 Es que esta condición está mal pensada 105 00:05:44,000 --> 00:05:49,000 y no hemos tenido en cuenta que hay una combinación de datos de entrada 106 00:05:49,000 --> 00:05:52,000 que hacen que esto siempre se acierre. 107 00:05:52,000 --> 00:05:54,000 ¿Vale? Eso nunca puede ocurrir. 108 00:05:54,000 --> 00:06:00,000 Un bucle tiene que tener siempre una combinación de datos que lo hagan salir. 109 00:06:00,000 --> 00:06:03,000 Porque si no tu programa puede ocurrir que en determinadas situaciones 110 00:06:03,000 --> 00:06:04,000 esté en un bucle infinito. 111 00:06:04,000 --> 00:06:08,000 Y eso jamás tiene que ocurrir. 112 00:06:08,000 --> 00:06:12,000 Vale, pues por ejemplo. 113 00:06:12,000 --> 00:06:14,000 El ejemplo más sencillo que hemos puesto antes. 114 00:06:14,000 --> 00:06:16,000 Vamos a suponer que cualquiera de los programas que hemos hecho antes 115 00:06:16,000 --> 00:06:19,000 de decirle al usuario que introduzca un número 116 00:06:19,000 --> 00:06:23,000 y luego vamos a asumir que el número es positivo 117 00:06:23,000 --> 00:06:26,000 y si el número es positivo ahora ya hacemos lo que sea. 118 00:06:26,000 --> 00:06:29,000 Bueno, pues ahora ya no vamos a asumir que el número es positivo. 119 00:06:29,000 --> 00:06:32,000 Vamos a hacer el programa un poco más robusto 120 00:06:32,000 --> 00:06:36,000 y vamos a asegurarnos de que el usuario mete un número positivo, 121 00:06:36,000 --> 00:06:37,000 lo que es lo mismo. 122 00:06:37,000 --> 00:06:42,000 Vamos a hacer un bucle que esté todo el rato leyendo un número 123 00:06:42,000 --> 00:06:45,000 mientras ese número no sea válido. 124 00:06:45,000 --> 00:06:46,000 ¿Vale? 125 00:06:46,000 --> 00:06:48,000 Entonces el primer paso ya lo hemos dado. 126 00:06:48,000 --> 00:06:50,000 El primer paso es. 127 00:06:50,000 --> 00:06:51,000 Le he denunciado. 128 00:06:51,000 --> 00:06:54,000 Programa que lea un número que debe ser positivo 129 00:06:54,000 --> 00:06:57,000 y a continuación con ese número, bla, bla. 130 00:06:57,000 --> 00:07:00,000 Bueno, esa parte le he denunciado y he entendido y ya la hemos hecho. 131 00:07:00,000 --> 00:07:02,000 Ahora, la siguiente parte. 132 00:07:02,000 --> 00:07:04,000 Vamos a ver, ¿cómo voy construyendo yo esto? 133 00:07:05,000 --> 00:07:13,000 Pues programa que lea un número hasta que sea positivo 134 00:07:13,000 --> 00:07:16,000 y cuando sea positivo hagamos lo que haya que hacer. 135 00:07:16,000 --> 00:07:18,000 Bueno, pues entonces ahí automáticamente ya decimos, 136 00:07:18,000 --> 00:07:21,000 vale, entonces el programa va a tener que leer el número 137 00:07:21,000 --> 00:07:24,000 a lo mejor más de una vez, a lo mejor tiene que leer una 138 00:07:24,000 --> 00:07:26,000 o dos o tres o cuatro. 139 00:07:26,000 --> 00:07:27,000 Entonces ahí ya, vale. 140 00:07:27,000 --> 00:07:30,000 Ahí ya vemos que nos va a hacer falta un bucle 141 00:07:30,000 --> 00:07:33,000 porque va a hacer falta que un conjunto de sentencias 142 00:07:33,000 --> 00:07:36,000 se haga una vez o dos o tres, no lo sé, 143 00:07:36,000 --> 00:07:38,000 que se repitan, que se repitan. 144 00:07:38,000 --> 00:07:39,000 No tenemos por qué saber a priori cuántas. 145 00:07:39,000 --> 00:07:42,000 Lo normal es que no sepamos a priori cuántas. 146 00:07:42,000 --> 00:07:45,000 Da igual, eso lo resolvemos con un bucle igualmente. 147 00:07:45,000 --> 00:07:46,000 ¿Vale? 148 00:07:46,000 --> 00:07:48,000 Pero lo que tenemos que identificar es que hay un conjunto de sentencias 149 00:07:48,000 --> 00:07:51,000 que puede que haga falta repetirlas. 150 00:07:51,000 --> 00:07:52,000 ¿Cuántas veces? 151 00:07:52,000 --> 00:07:54,000 Ni idea. 152 00:07:54,000 --> 00:07:57,000 O sea, habrá situaciones en las cuales a lo mejor el programa ya 153 00:07:57,000 --> 00:07:59,000 sí me dice las veces que se va a repetir. 154 00:07:59,000 --> 00:08:03,000 Por ejemplo, programa que lea cinco números 155 00:08:03,000 --> 00:08:05,000 y con cada número haga no sé qué. 156 00:08:05,000 --> 00:08:06,000 Pues yo ahí puedo decir, 157 00:08:06,000 --> 00:08:08,000 ah, vale, lo voy a hacer con un bucle 158 00:08:08,000 --> 00:08:10,000 pero como voy a hacer cinco lecturas, 159 00:08:10,000 --> 00:08:12,000 pues un bucle que se haga cinco veces. 160 00:08:12,000 --> 00:08:14,000 Bueno, pues en ese caso en particular 161 00:08:14,000 --> 00:08:16,000 yo sé que mi bucle se va a hacer cinco veces. 162 00:08:16,000 --> 00:08:17,000 Vale. 163 00:08:17,000 --> 00:08:19,000 Pero no tiene por qué ser siempre así. 164 00:08:19,000 --> 00:08:21,000 Normalmente cuando uno identifica 165 00:08:21,000 --> 00:08:23,000 que hay un conjunto de sentencias 166 00:08:23,000 --> 00:08:25,000 que se va a ejecutar un número de veces, 167 00:08:25,000 --> 00:08:26,000 que se va a repetir, 168 00:08:26,000 --> 00:08:28,000 a priori no tiene por qué saber cuántas. 169 00:08:28,000 --> 00:08:31,000 Normalmente dependerá de los datos de entrada. 170 00:08:31,000 --> 00:08:33,000 Entonces, cada ejecución puede conducir 171 00:08:33,000 --> 00:08:34,000 a que una vez se repita siete, 172 00:08:34,000 --> 00:08:36,000 otra ocho, otra veinticinco 173 00:08:36,000 --> 00:08:38,000 y otra ninguna. 174 00:08:38,000 --> 00:08:39,000 Vale. 175 00:08:39,000 --> 00:08:41,000 Pues entonces, 176 00:08:41,000 --> 00:08:43,000 en ese enunciado programa que lea un número 177 00:08:43,000 --> 00:08:45,000 y cuando ya sea positivo, 178 00:08:45,000 --> 00:08:47,000 pues se hace no sé qué. 179 00:08:47,000 --> 00:08:49,000 Hemos hecho ya esa parte de darnos cuenta de que 180 00:08:49,000 --> 00:08:50,000 vamos a necesitar un bucle 181 00:08:50,000 --> 00:08:52,000 porque vamos a necesitar hacer varias veces leer un número. 182 00:08:52,000 --> 00:08:54,000 Varias veces. 183 00:08:54,000 --> 00:08:55,000 Vale. 184 00:08:55,000 --> 00:08:56,000 Pues ya hemos identificado 185 00:08:56,000 --> 00:08:58,000 que vamos a necesitar un bucle 186 00:08:58,000 --> 00:09:00,000 porque vamos a hacer varias veces algo. 187 00:09:05,000 --> 00:09:06,000 Vale. 188 00:09:06,000 --> 00:09:07,000 Pues ¿cuál es la sintaxis de un bucle? 189 00:09:07,000 --> 00:09:08,000 La sintaxis de esto. 190 00:09:08,000 --> 00:09:10,000 La sintaxis de un bucle es muy sencilla. 191 00:09:10,000 --> 00:09:14,000 Es la palabra Java reservada while 192 00:09:14,000 --> 00:09:18,000 entre paréntesis esta condición de aquí, 193 00:09:18,000 --> 00:09:21,000 entre paréntesis esta condición 194 00:09:21,000 --> 00:09:25,000 y luego entre llaves estas sentencias. 195 00:09:35,000 --> 00:09:38,000 Esta es la sintaxis del bucle. 196 00:09:38,000 --> 00:09:41,000 La condición que mientras se acierta 197 00:09:41,000 --> 00:09:43,000 se repiten las sentencias 198 00:09:43,000 --> 00:09:46,000 y las sentencias de repetir. 199 00:09:46,000 --> 00:09:48,000 Entonces esto así se lee más fácil 200 00:09:48,000 --> 00:09:50,000 porque es mientras esta condición se cumple 201 00:09:50,000 --> 00:09:51,000 hace esto. 202 00:09:51,000 --> 00:09:52,000 Una vez que lo hemos hecho 203 00:09:52,000 --> 00:09:54,000 la máquina virtual vuelve ya solita arriba 204 00:09:54,000 --> 00:09:56,000 y vuelve a evaluar la condición. 205 00:09:56,000 --> 00:09:57,000 ¿Sigue siendo cierta? 206 00:09:57,000 --> 00:09:58,000 Pues vuelvo a entrar 207 00:09:58,000 --> 00:10:01,000 y la máquina virtual vuelve automáticamente arriba 208 00:10:01,000 --> 00:10:02,000 y vuelve a evaluar. 209 00:10:02,000 --> 00:10:03,000 ¿Sigue siendo cierta? 210 00:10:03,000 --> 00:10:04,000 Pues vuelvo a entrar 211 00:10:04,000 --> 00:10:07,000 y la máquina virtual vuelve automáticamente arriba. 212 00:10:07,000 --> 00:10:09,000 ¿Es falsa ya? 213 00:10:09,000 --> 00:10:11,000 Pues entonces ya no entro. 214 00:10:11,000 --> 00:10:12,000 Y se acabó. 215 00:10:12,000 --> 00:10:14,000 Se acabó y el programa continúa por abajo. 216 00:10:14,000 --> 00:10:15,000 Se acabó. 217 00:10:15,000 --> 00:10:17,000 Se habrá ido por ahí 218 00:10:17,000 --> 00:10:18,000 y el programa continúa por abajo. 219 00:10:18,000 --> 00:10:19,000 ¿Vale? 220 00:10:19,000 --> 00:10:23,000 Esta es la sintaxis básica del bucle 221 00:10:23,000 --> 00:10:25,000 y cualquier cosa se puede hacer con esto. 222 00:10:25,000 --> 00:10:26,000 Como con el if 223 00:10:26,000 --> 00:10:27,000 hay variantes 224 00:10:27,000 --> 00:10:29,000 que a lo mejor se adaptan 225 00:10:29,000 --> 00:10:30,000 y lo dejan más claro 226 00:10:30,000 --> 00:10:32,000 a situaciones concretas 227 00:10:32,000 --> 00:10:33,000 pero no hacen ninguna falta. 228 00:10:33,000 --> 00:10:35,000 Todo se puede programar con esto. 229 00:10:35,000 --> 00:10:38,000 Igual que todo se puede programar con el if-else. 230 00:10:38,000 --> 00:10:40,000 No hace falta el if-else-if ni el switch 231 00:10:40,000 --> 00:10:42,000 pero hombre si en algunas situaciones 232 00:10:42,000 --> 00:10:43,000 mi código va a quedar más claro 233 00:10:43,000 --> 00:10:45,000 si selecciono el if-else-if o el switch 234 00:10:45,000 --> 00:10:47,000 depende de lo que me pida. 235 00:10:47,000 --> 00:10:48,000 Pues aquí igual. 236 00:10:48,000 --> 00:10:50,000 Hay más variantes de bucle 237 00:10:50,000 --> 00:10:52,000 pero con esta se podría hacer todo. 238 00:10:52,000 --> 00:10:54,000 Bueno, lo importante es entender esa sintaxis. 239 00:10:54,000 --> 00:10:56,000 Entonces no confundáis esto 240 00:10:56,000 --> 00:10:58,000 con el if 241 00:10:58,000 --> 00:11:00,000 que a veces lo confundís mucho 242 00:11:00,000 --> 00:11:03,000 if-condición y sentencias. 243 00:11:05,000 --> 00:11:06,000 ¿Vale? 244 00:11:06,000 --> 00:11:08,000 Ambas arrancan igual. 245 00:11:08,000 --> 00:11:09,000 Aquí miramos condición 246 00:11:09,000 --> 00:11:10,000 que se cumple agosto. 247 00:11:10,000 --> 00:11:12,000 Aquí miramos condición 248 00:11:12,000 --> 00:11:13,000 que se cumple agosto 249 00:11:13,000 --> 00:11:14,000 pero aquí ya se acabó. 250 00:11:14,000 --> 00:11:15,000 Aquí ya hemos terminado 251 00:11:15,000 --> 00:11:17,000 y el programa continúa por aquí. 252 00:11:17,000 --> 00:11:18,000 O como mucho 253 00:11:18,000 --> 00:11:20,000 si ha sido que no 254 00:11:20,000 --> 00:11:21,000 por el else. 255 00:11:21,000 --> 00:11:23,000 Si es que ha sido que no por el else. 256 00:11:23,000 --> 00:11:24,000 Pero si ha sido que sí 257 00:11:24,000 --> 00:11:26,000 entra aquí y se acabó. 258 00:11:26,000 --> 00:11:27,000 Y continúa. 259 00:11:27,000 --> 00:11:28,000 Ya está. 260 00:11:28,000 --> 00:11:29,000 Aquí nadie vuelve arriba. 261 00:11:29,000 --> 00:11:31,000 Luego las sentencias que están aquí dentro 262 00:11:31,000 --> 00:11:32,000 se ejecutan. 263 00:11:32,000 --> 00:11:33,000 O cero o una. 264 00:11:33,000 --> 00:11:35,000 Depende si la condición es cierta o no lo es. 265 00:11:35,000 --> 00:11:38,000 Aquí entramos igual. 266 00:11:38,000 --> 00:11:39,000 Evaluamos condición. 267 00:11:39,000 --> 00:11:40,000 Se cumple, hacemos esto. 268 00:11:40,000 --> 00:11:42,000 Pero no nos salimos. 269 00:11:42,000 --> 00:11:45,000 Otra vez se vuelve a evaluar. 270 00:11:45,000 --> 00:11:46,000 ¿Que sigue siendo cierta? 271 00:11:46,000 --> 00:11:47,000 Entramos. 272 00:11:47,000 --> 00:11:49,000 Otra vez se vuelve a evaluar. 273 00:11:49,000 --> 00:11:50,000 ¿Que sigue siendo cierta? 274 00:11:50,000 --> 00:11:51,000 Entramos. 275 00:11:51,000 --> 00:11:52,000 Otra vez se vuelve. 276 00:11:52,000 --> 00:11:53,000 ¿Que es falsa? 277 00:11:53,000 --> 00:11:54,000 Se acabó. 278 00:11:54,000 --> 00:11:55,000 ¿Vale? 279 00:11:55,000 --> 00:11:56,000 Entonces ambas programas 280 00:11:56,000 --> 00:11:58,000 situaciones distintas. 281 00:12:00,000 --> 00:12:02,000 Bueno, pues entonces. 282 00:12:12,000 --> 00:12:13,000 ¿Vale? 283 00:12:31,000 --> 00:12:32,000 Vale, pues entonces. 284 00:12:32,000 --> 00:12:33,000 Hemos identificado que es un bucle 285 00:12:33,000 --> 00:12:35,000 pero vamos a hacer varias veces algo. 286 00:12:35,000 --> 00:12:36,000 Vale, pues si hemos identificado 287 00:12:36,000 --> 00:12:37,000 que es un bucle 288 00:12:37,000 --> 00:12:39,000 nuestra sintaxis era esta. 289 00:12:39,000 --> 00:12:41,000 Ahora nos faltan dos lagunas 290 00:12:41,000 --> 00:12:42,000 por rellenar. 291 00:12:42,000 --> 00:12:43,000 Dos agujeros negros. 292 00:12:43,000 --> 00:12:45,000 Nos falta ver esta condición 293 00:12:45,000 --> 00:12:47,000 y las sentencias a repetir. 294 00:12:47,000 --> 00:12:48,000 Hemos identificado que son 295 00:12:48,000 --> 00:12:49,000 a repetir sentencias. 296 00:12:49,000 --> 00:12:50,000 ¿No? 297 00:12:50,000 --> 00:12:51,000 Porque leer varias veces un número 298 00:12:51,000 --> 00:12:53,000 mientras sea negativo. 299 00:12:53,000 --> 00:12:55,000 Porque solamente va a ser válido 300 00:12:55,000 --> 00:12:57,000 cuando nos introduzan el positivo. 301 00:12:57,000 --> 00:12:58,000 Bueno, hemos identificado 302 00:12:58,000 --> 00:12:59,000 que entonces varias veces algo. 303 00:12:59,000 --> 00:13:01,000 Pues es esto lo que tengo que hacer. 304 00:13:01,000 --> 00:13:03,000 Pero claro, aquí ya tengo dos lagunas 305 00:13:03,000 --> 00:13:04,000 que tengo que ver. 306 00:13:04,000 --> 00:13:05,000 ¿Vale? 307 00:13:05,000 --> 00:13:06,000 ¿Y que meto ahí? 308 00:13:06,000 --> 00:13:07,000 Para que el efecto sea 309 00:13:07,000 --> 00:13:08,000 el que me han dicho. 310 00:13:08,000 --> 00:13:09,000 Estar todo el rato 311 00:13:09,000 --> 00:13:10,000 leyendo un número. 312 00:13:10,000 --> 00:13:11,000 Si es negativo, 313 00:13:11,000 --> 00:13:12,000 vuélvelo a leer. 314 00:13:12,000 --> 00:13:13,000 Si es negativo, 315 00:13:13,000 --> 00:13:14,000 vuélvelo a leer. 316 00:13:14,000 --> 00:13:15,000 ¿Que es positivo? 317 00:13:15,000 --> 00:13:16,000 Se acabó. 318 00:13:16,000 --> 00:13:17,000 Eso es lo que hay que reproducir aquí. 319 00:13:17,000 --> 00:13:19,000 Eso es lo que hay que reproducir. 320 00:13:19,000 --> 00:13:20,000 Vale. 321 00:13:20,000 --> 00:13:21,000 Lo más fácil es que uno 322 00:13:21,000 --> 00:13:23,000 se plantee de buenas a primeras 323 00:13:23,000 --> 00:13:24,000 voy a poner primero 324 00:13:24,000 --> 00:13:26,000 la sentencia que quiero repetir. 325 00:13:26,000 --> 00:13:27,000 La que quiero repetir. 326 00:13:27,000 --> 00:13:29,000 Y luego ya me planteo 327 00:13:29,000 --> 00:13:30,000 la condición 328 00:13:30,000 --> 00:13:32,000 en función de la cual 329 00:13:32,000 --> 00:13:35,000 eso se repite otra vez más o no. 330 00:13:35,000 --> 00:13:36,000 Y ya le queda 331 00:13:36,000 --> 00:13:38,000 un primer boceto de su bucle. 332 00:13:38,000 --> 00:13:39,000 Luego eso ya 333 00:13:39,000 --> 00:13:40,000 una vez que tiene 334 00:13:40,000 --> 00:13:41,000 el primer boceto 335 00:13:41,000 --> 00:13:42,000 ya lo puede arreglar 336 00:13:42,000 --> 00:13:43,000 para que el código 337 00:13:43,000 --> 00:13:44,000 a lo mejor quede más bonito. 338 00:13:44,000 --> 00:13:45,000 Sacar una variable dentro, 339 00:13:45,000 --> 00:13:46,000 fuera. 340 00:13:46,000 --> 00:13:47,000 Así ya son detalles 341 00:13:47,000 --> 00:13:48,000 que más o menos 342 00:13:48,000 --> 00:13:49,000 van puliendo 343 00:13:49,000 --> 00:13:50,000 el aspecto del código 344 00:13:50,000 --> 00:13:51,000 según uno va cogiendo práctica. 345 00:13:51,000 --> 00:13:53,000 Pero el primer boceto del bucle 346 00:13:53,000 --> 00:13:55,000 uno lo tiene que llegar a él. 347 00:13:55,000 --> 00:13:56,000 ¿Vale? 348 00:13:56,000 --> 00:13:57,000 Y recordad que siempre 349 00:13:57,000 --> 00:13:59,000 llegamos por aproximaciones. 350 00:13:59,000 --> 00:14:00,000 Me planteo el problema. 351 00:14:00,000 --> 00:14:02,000 Además todo en la vida. 352 00:14:02,000 --> 00:14:03,000 No solo en programación. 353 00:14:03,000 --> 00:14:04,000 Yo tengo una situación. 354 00:14:04,000 --> 00:14:06,000 La tengo que dividir. 355 00:14:06,000 --> 00:14:07,000 La tengo que dividir en objetivos. 356 00:14:07,000 --> 00:14:08,000 En partes. 357 00:14:08,000 --> 00:14:09,000 Vale. 358 00:14:09,000 --> 00:14:10,000 Esto. 359 00:14:10,000 --> 00:14:11,000 Esto tendré que resolverlo 360 00:14:11,000 --> 00:14:12,000 de una manera. 361 00:14:12,000 --> 00:14:13,000 Esto tendré que resolverlo 362 00:14:13,000 --> 00:14:14,000 de otra. 363 00:14:14,000 --> 00:14:15,000 No vamos resolviendo 364 00:14:15,000 --> 00:14:16,000 en secuencia. 365 00:14:16,000 --> 00:14:17,000 Primero hacemos una división. 366 00:14:17,000 --> 00:14:18,000 En programación igual. 367 00:14:18,000 --> 00:14:19,000 Yo divido 368 00:14:19,000 --> 00:14:20,000 y por eso se usa 369 00:14:20,000 --> 00:14:21,000 la programación 370 00:14:21,000 --> 00:14:22,000 dentro de objetos. 371 00:14:22,000 --> 00:14:23,000 Precisamente para reflejar 372 00:14:23,000 --> 00:14:24,000 de forma más patente 373 00:14:24,000 --> 00:14:26,000 que se programa así. 374 00:14:26,000 --> 00:14:27,000 Se programa resolviendo 375 00:14:27,000 --> 00:14:30,000 problemas independientes. 376 00:14:30,000 --> 00:14:31,000 Asumiendo que unos 377 00:14:31,000 --> 00:14:32,000 se apoyan en otros. 378 00:14:32,000 --> 00:14:33,000 Y luego la combinación 379 00:14:33,000 --> 00:14:35,000 de todos ellos 380 00:14:35,000 --> 00:14:37,000 ya resolverá mi problema. 381 00:14:37,000 --> 00:14:38,000 Pues aquí igual. 382 00:14:38,000 --> 00:14:40,000 Yo voy aislando. 383 00:14:40,000 --> 00:14:41,000 Primero tengo el problema general. 384 00:14:41,000 --> 00:14:42,000 Un bucle. 385 00:14:42,000 --> 00:14:43,000 Vale. 386 00:14:43,000 --> 00:14:44,000 Un bucle. 387 00:14:44,000 --> 00:14:45,000 Ahora voy aislando. 388 00:14:45,000 --> 00:14:46,000 Voy acotando esto. 389 00:14:46,000 --> 00:14:47,000 Vale. 390 00:14:47,000 --> 00:14:48,000 Ya parece que lo tengo todo. 391 00:14:48,000 --> 00:14:49,000 Ya tengo más o menos 392 00:14:49,000 --> 00:14:50,000 el puzzle más o menos hecho. 393 00:14:50,000 --> 00:14:51,000 Bueno. 394 00:14:51,000 --> 00:14:52,000 Voy a poner las piezas 395 00:14:52,000 --> 00:14:53,000 un poco más bonitas 396 00:14:53,000 --> 00:14:54,000 pero ya tengo el puzzle hecho. 397 00:14:54,000 --> 00:14:55,000 ¿Vale? 398 00:14:55,000 --> 00:14:56,000 No. 399 00:14:56,000 --> 00:14:57,000 Repito por enésima vez. 400 00:14:57,000 --> 00:14:58,000 Esto no es me siento 401 00:14:58,000 --> 00:14:59,000 y me pongo a tirar líneas 402 00:14:59,000 --> 00:15:00,000 de código tal cual 403 00:15:00,000 --> 00:15:01,000 desde el principio 404 00:15:01,000 --> 00:15:02,000 en secuencia papá. 405 00:15:02,000 --> 00:15:03,000 No pensamos así. 406 00:15:03,000 --> 00:15:04,000 Bueno. 407 00:15:04,000 --> 00:15:05,000 Pues en este caso. 408 00:15:05,000 --> 00:15:06,000 Lo más fácil es que uno diga 409 00:15:07,000 --> 00:15:08,000 Lo que yo quiero hacer 410 00:15:08,000 --> 00:15:09,000 varias veces es 411 00:15:09,000 --> 00:15:10,000 pedirle un número 412 00:15:10,000 --> 00:15:11,000 al tío 413 00:15:11,000 --> 00:15:12,000 y leerlo. 414 00:15:12,000 --> 00:15:13,000 Es lo que quiero hacer 415 00:15:13,000 --> 00:15:14,000 varias veces. 416 00:15:14,000 --> 00:15:15,000 Vale. 417 00:15:15,000 --> 00:15:16,000 Pues podríamos poner 418 00:15:16,000 --> 00:15:17,000 venga pues ya está. 419 00:15:17,000 --> 00:15:18,000 Vamos a hacer varias veces 420 00:15:18,000 --> 00:15:19,000 lo de 421 00:15:19,000 --> 00:15:20,000 introduzca número. 422 00:15:29,000 --> 00:15:30,000 Introduzca número. 423 00:15:31,000 --> 00:15:32,000 Y leerlo. 424 00:15:32,000 --> 00:15:33,000 Ese número tendrá que ir 425 00:15:33,000 --> 00:15:34,000 si estamos hablando 426 00:15:34,000 --> 00:15:35,000 de números enteros. 427 00:15:35,000 --> 00:15:36,000 Por ejemplo. 428 00:15:36,000 --> 00:15:37,000 Pues una variable entera. 429 00:15:39,000 --> 00:15:40,000 Pues ya está. 430 00:15:45,000 --> 00:15:46,000 Entonces esta variable entera. 431 00:15:46,000 --> 00:15:47,000 Pues tendrá que estar 432 00:15:47,000 --> 00:15:48,000 declarada en algún sitio. 433 00:15:49,000 --> 00:15:50,000 De ámbito. 434 00:15:50,000 --> 00:15:51,000 Aquí me falta todavía 435 00:15:51,000 --> 00:15:53,000 por resolver esto. 436 00:15:55,000 --> 00:15:56,000 ¿Vale? 437 00:15:57,000 --> 00:15:58,000 Entonces bueno. 438 00:15:58,000 --> 00:16:00,000 Vamos a declararlo hacia arriba 439 00:16:00,000 --> 00:16:01,000 para que esté declarada. 440 00:16:02,000 --> 00:16:03,000 Tenemos un tema 441 00:16:03,000 --> 00:16:04,000 en el que meternos. 442 00:16:04,000 --> 00:16:05,000 Cuando esto ya esté 443 00:16:05,000 --> 00:16:06,000 más o menos 444 00:16:06,000 --> 00:16:07,000 más o menos dominado 445 00:16:07,000 --> 00:16:08,000 tenemos un tema 446 00:16:08,000 --> 00:16:09,000 en el que meternos 447 00:16:09,000 --> 00:16:10,000 que es el ámbito 448 00:16:10,000 --> 00:16:11,000 de las variables. 449 00:16:11,000 --> 00:16:12,000 Que yo ahora mismo 450 00:16:12,000 --> 00:16:13,000 estoy soslayando 451 00:16:13,000 --> 00:16:14,000 porque es muy distinto 452 00:16:14,000 --> 00:16:15,000 esta declaración 453 00:16:15,000 --> 00:16:16,000 hacerla aquí directamente 454 00:16:16,000 --> 00:16:17,000 o aquí dentro 455 00:16:19,000 --> 00:16:20,000 que hacerla fuera. 456 00:16:21,000 --> 00:16:22,000 Es muy distinto. 457 00:16:22,000 --> 00:16:23,000 Tiene implicaciones distintas. 458 00:16:24,000 --> 00:16:25,000 ¿Vale? 459 00:16:26,000 --> 00:16:27,000 Pero ahora mismo 460 00:16:27,000 --> 00:16:28,000 lo estoy soslayando 461 00:16:28,000 --> 00:16:29,000 para no complicar la 462 00:16:29,000 --> 00:16:30,000 la idea. 463 00:16:31,000 --> 00:16:32,000 Lo que sí que tenemos claro 464 00:16:32,000 --> 00:16:33,000 es que una variable 465 00:16:33,000 --> 00:16:34,000 si usarla 466 00:16:34,000 --> 00:16:35,000 tiene que estar declarada. 467 00:16:35,000 --> 00:16:36,000 Eso lo tenemos claro. 468 00:16:36,000 --> 00:16:37,000 Pues venga. 469 00:16:37,000 --> 00:16:38,000 La declaramos 470 00:16:38,000 --> 00:16:39,000 fuera del while 471 00:16:39,000 --> 00:16:40,000 o si fuera un if 472 00:16:40,000 --> 00:16:41,000 la declaramos ahí fuera del if. 473 00:16:41,000 --> 00:16:42,000 Ya la tenemos declaradita. 474 00:16:42,000 --> 00:16:43,000 La puedo usar 475 00:16:43,000 --> 00:16:44,000 siempre que quiera. 476 00:16:44,000 --> 00:16:45,000 Entonces estupendo. 477 00:16:45,000 --> 00:16:46,000 Este bucle 478 00:16:46,000 --> 00:16:47,000 ya sabemos que está 479 00:16:47,000 --> 00:16:48,000 todo el rato. 480 00:16:48,000 --> 00:16:49,000 Pide número le. 481 00:16:49,000 --> 00:16:50,000 Pide número le. 482 00:16:50,000 --> 00:16:51,000 Pide número le. 483 00:16:51,000 --> 00:16:52,000 Pero hombre. 484 00:16:52,000 --> 00:16:53,000 Tendrá que haber 485 00:16:53,000 --> 00:16:54,000 algún momento 486 00:16:54,000 --> 00:16:55,000 en el que deje 487 00:16:55,000 --> 00:16:56,000 de pedirle el número. 488 00:16:56,000 --> 00:16:57,000 En este caso 489 00:16:57,000 --> 00:16:58,000 ¿cuál va a ser 490 00:16:58,000 --> 00:16:59,000 la condición? 491 00:17:00,000 --> 00:17:01,000 Que va a hacer 492 00:17:01,000 --> 00:17:02,000 que yo vuelva 493 00:17:02,000 --> 00:17:03,000 a pedirle otro número. 494 00:17:06,000 --> 00:17:07,000 Era leer números 495 00:17:07,000 --> 00:17:08,000 mientras me introduzca 496 00:17:08,000 --> 00:17:09,000 números negativos. 497 00:17:09,000 --> 00:17:10,000 ¿Cuál va a ser 498 00:17:10,000 --> 00:17:11,000 la condición? 499 00:17:18,000 --> 00:17:19,000 El problema es 500 00:17:19,000 --> 00:17:20,000 el usuario 501 00:17:20,000 --> 00:17:21,000 le vamos a pedir un número. 502 00:17:22,000 --> 00:17:23,000 Él nos puede meter 503 00:17:23,000 --> 00:17:24,000 menos 3 504 00:17:24,000 --> 00:17:25,000 8 505 00:17:25,000 --> 00:17:26,000 10 506 00:17:26,000 --> 00:17:27,000 pero nosotros 507 00:17:27,000 --> 00:17:28,000 solo nos interesa positivo. 508 00:17:28,000 --> 00:17:29,000 Entonces queremos 509 00:17:29,000 --> 00:17:30,000 llegar a este punto 510 00:17:30,000 --> 00:17:31,000 cuando salgamos del while 511 00:17:33,000 --> 00:17:34,000 queremos llegar 512 00:17:34,000 --> 00:17:35,000 a este punto 513 00:17:35,000 --> 00:17:36,000 con la seguridad 514 00:17:36,000 --> 00:17:37,000 de que n es positivo 515 00:17:38,000 --> 00:17:39,000 porque es nuestra condición 516 00:17:39,000 --> 00:17:40,000 para trabajar 517 00:17:40,000 --> 00:17:41,000 a partir de aquí. 518 00:17:41,000 --> 00:17:42,000 Por eso hemos puesto 519 00:17:42,000 --> 00:17:43,000 el bucle ¿no? 520 00:17:45,000 --> 00:17:46,000 Entonces 521 00:17:46,000 --> 00:17:47,000 ¿la condición cuál es? 522 00:17:48,000 --> 00:17:49,000 La condición 523 00:17:49,000 --> 00:17:50,000 que hace 524 00:17:50,000 --> 00:17:51,000 que tú se lo vuelvas 525 00:17:51,000 --> 00:17:52,000 a pedir 526 00:17:52,000 --> 00:17:53,000 es que n sea negativo 527 00:17:53,000 --> 00:17:54,000 porque si n es negativo 528 00:17:54,000 --> 00:17:55,000 quieres volvérselo a pedir. 529 00:17:56,000 --> 00:17:57,000 ¿Vale? 530 00:17:57,000 --> 00:17:58,000 Entonces la condición ya 531 00:17:58,000 --> 00:17:59,000 la tenemos en este caso. 532 00:18:00,000 --> 00:18:01,000 Mientras n sea 533 00:18:01,000 --> 00:18:02,000 menor o igual que 0 534 00:18:02,000 --> 00:18:03,000 asumiendo que eso 535 00:18:03,000 --> 00:18:04,000 nos vale el mayor que 0. 536 00:18:05,000 --> 00:18:06,000 Entonces ya tenemos 537 00:18:06,000 --> 00:18:07,000 la condición. 538 00:18:07,000 --> 00:18:08,000 La condición que hace 539 00:18:08,000 --> 00:18:09,000 que yo vuelva a ejecutarlo 540 00:18:09,000 --> 00:18:10,000 que vuelva a ejecutarlo 541 00:18:10,000 --> 00:18:11,000 que vuelva a ejecutarlo 542 00:18:11,000 --> 00:18:12,000 es que n sea 543 00:18:12,000 --> 00:18:13,000 menor o igual que 0 544 00:18:13,000 --> 00:18:14,000 en este ejemplo concreto 545 00:18:14,000 --> 00:18:15,000 que estamos viendo. 546 00:18:16,000 --> 00:18:17,000 ¿Vale? 547 00:18:17,000 --> 00:18:18,000 Pero siempre tiene que haber 548 00:18:18,000 --> 00:18:19,000 aquí una condición 549 00:18:19,000 --> 00:18:20,000 siempre tiene que haber 550 00:18:20,000 --> 00:18:21,000 aquí una condición 551 00:18:21,000 --> 00:18:22,000 que haga 552 00:18:22,000 --> 00:18:23,000 que yo entre 553 00:18:24,000 --> 00:18:25,000 y luego otra vez 554 00:18:25,000 --> 00:18:26,000 volvemos a evaluar. 555 00:18:26,000 --> 00:18:27,000 Que sigue siendo verdadera 556 00:18:27,000 --> 00:18:28,000 vuelvo a entrar 557 00:18:28,000 --> 00:18:29,000 y luego otra vez 558 00:18:29,000 --> 00:18:30,000 se vuelve a evaluar. 559 00:18:30,000 --> 00:18:31,000 Que sigue siendo verdadera 560 00:18:31,000 --> 00:18:32,000 vuelvo a entrar. 561 00:18:32,000 --> 00:18:33,000 ¿Vale? 562 00:18:33,000 --> 00:18:34,000 Entonces yo primero 563 00:18:34,000 --> 00:18:35,000 acoto 564 00:18:35,000 --> 00:18:36,000 que sentencias 565 00:18:36,000 --> 00:18:37,000 quiero que se hagan 566 00:18:37,000 --> 00:18:38,000 varias veces. 567 00:18:38,000 --> 00:18:39,000 Y luego digo 568 00:18:39,000 --> 00:18:40,000 ¿Vale? 569 00:18:40,000 --> 00:18:41,000 Pero esto 570 00:18:41,000 --> 00:18:42,000 ¿Qué condición 571 00:18:42,000 --> 00:18:43,000 va a ser la que 572 00:18:43,000 --> 00:18:44,000 hace que yo 573 00:18:44,000 --> 00:18:45,000 quiera seguir repitiendo 574 00:18:45,000 --> 00:18:46,000 quiera seguir repitiendo? 575 00:18:46,000 --> 00:18:47,000 Pues eso depende 576 00:18:47,000 --> 00:18:48,000 de mi enunciado. 577 00:18:48,000 --> 00:18:49,000 De ahí la importancia 578 00:18:49,000 --> 00:18:50,000 de que yo haya hecho antes 579 00:18:50,000 --> 00:18:51,000 primero 580 00:18:51,000 --> 00:18:52,000 una lectura 581 00:18:52,000 --> 00:18:53,000 en la que he entendido 582 00:18:53,000 --> 00:18:54,000 bien lo que se pide 583 00:18:54,000 --> 00:18:55,000 y si no pido aclaraciones 584 00:18:55,000 --> 00:18:56,000 y luego un primer 585 00:18:56,000 --> 00:18:57,000 un primer análisis 586 00:18:57,000 --> 00:18:58,000 de que puedo utilizar 587 00:18:58,000 --> 00:18:59,000 esto ¿Vale? 588 00:18:59,000 --> 00:19:00,000 Bueno pues en este caso 589 00:19:00,000 --> 00:19:01,000 si al usuario 590 00:19:01,000 --> 00:19:02,000 le vamos a estar 591 00:19:02,000 --> 00:19:03,000 pidiendo números 592 00:19:03,000 --> 00:19:04,000 mientras sea 593 00:19:04,000 --> 00:19:05,000 menor o igual que cero 594 00:19:05,000 --> 00:19:06,000 pues ya la condición 595 00:19:06,000 --> 00:19:07,000 es casi de 596 00:19:07,000 --> 00:19:08,000 traslación inmediata. 597 00:19:08,000 --> 00:19:09,000 Pues mientras el número 598 00:19:09,000 --> 00:19:10,000 sea menor o igual que cero 599 00:19:10,000 --> 00:19:11,000 entras. 600 00:19:11,000 --> 00:19:12,000 Entonces este programa 601 00:19:12,000 --> 00:19:13,000 si ahora mismo 602 00:19:13,000 --> 00:19:14,000 bueno si funcionara 603 00:19:14,000 --> 00:19:15,000 con los arreglos 604 00:19:15,000 --> 00:19:16,000 que le faltan 605 00:19:16,000 --> 00:19:17,000 cuando termine 606 00:19:17,000 --> 00:19:18,000 y continúe por aquí 607 00:19:18,000 --> 00:19:19,000 ya sabemos 608 00:19:19,000 --> 00:19:20,000 sí o sí 609 00:19:20,000 --> 00:19:21,000 que N es positivo. 610 00:19:21,000 --> 00:19:22,000 Es que no hay otra 611 00:19:22,000 --> 00:19:23,000 porque si fuera negativo 612 00:19:23,000 --> 00:19:24,000 habría vuelto a pedirlo 613 00:19:24,000 --> 00:19:25,000 y si sigue insistiendo 614 00:19:25,000 --> 00:19:26,000 en un negativo 615 00:19:26,000 --> 00:19:27,000 pues no hay otra 616 00:19:27,000 --> 00:19:28,000 porque si fuera negativo 617 00:19:28,000 --> 00:19:29,000 y si sigue insistiendo 618 00:19:29,000 --> 00:19:30,000 en un negativo 619 00:19:30,000 --> 00:19:31,000 habría vuelto a pedirlo 620 00:19:31,000 --> 00:19:32,000 y si sigue insistiendo 621 00:19:32,000 --> 00:19:33,000 en un negativo 622 00:19:33,000 --> 00:19:34,000 habría vuelto a pedirlo. 623 00:19:34,000 --> 00:19:35,000 Entonces si esto 624 00:19:35,000 --> 00:19:36,000 ha sido falso 625 00:19:36,000 --> 00:19:37,000 o lo que es lo mismo 626 00:19:37,000 --> 00:19:38,000 si ya no ha vuelto 627 00:19:38,000 --> 00:19:39,000 a pedirlo 628 00:19:39,000 --> 00:19:40,000 y N se ha quedado 629 00:19:40,000 --> 00:19:41,000 entonces con el último 630 00:19:41,000 --> 00:19:42,000 valor leído 631 00:19:42,000 --> 00:19:43,000 si no ha vuelto a pedirlo 632 00:19:43,000 --> 00:19:44,000 es porque es mayor que cero 633 00:19:44,000 --> 00:19:45,000 es porque esto es falso. 634 00:19:45,000 --> 00:19:46,000 ¿No? 635 00:19:46,000 --> 00:19:47,000 Cuando esto sea falso 636 00:19:47,000 --> 00:19:48,000 es cuando ya pasamos 637 00:19:48,000 --> 00:19:49,000 de entrar 638 00:19:49,000 --> 00:19:50,000 y nos vamos aquí. 639 00:19:50,000 --> 00:19:51,000 Cuando eso sea falso 640 00:19:51,000 --> 00:19:52,000 pasamos de entrar. 641 00:19:52,000 --> 00:19:53,000 Entonces cuando es falso 642 00:19:53,000 --> 00:19:54,000 N menor o igual que cero 643 00:19:54,000 --> 00:19:55,000 pues cuando N es mayor 644 00:19:55,000 --> 00:19:56,000 que cero 645 00:19:56,000 --> 00:19:57,000 es complementario. 646 00:19:58,000 --> 00:19:59,000 Claro. 647 00:19:59,000 --> 00:20:00,000 Bueno, pues cuando salimos 648 00:20:00,000 --> 00:20:01,000 por aquí 649 00:20:01,000 --> 00:20:02,000 ya sabemos 650 00:20:02,000 --> 00:20:03,000 que N es positivo 651 00:20:03,000 --> 00:20:04,000 seguro 652 00:20:04,000 --> 00:20:05,000 que era lo que queríamos 653 00:20:05,000 --> 00:20:06,000 nosotros en este ejemplo 654 00:20:06,000 --> 00:20:07,000 concreto 655 00:20:07,000 --> 00:20:08,000 asegurarnos 656 00:20:08,000 --> 00:20:09,000 de que cuando 657 00:20:09,000 --> 00:20:10,000 llegáramos aquí 658 00:20:10,000 --> 00:20:11,000 llegábamos a un 659 00:20:11,000 --> 00:20:12,000 número 660 00:20:12,000 --> 00:20:13,000 mayor 661 00:20:13,000 --> 00:20:14,000 que cero. 662 00:20:14,000 --> 00:20:15,000 ¿Vale? 663 00:20:17,000 --> 00:20:18,000 ¿Vale? 664 00:20:19,000 --> 00:20:20,000 Entonces nosotros ahora 665 00:20:20,000 --> 00:20:21,000 ya decimos 666 00:20:21,000 --> 00:20:22,000 ¡Ah, qué bien! 667 00:20:22,000 --> 00:20:23,000 Más o menos ya tengo 668 00:20:23,000 --> 00:20:24,000 mi bucle acotado 669 00:20:24,000 --> 00:20:25,000 lo escribimos 670 00:20:25,000 --> 00:20:26,000 y aquí 671 00:20:27,000 --> 00:20:28,000 pues se nos pondría 672 00:20:28,000 --> 00:20:29,000 algo en rojo 673 00:20:29,000 --> 00:20:30,000 y nos daría un error 674 00:20:30,000 --> 00:20:31,000 de compilación. 675 00:20:32,000 --> 00:20:33,000 ¿Vale? 676 00:20:33,000 --> 00:20:34,000 Para esta situación concreta 677 00:20:34,000 --> 00:20:35,000 de bucle que hemos hecho 678 00:20:35,000 --> 00:20:36,000 en otro que hubiéramos 679 00:20:36,000 --> 00:20:37,000 programado 680 00:20:37,000 --> 00:20:38,000 pues a lo mejor 681 00:20:38,000 --> 00:20:39,000 ¡Vale! 682 00:20:39,000 --> 00:20:40,000 Aquí a alguien 683 00:20:40,000 --> 00:20:41,000 es una pregunta 684 00:20:41,000 --> 00:20:42,000 un poco 685 00:20:42,000 --> 00:20:43,000 sutil 686 00:20:43,000 --> 00:20:44,000 pero bueno 687 00:20:44,000 --> 00:20:45,000 ¿a alguien se le ocurriría 688 00:20:45,000 --> 00:20:46,000 por dónde podían ir 689 00:20:46,000 --> 00:20:47,000 los tiros 690 00:20:47,000 --> 00:20:48,000 de esa cosa roja 691 00:20:48,000 --> 00:20:49,000 que me diría aquí 692 00:20:49,000 --> 00:20:50,000 el compilador? 693 00:20:50,000 --> 00:20:51,000 Me diría 694 00:20:51,000 --> 00:20:52,000 ¡Uy! 695 00:20:52,000 --> 00:20:53,000 ¿Esto que me estás 696 00:20:53,000 --> 00:20:54,000 probando aquí? 697 00:20:54,000 --> 00:20:55,000 Esto 698 00:20:55,000 --> 00:20:56,000 no puedo tirar con ello 699 00:20:56,000 --> 00:20:57,000 es un error 700 00:20:57,000 --> 00:20:58,000 de compilación 701 00:20:58,000 --> 00:20:59,000 no puedo tirar con ello 702 00:20:59,000 --> 00:21:00,000 ¿Por dónde pueden ir 703 00:21:00,000 --> 00:21:01,000 los tiros? 704 00:21:01,000 --> 00:21:02,000 ¿A alguien se le ocurre? 705 00:21:05,000 --> 00:21:06,000 El error se va a poner 706 00:21:06,000 --> 00:21:07,000 aquí 707 00:21:07,000 --> 00:21:08,000 esta línea se va a poner 708 00:21:08,000 --> 00:21:09,000 rojita 709 00:21:10,000 --> 00:21:11,000 Eso 710 00:21:11,000 --> 00:21:12,000 ¡Muy bien! 711 00:21:12,000 --> 00:21:13,000 Claro 712 00:21:13,000 --> 00:21:14,000 cuando una 713 00:21:14,000 --> 00:21:15,000 cuando la máquina virtual 714 00:21:15,000 --> 00:21:16,000 usa una variable 715 00:21:16,000 --> 00:21:17,000 para 716 00:21:17,000 --> 00:21:18,000 porque forma parte 717 00:21:18,000 --> 00:21:19,000 de una expresión 718 00:21:19,000 --> 00:21:20,000 me da igual 719 00:21:20,000 --> 00:21:21,000 que sea una expresión 720 00:21:21,000 --> 00:21:22,000 booleana 721 00:21:22,000 --> 00:21:23,000 una expresión 722 00:21:23,000 --> 00:21:24,000 tiene que tener valor 723 00:21:24,000 --> 00:21:25,000 tiene que tener valor 724 00:21:25,000 --> 00:21:26,000 la máquina virtual llega aquí 725 00:21:26,000 --> 00:21:27,000 y te dice 726 00:21:27,000 --> 00:21:28,000 ¡Oye! 727 00:21:28,000 --> 00:21:29,000 para mí es imposible 728 00:21:29,000 --> 00:21:30,000 evaluar n menor 729 00:21:30,000 --> 00:21:31,000 igual que 0 730 00:21:31,000 --> 00:21:32,000 la primera vez que llego 731 00:21:32,000 --> 00:21:33,000 es imposible 732 00:21:33,000 --> 00:21:34,000 porque n está sin definir 733 00:21:34,000 --> 00:21:35,000 entonces efectivamente 734 00:21:35,000 --> 00:21:36,000 te dirá 735 00:21:36,000 --> 00:21:37,000 la variable n 736 00:21:37,000 --> 00:21:38,000 está sin inicializar 737 00:21:38,000 --> 00:21:39,000 Vale 738 00:21:39,000 --> 00:21:40,000 entonces nosotros ahora 739 00:21:40,000 --> 00:21:41,000 pensamos 740 00:21:41,000 --> 00:21:42,000 cómo podemos arreglar esto 741 00:21:42,000 --> 00:21:43,000 Bueno 742 00:21:43,000 --> 00:21:44,000 nuestro programa 743 00:21:44,000 --> 00:21:45,000 tiene que funcionar 744 00:21:45,000 --> 00:21:46,000 al menos entrando una vez 745 00:21:46,000 --> 00:21:47,000 ¿no? 746 00:21:47,000 --> 00:21:48,000 porque el primer número 747 00:21:48,000 --> 00:21:49,000 tiene que pedir 748 00:21:49,000 --> 00:21:50,000 al menos entrando una vez 749 00:21:50,000 --> 00:21:51,000 entonces la primera vez 750 00:21:51,000 --> 00:21:52,000 queremos que sea true 751 00:21:52,000 --> 00:21:53,000 sí o sí 752 00:21:53,000 --> 00:21:54,000 ¿verdad? 753 00:21:54,000 --> 00:21:55,000 queremos que esto sea true 754 00:21:55,000 --> 00:21:56,000 para que entre 755 00:21:56,000 --> 00:21:57,000 y ya nos pida n 756 00:21:57,000 --> 00:21:58,000 una vez que ya ha leído n 757 00:21:58,000 --> 00:21:59,000 esa primera vez 758 00:21:59,000 --> 00:22:00,000 que ha entrado 759 00:22:00,000 --> 00:22:01,000 vuelve arriba 760 00:22:01,000 --> 00:22:02,000 y ya evalúa 761 00:22:02,000 --> 00:22:03,000 a condición 762 00:22:03,000 --> 00:22:04,000 que ese n 763 00:22:04,000 --> 00:22:05,000 que nos han dado 764 00:22:05,000 --> 00:22:06,000 sigue siendo igual que 0 765 00:22:06,000 --> 00:22:07,000 pues lo pide una segunda vez 766 00:22:07,000 --> 00:22:08,000 que no 767 00:22:08,000 --> 00:22:09,000 ya está 768 00:22:09,000 --> 00:22:10,000 pero la primera vez 769 00:22:10,000 --> 00:22:11,000 queremos que entre 770 00:22:11,000 --> 00:22:12,000 porque la primera vez 771 00:22:12,000 --> 00:22:13,000 tenemos que leer 772 00:22:13,000 --> 00:22:14,000 el primer número 773 00:22:14,000 --> 00:22:15,000 Bueno 774 00:22:15,000 --> 00:22:16,000 pues entonces 775 00:22:16,000 --> 00:22:17,000 ¿qué arreglo 776 00:22:17,000 --> 00:22:18,000 podríamos hacer aquí sencillo? 777 00:22:18,000 --> 00:22:19,000 ¿eh? 778 00:22:19,000 --> 00:22:20,000 Claro 779 00:22:20,000 --> 00:22:21,000 le doy un valor a n 780 00:22:21,000 --> 00:22:22,000 que es lo que necesito 781 00:22:22,000 --> 00:22:23,000 inicializarlo 782 00:22:24,000 --> 00:22:25,000 y por ejemplo 783 00:22:25,000 --> 00:22:26,000 ¿qué valor le podría dar? 784 00:22:30,000 --> 00:22:31,000 positivo no 785 00:22:34,000 --> 00:22:35,000 no hombre 786 00:22:35,000 --> 00:22:36,000 si le doy positivo 787 00:22:36,000 --> 00:22:37,000 ya me sale directamente 788 00:22:37,000 --> 00:22:38,000 y no me lo he leído en el primero 789 00:22:40,000 --> 00:22:41,000 no, no, no 790 00:22:41,000 --> 00:22:42,000 te sale si es 791 00:22:42,000 --> 00:22:43,000 las condiciones no 792 00:22:43,000 --> 00:22:44,000 le tengo que dar 793 00:22:44,000 --> 00:22:45,000 uno negativo cualquiera 794 00:22:45,000 --> 00:22:46,000 ¿no? 795 00:22:46,000 --> 00:22:47,000 uno negativo 796 00:22:47,000 --> 00:22:48,000 un valor negativo cualquiera 797 00:22:48,000 --> 00:22:49,000 me da igual 798 00:22:49,000 --> 00:22:50,000 lo único que quiero 799 00:22:50,000 --> 00:22:51,000 es que esta condición 800 00:22:51,000 --> 00:22:52,000 sea fiel 801 00:22:53,000 --> 00:22:54,000 a la primera vez que llevo 802 00:22:55,000 --> 00:22:56,000 porque quiero entrar 803 00:22:56,000 --> 00:22:57,000 una vez al bucle 804 00:22:57,000 --> 00:22:58,000 o sea en otro ejemplo 805 00:22:58,000 --> 00:22:59,000 otras situaciones 806 00:22:59,000 --> 00:23:00,000 otros programas 807 00:23:00,000 --> 00:23:01,000 a lo mejor 808 00:23:01,000 --> 00:23:02,000 que reprograman cosas 809 00:23:02,000 --> 00:23:03,000 completamente distintas 810 00:23:03,000 --> 00:23:04,000 pues yo no quiero entrar 811 00:23:04,000 --> 00:23:05,000 de partida una primera vez 812 00:23:05,000 --> 00:23:06,000 si no depende 813 00:23:06,000 --> 00:23:07,000 de n 814 00:23:07,000 --> 00:23:08,000 es que hay millones 815 00:23:08,000 --> 00:23:09,000 de situaciones distintas 816 00:23:09,000 --> 00:23:10,000 que podemos querer programar 817 00:23:11,000 --> 00:23:12,000 ¿vale? 818 00:23:12,000 --> 00:23:13,000 pero lo que tenemos 819 00:23:13,000 --> 00:23:14,000 es que entender 820 00:23:14,000 --> 00:23:15,000 lo que hacen estas cosas 821 00:23:15,000 --> 00:23:16,000 entonces en esta situación 822 00:23:16,000 --> 00:23:17,000 en concreto 823 00:23:17,000 --> 00:23:18,000 yo una primera vez 824 00:23:18,000 --> 00:23:19,000 quiero entrar 825 00:23:19,000 --> 00:23:20,000 para leer el primer número 826 00:23:20,000 --> 00:23:21,000 una primera vez 827 00:23:21,000 --> 00:23:22,000 ¿vale? 828 00:23:22,000 --> 00:23:23,000 pues si quiero entrar 829 00:23:23,000 --> 00:23:24,000 una primera vez 830 00:23:24,000 --> 00:23:25,000 con inicializar n 831 00:23:25,000 --> 00:23:26,000 a una variable 832 00:23:26,000 --> 00:23:27,000 a un valor 833 00:23:27,000 --> 00:23:28,000 que haga esto 834 00:23:28,000 --> 00:23:29,000 verdadero 835 00:23:29,000 --> 00:23:30,000 que haga esto verdadero 836 00:23:30,000 --> 00:23:31,000 y el menos uno lo hace 837 00:23:31,000 --> 00:23:32,000 y el menos siete 838 00:23:32,000 --> 00:23:33,000 y el menos doce 839 00:23:33,000 --> 00:23:34,000 y el cero 840 00:23:34,000 --> 00:23:35,000 también lo haría 841 00:23:35,000 --> 00:23:36,000 porque es menor 842 00:23:36,000 --> 00:23:37,000 o igual que cero 843 00:23:38,000 --> 00:23:39,000 pues entonces ya 844 00:23:39,000 --> 00:23:40,000 entro 845 00:23:40,000 --> 00:23:42,000 leo la variable n 846 00:23:43,000 --> 00:23:44,000 y volvemos a evaluar 847 00:23:45,000 --> 00:23:46,000 ¿que sigue siendo 848 00:23:46,000 --> 00:23:47,000 menor o igual que cero? 849 00:23:47,000 --> 00:23:48,000 la pido otra vez 850 00:23:48,000 --> 00:23:49,000 y volvemos a evaluar 851 00:23:50,000 --> 00:23:51,000 ¿que ahora ya es 852 00:23:51,000 --> 00:23:52,000 mayor que cero? 853 00:23:52,000 --> 00:23:53,000 se acabó 854 00:23:53,000 --> 00:23:54,000 no entro más 855 00:23:54,000 --> 00:23:55,000 y me voy por aquí 856 00:23:55,000 --> 00:23:56,000 ¿vale? 857 00:23:58,000 --> 00:23:59,000 luego esos en abstracto 858 00:23:59,000 --> 00:24:00,000 serían los pasos 859 00:24:00,000 --> 00:24:01,000 primero 860 00:24:01,000 --> 00:24:02,000 después de analizar 861 00:24:02,000 --> 00:24:03,000 y muy bien 862 00:24:03,000 --> 00:24:04,000 la situación en la que estoy 863 00:24:04,000 --> 00:24:05,000 he enunciado 864 00:24:05,000 --> 00:24:06,000 entenderlo 865 00:24:06,000 --> 00:24:07,000 pedir aclaraciones 866 00:24:07,000 --> 00:24:08,000 no he entendido 867 00:24:08,000 --> 00:24:09,000 lo que sea 868 00:24:09,000 --> 00:24:10,000 identificar 869 00:24:10,000 --> 00:24:11,000 primero 870 00:24:11,000 --> 00:24:12,000 claro 871 00:24:12,000 --> 00:24:13,000 bueno en esa parte 872 00:24:13,000 --> 00:24:14,000 de análisis 873 00:24:14,000 --> 00:24:15,000 como que ya lo va 874 00:24:15,000 --> 00:24:16,000 dividiendo mentalmente 875 00:24:16,000 --> 00:24:17,000 en partes 876 00:24:17,000 --> 00:24:18,000 vale mi programa 877 00:24:18,000 --> 00:24:19,000 luego va a trabajar 878 00:24:19,000 --> 00:24:20,000 con estos datos 879 00:24:20,000 --> 00:24:21,000 para hacer no sé que 880 00:24:21,000 --> 00:24:22,000 ya mentalmente va 881 00:24:22,000 --> 00:24:23,000 dividiéndolo en partes 882 00:24:23,000 --> 00:24:24,000 mentalmente y en el papel 883 00:24:24,000 --> 00:24:25,000 con un lápiz 884 00:24:25,000 --> 00:24:26,000 bueno 885 00:24:26,000 --> 00:24:27,000 pues en esta primera parte 886 00:24:27,000 --> 00:24:28,000 que en este problema 887 00:24:28,000 --> 00:24:29,000 habríamos distinguido 888 00:24:29,000 --> 00:24:30,000 la de leer los datos 889 00:24:30,000 --> 00:24:31,000 en esa primera parte 890 00:24:31,000 --> 00:24:32,000 decimos 891 00:24:32,000 --> 00:24:33,000 vale 892 00:24:33,000 --> 00:24:34,000 leer los datos 893 00:24:34,000 --> 00:24:35,000 varias veces 894 00:24:35,000 --> 00:24:36,000 mientras no cumplan 895 00:24:36,000 --> 00:24:37,000 la condición 896 00:24:37,000 --> 00:24:38,000 de ser válidos 897 00:24:38,000 --> 00:24:39,000 ahí ya 898 00:24:39,000 --> 00:24:40,000 a un bucle 899 00:24:40,000 --> 00:24:41,000 bueno 900 00:24:41,000 --> 00:24:42,000 pues eso es lo primero 901 00:24:42,000 --> 00:24:43,000 ya hemos identificado 902 00:24:43,000 --> 00:24:44,000 en esa parte 903 00:24:44,000 --> 00:24:45,000 que estamos resolviendo 904 00:24:45,000 --> 00:24:46,000 que puede ser una parte 905 00:24:46,000 --> 00:24:47,000 de las muchas 906 00:24:47,000 --> 00:24:48,000 en esa parte 907 00:24:48,000 --> 00:24:49,000 hemos identificado 908 00:24:49,000 --> 00:24:50,000 un bucle 909 00:24:50,000 --> 00:24:51,000 vale pues ya está 910 00:24:51,000 --> 00:24:52,000 pues ahora ya 911 00:24:52,000 --> 00:24:53,000 plantamos ese bucle 912 00:24:53,000 --> 00:24:54,000 y lo vamos 913 00:24:54,000 --> 00:24:55,000 lo vamos terminando 914 00:24:55,000 --> 00:24:56,000 de perfilar 915 00:24:56,000 --> 00:24:57,000 y aquí en este caso 916 00:24:57,000 --> 00:24:58,000 son dos cosas 917 00:24:58,000 --> 00:24:59,000 que quiero que se haga 918 00:24:59,000 --> 00:25:00,000 varias veces 919 00:25:00,000 --> 00:25:01,000 y cuál es la condición 920 00:25:01,000 --> 00:25:02,000 que mientras se cumpla 921 00:25:02,000 --> 00:25:03,000 yo querré que eso 922 00:25:03,000 --> 00:25:04,000 se repita 923 00:25:04,000 --> 00:25:05,000 entonces yo analizo esto 924 00:25:05,000 --> 00:25:06,000 y digo 925 00:25:06,000 --> 00:25:07,000 ah vale 926 00:25:07,000 --> 00:25:08,000 esta es mi situación 927 00:25:08,000 --> 00:25:09,000 y a partir de ahí 928 00:25:09,000 --> 00:25:10,000 ya 929 00:25:10,000 --> 00:25:11,000 refino 930 00:25:11,000 --> 00:25:12,000 si es que 931 00:25:12,000 --> 00:25:13,000 me faltan cosas 932 00:25:13,000 --> 00:25:14,000 aquí 933 00:25:14,000 --> 00:25:15,000 aquí 934 00:25:15,000 --> 00:25:16,000 aquí 935 00:25:16,000 --> 00:25:17,000 aquí 936 00:25:17,000 --> 00:25:18,000 me faltan cosas 937 00:25:18,000 --> 00:25:19,000 aquí por ejemplo 938 00:25:19,000 --> 00:25:20,000 que nos faltaba 939 00:25:20,000 --> 00:25:21,000 ah claro 940 00:25:21,000 --> 00:25:22,000 es que en esta es inicializar 941 00:25:22,000 --> 00:25:23,000 que valor le doy 942 00:25:23,000 --> 00:25:24,000 bueno en este caso 943 00:25:24,000 --> 00:25:25,000 en particular 944 00:25:25,000 --> 00:25:26,000 yo quiero que entre una vez 945 00:25:26,000 --> 00:25:27,000 pues le doy cero 946 00:25:27,000 --> 00:25:28,000 en otro caso 947 00:25:28,000 --> 00:25:29,000 es que dependerá 948 00:25:29,000 --> 00:25:30,000 dependerá 949 00:25:30,000 --> 00:25:31,000 de lo que esté resolviendo 950 00:25:31,000 --> 00:25:32,000 entonces ya obtengo 951 00:25:32,000 --> 00:25:33,000 mi primera versión 952 00:25:33,000 --> 00:25:34,000 de código 953 00:25:34,000 --> 00:25:35,000 he hecho un vistazo 954 00:25:35,000 --> 00:25:36,000 si esto tiene pinta 955 00:25:36,000 --> 00:25:37,000 de que bueno 956 00:25:37,000 --> 00:25:38,000 está bien 957 00:25:38,000 --> 00:25:39,000 y me pongo a tirar 958 00:25:39,000 --> 00:25:40,000 pruebas 959 00:25:40,000 --> 00:25:41,000 en este caso 960 00:25:41,000 --> 00:25:42,000 y tuviera el resto 961 00:25:42,000 --> 00:25:43,000 me pongo a tirar 962 00:25:43,000 --> 00:25:44,000 todas las pruebas 963 00:25:44,000 --> 00:25:45,000 que hagan falta 964 00:25:45,000 --> 00:25:46,000 hago pruebas 965 00:25:46,000 --> 00:25:47,000 poniéndole datos 966 00:25:47,000 --> 00:25:48,000 de entrada 967 00:25:48,000 --> 00:25:49,000 que cubran 968 00:25:49,000 --> 00:25:50,000 muchas combinaciones 969 00:25:50,000 --> 00:25:51,000 en este caso 970 00:25:51,000 --> 00:25:52,000 pues con darlo 971 00:25:52,000 --> 00:25:53,000 negativo 972 00:25:53,000 --> 00:25:54,000 cero 973 00:25:54,000 --> 00:25:55,000 y positivo 974 00:25:55,000 --> 00:25:56,000 que en caso 975 00:25:56,000 --> 00:25:57,000 de números 976 00:25:57,000 --> 00:25:58,000 son las situaciones 977 00:25:58,000 --> 00:25:59,000 más 978 00:25:59,000 --> 00:26:00,000 que más o menos 979 00:26:00,000 --> 00:26:01,000 agrupan 980 00:26:01,000 --> 00:26:02,000 todas las posibilidades 981 00:26:02,000 --> 00:26:03,000 pues bueno 982 00:26:03,000 --> 00:26:04,000 podría irme por satisfecha 983 00:26:04,000 --> 00:26:05,000 porque he hecho 984 00:26:05,000 --> 00:26:06,000 todas las pruebas 985 00:26:06,000 --> 00:26:07,000 posibles 986 00:26:07,000 --> 00:26:08,000 habrá casos 987 00:26:08,000 --> 00:26:09,000 en los cuales 988 00:26:09,000 --> 00:26:10,000 las entradas 989 00:26:10,000 --> 00:26:11,000 tengan 990 00:26:11,000 --> 00:26:12,000 se puedan agrupar 991 00:26:12,000 --> 00:26:13,000 un mayor número 992 00:26:13,000 --> 00:26:14,000 de tipos 993 00:26:14,000 --> 00:26:15,000 una entrada 994 00:26:15,000 --> 00:26:16,000 de cada uno 995 00:26:16,000 --> 00:26:17,000 de esos tipos 996 00:26:17,000 --> 00:26:18,000 posibles 997 00:26:18,000 --> 00:26:19,000 vale 998 00:26:19,000 --> 00:26:20,000 no escatimeis 999 00:26:20,000 --> 00:26:21,000 y seáis 1000 00:26:21,000 --> 00:26:22,000 tacaños 1001 00:26:22,000 --> 00:26:23,000 haciendo pruebas 1002 00:26:23,000 --> 00:26:24,000 porque llegáis 1003 00:26:24,000 --> 00:26:25,000 a conclusiones 1004 00:26:25,000 --> 00:26:26,000 de que algo funciona 1005 00:26:26,000 --> 00:26:27,000 y son errores 1006 00:26:27,000 --> 00:26:28,000 esas condiciones 1007 00:26:28,000 --> 00:26:29,000 vale 1008 00:26:29,000 --> 00:26:30,000 pues esto 1009 00:26:30,000 --> 00:26:31,000 esta es la sentencia 1010 00:26:31,000 --> 00:26:32,000 del bucle guay 1011 00:26:32,000 --> 00:26:33,000 otras versiones 1012 00:26:33,000 --> 00:26:34,000 del bucle 1013 00:26:34,000 --> 00:26:35,000 según vaya surgiendo 1014 00:26:35,000 --> 00:26:36,000 el ejercicio 1015 00:26:36,000 --> 00:26:37,000 las incorporamos 1016 00:26:37,000 --> 00:26:38,000 a lo que nos interesa 1017 00:26:38,000 --> 00:26:39,000 es entender 1018 00:26:39,000 --> 00:26:40,000 esto 1019 00:26:40,000 --> 00:26:41,000 y saberlo 1020 00:26:41,000 --> 00:26:42,000 y saberlo aplicar 1021 00:26:42,000 --> 00:26:43,000 vale 1022 00:26:43,000 --> 00:26:44,000 muchas gracias 1023 00:26:44,000 --> 00:26:45,000 muchas gracias 1024 00:26:45,000 --> 00:26:45,000