1 00:00:00,000 --> 00:00:03,720 vale, pues este enunciado 2 00:00:03,720 --> 00:00:05,639 es un ejemplo de enunciado que 3 00:00:05,639 --> 00:00:08,140 no está especialmente claro 4 00:00:08,140 --> 00:00:09,599 entonces uno pregunta y dice 5 00:00:09,599 --> 00:00:12,080 ¿pero qué significa asegurándose de que no sea negativo? 6 00:00:12,839 --> 00:00:13,939 lo que significa es 7 00:00:13,939 --> 00:00:15,519 la única forma de que el resultado sea 8 00:00:15,519 --> 00:00:18,179 no negativo es que tú decidas 9 00:00:18,179 --> 00:00:20,059 quién es el minuendo y quién es el sustraendo 10 00:00:20,059 --> 00:00:21,280 en función de cuál es el mayor 11 00:00:21,280 --> 00:00:23,859 entonces siempre que pongas 12 00:00:23,859 --> 00:00:26,000 el mayor el minuendo y el menor el sustraendo 13 00:00:26,000 --> 00:00:28,100 es la única forma de asegurarse de que no sea 14 00:00:28,100 --> 00:00:29,739 negativo, ¿vale? 15 00:00:29,739 --> 00:00:32,420 restar siempre el más pequeño del más grande 16 00:00:32,420 --> 00:00:33,899 pues a eso se refiere 17 00:00:33,899 --> 00:00:35,859 entonces esto 18 00:00:35,859 --> 00:00:37,799 pues de nuevo hay muchas formas de hacerlo 19 00:00:37,799 --> 00:00:38,619 pero por ejemplo 20 00:00:38,619 --> 00:00:45,420 podemos hacer lo siguiente 21 00:00:45,420 --> 00:00:46,500 necesitamos 22 00:00:46,500 --> 00:00:53,460 claro, en función de una condición 23 00:00:53,460 --> 00:00:55,159 haces la resta de esta manera 24 00:00:55,159 --> 00:00:56,420 o la haces de la otra 25 00:00:56,420 --> 00:00:58,820 esa sería una de las posibilidades 26 00:00:58,820 --> 00:01:01,340 otra sería 27 00:01:01,340 --> 00:01:02,520 hacer la resta 28 00:01:02,520 --> 00:01:05,060 Y si te da negativo, multiplicarlo por menos 1. 29 00:01:05,500 --> 00:01:07,379 Por ejemplo, hay varias opciones. 30 00:01:07,599 --> 00:01:13,040 Quizás esto estaba más pensado como se trata de hacer las comparaciones, 31 00:01:13,500 --> 00:01:16,340 pues hacer la condición de menor que y mayor que y ya está. 32 00:01:17,219 --> 00:01:19,359 Vale, entonces lo que está claro es que del teclado hay que leer. 33 00:01:20,280 --> 00:01:24,000 Entonces, como del teclado hay que leer, pues esto sí o sí. 34 00:01:32,049 --> 00:01:37,409 Vale, y ahora siempre presente, ¿con qué datos trabaja mi aplicación? 35 00:01:37,409 --> 00:01:39,609 Va a trabajar con dos números dabel 36 00:01:39,609 --> 00:01:42,430 Pues como trabaja con dos números dabel 37 00:01:42,430 --> 00:01:44,489 Me declaro dos variables dabel 38 00:01:44,489 --> 00:01:48,730 Vale 39 00:01:48,730 --> 00:01:50,629 Esto se importa 40 00:01:50,629 --> 00:01:55,799 ¿Leer los datos de dónde se leen? 41 00:01:55,859 --> 00:01:56,480 ¿Del teclado? 42 00:01:56,599 --> 00:01:58,019 Pues venga, leer los datos del teclado 43 00:01:58,019 --> 00:01:59,840 Podemos hacerlo ya de partida 44 00:01:59,840 --> 00:02:01,819 Sin pensar todavía en nada posterior 45 00:02:01,819 --> 00:02:03,959 Pues venga, esto 46 00:02:03,959 --> 00:02:23,580 Vale, pues nada 47 00:02:23,580 --> 00:02:28,759 En num1 guardamos el resultado de leer un dabel 48 00:02:28,759 --> 00:02:35,110 y en num2 guardamos el resultado de RR el otro 49 00:02:35,110 --> 00:02:44,500 y ahora ya es donde empieza el análisis 50 00:02:44,500 --> 00:02:48,080 de nuestra aplicación, cómo hacemos el diseño, etc. 51 00:02:48,240 --> 00:02:49,659 los datos de entrada ya los tenemos 52 00:02:49,659 --> 00:02:51,879 y los tenemos guardados en las variables 53 00:02:51,879 --> 00:02:54,039 correspondientes según su tipo 54 00:02:54,039 --> 00:02:57,960 vale, pues el resultado es mostrar una cantidad 55 00:02:57,960 --> 00:03:00,099 un numerito, es mostrar una cantidad 56 00:03:00,099 --> 00:03:02,500 que además nos dicen que es la resta de esos 57 00:03:02,500 --> 00:03:06,159 entonces el resultado va a ser también un número decimal 58 00:03:06,159 --> 00:03:08,199 el resultado es este 59 00:03:08,199 --> 00:03:10,199 y estamos como siempre 60 00:03:10,199 --> 00:03:12,460 el resultado de mi aplicación va a ser 61 00:03:12,460 --> 00:03:17,819 mostrar esto, ese va a ser 62 00:03:17,819 --> 00:03:19,080 el resultado de mi aplicación 63 00:03:19,080 --> 00:03:21,719 vale, entonces 64 00:03:21,719 --> 00:03:23,259 ahora tengo que decir, a ver 65 00:03:23,259 --> 00:03:25,780 pues antes 66 00:03:25,780 --> 00:03:27,599 de mostrarlo, tengo que decir 67 00:03:27,599 --> 00:03:28,379 vale, muy bien 68 00:03:28,379 --> 00:03:31,360 ¿qué valor le das al resultado? 69 00:03:31,500 --> 00:03:33,680 ¿el resultado cómo se obtiene? ¿cómo obtengo yo 70 00:03:33,680 --> 00:03:35,740 el resultado? te dicen la resta 71 00:03:35,740 --> 00:03:37,879 si te dijeran la resta sin más 72 00:03:37,879 --> 00:03:39,560 Sería muy fácil 73 00:03:39,560 --> 00:03:42,560 Esto y nuestra aplicación ya estaría terminada 74 00:03:42,560 --> 00:03:44,639 Nos han dicho la resta sin más 75 00:03:44,639 --> 00:03:46,340 Pues ya estaría, aplicación terminada 76 00:03:46,340 --> 00:03:47,740 Pero nos han dicho 77 00:03:47,740 --> 00:03:49,800 Ojo, no puede ser negativo 78 00:03:49,800 --> 00:03:53,039 Con lo cual tenemos dos opciones para la resta 79 00:03:53,039 --> 00:03:53,819 O bien esta 80 00:03:53,819 --> 00:03:56,340 O bien la otra 81 00:03:56,340 --> 00:03:57,240 O bien esta otra 82 00:03:57,240 --> 00:04:06,860 No sabemos que asignación darle a result 83 00:04:06,860 --> 00:04:08,979 Le damos esta o le damos esta otra 84 00:04:08,979 --> 00:04:10,360 Estamos entre dos opciones 85 00:04:10,360 --> 00:04:12,080 Pues depende 86 00:04:12,080 --> 00:04:14,259 Depende de que número es mayor 87 00:04:14,259 --> 00:04:17,300 vale, pues entonces estamos en una asignación condicionada 88 00:04:17,300 --> 00:04:19,279 la asignación condicionada 89 00:04:19,279 --> 00:04:21,399 ya podemos hacerla, oye, ¿cuál es la condición 90 00:04:21,399 --> 00:04:23,300 de la cual depende que haga yo la resta 91 00:04:23,300 --> 00:04:24,319 en un orden o en la otra? 92 00:04:25,040 --> 00:04:27,220 de si num1 es mayor que num2 93 00:04:27,220 --> 00:04:29,279 bueno, pues entonces ya 94 00:04:29,279 --> 00:04:33,639 num1 es 95 00:04:33,639 --> 00:04:35,759 mayor que num2 96 00:04:35,759 --> 00:04:37,459 esa es la condición de la que depende 97 00:04:37,459 --> 00:04:38,779 si es mayor 98 00:04:38,779 --> 00:04:41,420 entonces esta es la asignación 99 00:04:41,420 --> 00:04:42,839 que hago, no, no es mayor 100 00:04:42,839 --> 00:04:45,800 es menor o igual 101 00:04:45,800 --> 00:04:47,120 Pues entonces hago esta otra 102 00:04:47,120 --> 00:04:51,370 Y ya está 103 00:04:51,370 --> 00:04:53,170 Y esto fuera 104 00:04:53,170 --> 00:04:55,550 ¿Vale? 105 00:04:55,689 --> 00:04:57,129 Entonces ya tenemos la resta 106 00:04:57,129 --> 00:04:59,149 Pero con la garantía de que el orden 107 00:04:59,149 --> 00:05:02,290 De los elementos de la resta 108 00:05:02,290 --> 00:05:04,310 Depende de esto 109 00:05:04,310 --> 00:05:06,250 Y así nunca va a ser negativa 110 00:05:06,250 --> 00:05:08,170 Puede ser 0, eso sí 111 00:05:08,170 --> 00:05:10,509 Si un 1 es igual que un 2 112 00:05:10,509 --> 00:05:13,170 Entonces esta condición será falsa 113 00:05:13,170 --> 00:05:14,290 Entonces al ser falsa 114 00:05:14,290 --> 00:05:14,970 Aquí no entra 115 00:05:14,970 --> 00:05:16,310 Entra aquí 116 00:05:16,310 --> 00:05:20,199 pero al ser iguales dará 0 117 00:05:20,199 --> 00:05:21,459 vale, pues da 0, está bien 118 00:05:21,459 --> 00:05:25,480 vale, entonces aunque parezca muy sencillo 119 00:05:25,480 --> 00:05:27,300 uno siempre tiene que hacer las pruebas 120 00:05:27,300 --> 00:05:28,620 y probarlo 121 00:05:28,620 --> 00:05:43,740 23, número 2 122 00:05:43,740 --> 00:05:46,319 98, la resta es 75 123 00:05:46,319 --> 00:05:53,079 y sigue siendo 124 00:05:53,079 --> 00:05:55,379 75, aunque lo haya metido yo en este orden 125 00:05:55,379 --> 00:06:02,360 vale, dime 126 00:06:02,360 --> 00:06:09,439 a ver, si esto es true 127 00:06:09,439 --> 00:06:11,639 lo verdadero es la primera parte 128 00:06:11,639 --> 00:06:15,079 La primera parte es lo que asigna 129 00:06:15,079 --> 00:06:16,360 Si esto es verdad 130 00:06:16,360 --> 00:06:19,040 Y la segunda si es falsa 131 00:06:19,040 --> 00:06:21,639 Porque de una condición solo hay dos opciones 132 00:06:21,639 --> 00:06:23,240 Verdad o mentira, no hay más 133 00:06:23,240 --> 00:06:24,740 O es verdad o es mentira 134 00:06:24,740 --> 00:06:26,819 Por eso hay dos partes 135 00:06:26,819 --> 00:06:29,180 O esta o esta 136 00:06:29,180 --> 00:06:34,819 Tal y como está, si los dos números son iguales 137 00:06:34,819 --> 00:06:35,459 Esta es falsa 138 00:06:35,459 --> 00:06:39,079 Claro, haría 3 menos 3, 0 139 00:06:39,079 --> 00:06:40,600 En este caso sí 140 00:06:40,600 --> 00:06:43,100 otra cosa es que nos dijeran que en el caso 141 00:06:43,100 --> 00:06:45,199 de que sean iguales, hiciéramos una tercera cosa 142 00:06:45,199 --> 00:06:47,220 pero si nos dicen eso, pues entonces 143 00:06:47,220 --> 00:06:49,220 la operación de asignación así tal 144 00:06:49,220 --> 00:06:51,120 como la tenemos no nos vale, porque esa solo nos da 145 00:06:51,120 --> 00:06:52,839 dos posibilidades, dos 146 00:06:52,839 --> 00:06:55,339 o esta primera o esa segunda, dos posibilidades 147 00:06:55,339 --> 00:06:57,199 vale, vamos a ver si hay 148 00:06:57,199 --> 00:06:58,759 alguna otra que tenga 149 00:06:58,759 --> 00:07:05,610 vale 150 00:07:05,610 --> 00:07:12,459 bueno, esto ya he visto por ahí que lo habéis 151 00:07:12,459 --> 00:07:14,959 hecho muchos, dos variables enteras 152 00:07:14,959 --> 00:07:18,540 Bueno, es que está muy fácil 153 00:07:18,540 --> 00:07:20,680 Dos variables enteras, indicar cuál de los dos 154 00:07:20,680 --> 00:07:21,560 Tiene más productos 155 00:07:21,560 --> 00:07:22,879 Pues depende 156 00:07:22,879 --> 00:07:28,920 Bueno, venga, vamos, como no tardamos nada 157 00:07:28,920 --> 00:07:30,819 Vamos a hacerlo también 158 00:07:30,819 --> 00:07:44,319 Venga, ejercicio 16 159 00:07:44,319 --> 00:07:46,600 Leemos dos variables enteras 160 00:07:46,600 --> 00:07:52,240 Copio el escáner otra vez 161 00:07:52,240 --> 00:08:12,750 Vale, lee dos variables enteras 162 00:08:12,750 --> 00:08:14,589 Pues venga, leemos dos variables enteras 163 00:08:14,589 --> 00:08:15,610 Voy a copiarlo de aquí 164 00:08:15,610 --> 00:08:18,230 Lo que pasa es que tendré que cambiar el double por int 165 00:08:18,230 --> 00:08:19,009 Pero vamos 166 00:08:19,009 --> 00:08:27,319 Leemos dos variables enteras 167 00:08:27,319 --> 00:08:33,320 Y aquí entonces esto tendremos que cambiar 168 00:08:33,320 --> 00:08:34,159 A int 169 00:08:34,159 --> 00:08:38,299 Y esto también cambiará a int 170 00:08:38,299 --> 00:08:44,279 Y esto lector 171 00:08:44,279 --> 00:08:48,690 Vale, esta primera variable entera 172 00:08:48,690 --> 00:08:50,389 Es lo que hay en el almacén 1 173 00:08:50,389 --> 00:08:55,039 Y esta segunda variable es lo que hay en el almacén 2 174 00:08:55,039 --> 00:09:01,860 vale, entonces 175 00:09:01,860 --> 00:09:03,100 los datos de entrada ya están 176 00:09:03,100 --> 00:09:04,639 esto es lo más fácil 177 00:09:04,639 --> 00:09:07,460 dos variables enteras para mis dos datos de entrada 178 00:09:07,460 --> 00:09:09,960 guardados en las variables que corresponden 179 00:09:09,960 --> 00:09:11,220 ahora, ¿qué dice? 180 00:09:12,480 --> 00:09:13,679 el resultado ahora 181 00:09:13,679 --> 00:09:16,120 es mostrar un mensaje 182 00:09:16,120 --> 00:09:17,500 vale, luego mi resultado 183 00:09:17,500 --> 00:09:19,179 ahora no es un número 184 00:09:19,179 --> 00:09:21,779 no es una resta, no es no sé qué 185 00:09:21,779 --> 00:09:22,879 es un mensajito 186 00:09:22,879 --> 00:09:25,399 bueno, luego mi resultado va a ser 187 00:09:25,399 --> 00:09:27,639 ahora mismo, con lo que yo sé 188 00:09:27,639 --> 00:09:28,840 que todavía el stream no sé nada, 189 00:09:29,840 --> 00:09:32,399 pues mi resultado será aquí escribir algo. 190 00:09:33,240 --> 00:09:34,100 Todavía no sabemos el qué. 191 00:09:34,200 --> 00:09:35,019 Ahí escribir algo. 192 00:09:35,220 --> 00:09:36,159 Ese es el resultado de mi programa. 193 00:09:36,899 --> 00:09:38,039 Vale, ¿qué tengo que escribir ahí? 194 00:09:39,879 --> 00:09:40,960 Estoy en el 16. 195 00:09:41,860 --> 00:09:45,559 Pues analizando el enunciado, son dos posibilidades. 196 00:09:46,559 --> 00:09:49,559 ¿El almacén 1 tiene más o el almacén 2 tiene más? 197 00:09:50,080 --> 00:09:51,019 Entonces, estoy en la misma. 198 00:09:51,200 --> 00:09:52,519 Tengo dos posibilidades. 199 00:09:53,240 --> 00:09:55,539 Luego, este mensajito de aquí, en realidad, son dos opciones. 200 00:09:55,539 --> 00:10:10,820 O bien la primera opción, que es almacén uno más, así he escrito a lo bestia, o bien la segunda. 201 00:10:22,559 --> 00:10:28,720 Es decir, no tengo una única salida posible, tengo dos posibilidades, o esta o esta. 202 00:10:30,019 --> 00:10:33,399 Vale, pues estoy en el mismo caso, dependiendo de una condición. 203 00:10:33,759 --> 00:10:37,340 ¿La condición la conozco? Sí, la condición va a ser esta. 204 00:10:37,340 --> 00:10:41,799 Num1 es mayor que num2 205 00:10:41,799 --> 00:10:48,620 Pues si el numerito 1 es mayor que el numerito 2 206 00:10:48,620 --> 00:10:50,460 Muestra la primera 207 00:10:50,460 --> 00:10:53,740 Y si no, muestra la segunda 208 00:10:53,740 --> 00:10:57,759 ¿Vale? Aquí es cuando uno ya puede dejar esto así 209 00:10:57,759 --> 00:10:59,320 Hacer sus pruebas y ya se da cuenta 210 00:10:59,320 --> 00:11:00,840 De que muy bonita no está 211 00:11:00,840 --> 00:11:03,340 Uno hace las pruebas 212 00:11:03,340 --> 00:11:06,059 Venga, almacén 1 tiene 65 cosas 213 00:11:06,059 --> 00:11:07,460 Almacén 2 tiene 23 214 00:11:07,460 --> 00:11:08,919 Uy, que bien, ha funcionado 215 00:11:08,919 --> 00:11:36,279 Vale, otra prueba, uno no hace una prueba y se acabó, claro, la otra prueba que haría el otro extremo, pues haría, este tiene 7 y este tiene 8, almacén 2 más, muy bien, vale, sigue haciendo pruebas, tiene que contemplar todos los casos, el almacén 1 tiene 6 y el almacén 2 tiene 6, dice almacén 2 más, dice, wow, ¿y esta aplicación funciona? 216 00:11:36,279 --> 00:11:38,039 no tiene errores de ejecución 217 00:11:38,039 --> 00:11:40,139 pero no hace lo que tiene que hacer 218 00:11:40,139 --> 00:11:42,700 entonces la tendremos que retocar 219 00:11:42,700 --> 00:11:44,059 porque no hace lo que tiene que hacer 220 00:11:44,059 --> 00:11:47,139 vale, pues nos vamos al código 221 00:11:47,139 --> 00:11:48,679 y entendemos primero 222 00:11:48,679 --> 00:11:49,580 dónde está el problema 223 00:11:49,580 --> 00:11:52,039 entendemos primero dónde está el problema 224 00:11:52,039 --> 00:11:54,059 y lo entendemos porque decimos 225 00:11:54,059 --> 00:11:54,779 uy, claro 226 00:11:54,779 --> 00:11:57,919 cuando num1 es mayor que num2 227 00:11:57,919 --> 00:12:00,299 o sea, true, está claro, no hay duda 228 00:12:00,299 --> 00:12:01,259 el almacén 1 tiene más 229 00:12:01,259 --> 00:12:04,000 pero qué pasa en el caso que me ha dado problemas 230 00:12:04,000 --> 00:12:06,539 que num1 y num2 sean iguales 231 00:12:06,539 --> 00:12:08,200 entonces esto es falso 232 00:12:08,200 --> 00:12:09,960 al ser falso 233 00:12:09,960 --> 00:12:13,580 efectivamente 234 00:12:13,580 --> 00:12:15,139 al ser falso se va a ir aquí 235 00:12:15,139 --> 00:12:17,340 es así nuestro problema 236 00:12:17,340 --> 00:12:19,919 esta condición puede ser falso 237 00:12:19,919 --> 00:12:21,700 tanto porque num1 238 00:12:21,700 --> 00:12:23,179 sea igual a num2 239 00:12:23,179 --> 00:12:25,759 como porque num1 sea menor 240 00:12:25,759 --> 00:12:28,080 que num2, puede ser falso en ambos casos 241 00:12:28,080 --> 00:12:30,019 y para los dos casos 242 00:12:30,019 --> 00:12:31,580 me suelta esto 243 00:12:31,580 --> 00:12:33,659 para los dos, no nos vale 244 00:12:33,659 --> 00:12:36,419 Queremos distinguirlo 245 00:12:36,419 --> 00:12:38,179 Entonces ahora decimos, vale 246 00:12:38,179 --> 00:12:40,419 En el caso true está claro, esto está muy bien 247 00:12:40,419 --> 00:12:41,440 Pero ¿qué pasa en el false? 248 00:12:42,460 --> 00:12:44,039 En el false de nuevo 249 00:12:44,039 --> 00:12:46,759 Quiero distinguir entre dos posibilidades 250 00:12:46,759 --> 00:12:48,700 Iguales o almacén dos más 251 00:12:48,700 --> 00:12:53,320 Luego aquí en realidad, dependiendo de una condición 252 00:12:53,320 --> 00:12:55,379 Dependiendo de una condición 253 00:12:55,379 --> 00:12:56,879 Tendré otra vez 254 00:12:56,879 --> 00:12:58,019 Dos posibilidades 255 00:12:58,019 --> 00:13:00,830 Eso 256 00:13:00,830 --> 00:13:06,480 Aquí claro, ¿qué condición pongo? 257 00:13:06,480 --> 00:13:08,259 aquí ya sí que podré poner 258 00:13:08,259 --> 00:13:11,539 num2 mayor que num1 259 00:13:11,539 --> 00:13:13,679 si esto es true 260 00:13:13,679 --> 00:13:14,659 almacén 2 más 261 00:13:14,659 --> 00:13:16,379 y si esto es falso 262 00:13:16,379 --> 00:13:19,059 si eso es falso es que ya no hay más opciones 263 00:13:19,059 --> 00:13:20,200 que que sean iguales 264 00:13:20,200 --> 00:13:23,580 claro, porque ya venía de que esta era falsa 265 00:13:23,580 --> 00:13:25,419 entonces si num1 mayor que num2 266 00:13:25,419 --> 00:13:26,159 es falsa 267 00:13:26,159 --> 00:13:28,879 num2 mayor que num1 también es falsa 268 00:13:28,879 --> 00:13:30,419 solo hay una posibilidad 269 00:13:30,419 --> 00:13:33,320 y es que num2 y num1 sean iguales 270 00:13:33,320 --> 00:13:34,000 solo hay una 271 00:13:34,000 --> 00:13:37,179 vale 272 00:13:37,179 --> 00:13:38,320 entonces 273 00:13:38,320 --> 00:13:41,600 esto es un poco lo más lioso del operador 274 00:13:41,600 --> 00:13:43,899 condicional, que lo puedes ir anidando 275 00:13:43,899 --> 00:13:46,100 es decir, la condición 276 00:13:46,100 --> 00:13:47,740 me da dos opciones, pero luego dentro 277 00:13:47,740 --> 00:13:49,860 de cada una de ellas, también lo podría poner aquí 278 00:13:49,860 --> 00:13:51,740 en el caso de que sea true 279 00:13:51,740 --> 00:13:53,419 además se cumple esta cosa, pero 280 00:13:53,419 --> 00:13:54,519 se entiende peor 281 00:13:54,519 --> 00:13:56,980 entonces también lo puedo anidar 282 00:13:56,980 --> 00:13:59,580 una condición tiene los dos lados 283 00:13:59,580 --> 00:14:00,960 este lado o el otro lado 284 00:14:00,960 --> 00:14:03,740 pero este otro lado de nuevo lo puedo dividir 285 00:14:03,740 --> 00:14:04,759 También en dos opciones. 286 00:14:07,100 --> 00:14:07,379 ¿Vale? 287 00:14:07,879 --> 00:14:09,720 Entonces uno hace ya la prueba de esto. 288 00:14:10,860 --> 00:14:13,639 Y dice, a ver, voy a hacer el caso de prueba que me fallaba. 289 00:14:14,700 --> 00:14:16,139 Pues sí, son iguales. 290 00:14:16,360 --> 00:14:16,639 ¿Vale? 291 00:14:17,120 --> 00:14:24,100 Claro, a lo mejor le ha empezado a fallar porque sin darse cuenta ha cambiado algo y ya no le funciona para los casos en los que le funcionaba antes. 292 00:14:24,620 --> 00:14:25,779 Pues sí que funciona. 293 00:14:28,429 --> 00:14:31,450 Y para este caso pues también funciona. 294 00:14:45,070 --> 00:14:48,509 Bueno, este que no lo haya hecho que lo haga. 295 00:14:48,509 --> 00:14:50,870 Y si tiene problemas que lo diga 296 00:14:50,870 --> 00:14:51,129 Vale 297 00:14:51,129 --> 00:14:54,509 A ver, ahora hay ejercicios que involucran 298 00:14:54,509 --> 00:14:56,990 Operadores and or los de lógica booleana 299 00:14:56,990 --> 00:14:57,450 De estas 300 00:14:57,450 --> 00:15:00,029 Vale, vamos a buscar alguno que tenga 301 00:15:00,029 --> 00:15:16,299 Venga 302 00:15:16,299 --> 00:15:19,500 Por ejemplo, vamos a 303 00:15:19,500 --> 00:15:19,960 Eh 304 00:15:19,960 --> 00:15:25,220 Hacer el 18, por eso de que 305 00:15:25,220 --> 00:15:27,639 Hay dos variables booleanas, que se os puede hacer más raro 306 00:15:27,639 --> 00:15:29,799 Venga 307 00:15:29,799 --> 00:15:39,399 Ejercicio 18 308 00:15:39,399 --> 00:15:40,100 Vale 309 00:15:40,100 --> 00:15:45,860 Venga, leemos dos variables boolean 310 00:15:45,860 --> 00:15:47,980 Dos variables boolean por teclado 311 00:15:47,980 --> 00:15:49,799 Luego el escáner 312 00:15:49,799 --> 00:15:50,600 Tiene que estar 313 00:15:50,600 --> 00:16:04,029 Y ahora las variables boolean que vamos a leer 314 00:16:04,029 --> 00:16:05,950 Pues esta es para 315 00:16:05,950 --> 00:16:07,570 La asignatura 1, por ejemplo 316 00:16:07,570 --> 00:16:10,490 Y esta es para la asignatura 2 317 00:16:10,490 --> 00:16:16,830 Ya le podemos decir 318 00:16:16,830 --> 00:16:17,929 A ver 319 00:16:17,929 --> 00:16:20,190 Aprobó asignatura 1 para que nos meta 320 00:16:20,190 --> 00:16:21,870 True o false, que es lo único que nos puede meter 321 00:16:21,870 --> 00:16:22,970 Con una variable boolean 322 00:16:22,970 --> 00:16:29,389 Asignatura 1, y le vamos a decir 323 00:16:29,389 --> 00:16:30,970 le vamos a dar la información 324 00:16:30,970 --> 00:16:33,190 de que nos escriba true o false 325 00:16:33,190 --> 00:16:38,860 la aprobó 326 00:16:38,860 --> 00:16:40,120 esto dentro de la 327 00:16:40,120 --> 00:16:42,139 las comillas, ahí 328 00:16:42,139 --> 00:16:47,289 y ahora ya leemos el boolean 329 00:16:47,289 --> 00:16:49,450 pues así, 1 igual a 330 00:16:49,450 --> 00:16:50,029 scan. 331 00:16:57,659 --> 00:17:01,720 Ah, next, está poniendo read, vale 332 00:17:01,720 --> 00:17:03,039 next boolean 333 00:17:03,039 --> 00:17:05,539 y lo mismo con la asignatura 2 334 00:17:05,539 --> 00:17:15,670 aprobó asignatura 2 335 00:17:15,670 --> 00:17:23,019 vale 336 00:17:23,019 --> 00:17:26,319 Vale, entonces 337 00:17:26,319 --> 00:17:27,259 Ya tenemos los datos 338 00:17:27,259 --> 00:17:30,119 ASIC 1 puede ser true o false 339 00:17:30,119 --> 00:17:31,279 En función de si aprobó la primera 340 00:17:31,279 --> 00:17:34,180 ASIC 2 puede ser true o false en función de si aprobó la segunda 341 00:17:34,180 --> 00:17:35,579 Lo que haya metido el tío 342 00:17:35,579 --> 00:17:36,920 Y ahora ya 343 00:17:36,920 --> 00:17:39,920 La pregunta es 344 00:17:39,920 --> 00:17:42,359 Si muestra un mensaje diciendo 345 00:17:42,359 --> 00:17:44,240 Si aprueba o repite 346 00:17:44,240 --> 00:17:45,619 Vale 347 00:17:45,619 --> 00:17:47,599 Pues estamos en las mismas 348 00:17:47,599 --> 00:17:49,160 El resultado de la 349 00:17:49,160 --> 00:17:50,960 Aplicación es 350 00:17:50,960 --> 00:17:52,700 Dos posibilidades 351 00:17:52,700 --> 00:17:55,160 Entonces, ¿aprueba o repite? 352 00:17:57,079 --> 00:17:59,140 Entendemos, habría que preguntárselo a quien nos lo pidió, 353 00:17:59,240 --> 00:18:02,720 entendemos que aprueba es si ha aprobado las dos 354 00:18:02,720 --> 00:18:05,539 y repite con que tenga suspensas alguna de las dos. 355 00:18:07,380 --> 00:18:09,740 Entonces, ¿qué vamos a mostrar? 356 00:18:09,920 --> 00:18:10,900 ¿Aprueba o repite? 357 00:18:11,720 --> 00:18:13,119 Dependiendo de una condición. 358 00:18:14,440 --> 00:18:15,960 Y ahora ya esa condición hay que pensar. 359 00:18:16,299 --> 00:18:20,460 A ver, esa condición tiene que ser la que refleje este hecho. 360 00:18:20,460 --> 00:18:25,460 El estudiante aprueba si los dos módulos están aprobados 361 00:18:25,460 --> 00:18:28,539 Y repite si alguno de los dos está suspenso 362 00:18:28,539 --> 00:18:32,380 Bueno, pues ahora tenemos que traducir eso a una condición aquí 363 00:18:32,380 --> 00:18:34,259 ¿Qué condición pondríais? 364 00:18:35,599 --> 00:18:35,920 ¿Cuál? 365 00:18:39,920 --> 00:18:45,599 ASIC 1 y ASIC 2 366 00:18:45,599 --> 00:18:48,720 No hace falta 367 00:18:48,720 --> 00:18:50,259 Claro 368 00:18:50,259 --> 00:18:52,019 A ver 369 00:18:52,019 --> 00:18:53,980 lo puedes poner 370 00:18:53,980 --> 00:18:55,359 pero es redundante 371 00:18:55,359 --> 00:18:58,140 claro, es como decir 372 00:18:58,140 --> 00:19:00,019 esta mesa es amarilla 373 00:19:00,019 --> 00:19:01,859 es algo que es verdad o mentira 374 00:19:01,859 --> 00:19:04,240 luego es un boolean, es un enunciado boolean 375 00:19:04,240 --> 00:19:06,460 y decir esta mesa es amarilla 376 00:19:06,460 --> 00:19:08,640 es verdad, también es un boolean 377 00:19:08,640 --> 00:19:10,140 pero estoy diciendo lo mismo 378 00:19:10,140 --> 00:19:11,700 si yo digo 379 00:19:11,700 --> 00:19:13,940 que esta mesa es amarilla es verdad 380 00:19:13,940 --> 00:19:15,880 estoy expresando 381 00:19:15,880 --> 00:19:18,000 el mismo hecho booleano que decir 382 00:19:18,000 --> 00:19:18,960 esta mesa es amarilla 383 00:19:18,960 --> 00:19:20,380 estoy diciendo lo mismo 384 00:19:20,380 --> 00:19:21,640 Entonces 385 00:19:21,640 --> 00:19:27,759 Uy, perdón, es que no me había dado cuenta 386 00:19:27,759 --> 00:19:29,940 Que es que no me había dado cuenta que estaba subida 387 00:19:29,940 --> 00:19:30,660 Perdón 388 00:19:30,660 --> 00:19:35,319 Vale, a ver 389 00:19:35,319 --> 00:19:38,059 Se ve bien la letra al final 390 00:19:38,059 --> 00:19:42,299 Y se ve mejor así 391 00:19:42,299 --> 00:19:44,359 O 392 00:19:44,359 --> 00:19:59,900 A ver 393 00:19:59,900 --> 00:20:14,240 A ver 394 00:20:14,240 --> 00:20:18,140 ¿Se ve mejor en negro o en blanco? 395 00:20:18,500 --> 00:20:18,940 En blanco 396 00:20:18,940 --> 00:20:20,299 Vaya hombre 397 00:20:20,299 --> 00:20:21,680 ¿Seguro? 398 00:20:22,039 --> 00:20:23,500 ¿Tengo que deshacer el cambio? 399 00:20:24,200 --> 00:20:25,240 ¿Se ve mejor en blanco seguro? 400 00:20:27,039 --> 00:20:27,640 Venga 401 00:20:27,640 --> 00:20:32,250 Espera, voy a 402 00:20:32,250 --> 00:20:35,869 Vale 403 00:20:35,869 --> 00:20:38,829 Pues hemos puesto el primer ejemplo 404 00:20:38,829 --> 00:20:40,809 De ejercicio con un operador booleano 405 00:20:40,809 --> 00:20:42,210 Vale 406 00:20:42,210 --> 00:20:45,170 Entonces, os pueden parecer 407 00:20:45,170 --> 00:20:46,930 Ah, bueno, está muy sencillo de entender 408 00:20:46,930 --> 00:20:48,109 No es tan fácil 409 00:20:48,109 --> 00:20:51,650 Luego, cuando me dan una condición cualquiera 410 00:20:51,650 --> 00:20:53,190 Pasar a la expresión 411 00:20:53,190 --> 00:20:54,750 Aquí me han dicho 412 00:20:54,750 --> 00:20:56,329 ¿Va a pasar de curso? 413 00:20:56,930 --> 00:20:58,990 Yo lo traduzco, para pasar de curso 414 00:20:58,990 --> 00:21:00,849 O decir aprobar 415 00:21:00,849 --> 00:21:03,450 Bueno, esto quizá queda más claro 416 00:21:03,450 --> 00:21:05,849 Si ponemos aquí 417 00:21:07,849 --> 00:21:09,349 Pasa de curso 418 00:21:09,349 --> 00:21:10,349 O promociona 419 00:21:10,349 --> 00:21:11,950 Que pasa de curso suena muy raro 420 00:21:11,950 --> 00:21:13,430 promociona 421 00:21:13,430 --> 00:21:16,230 ¿vale? entonces a mí el enunciado 422 00:21:16,230 --> 00:21:17,769 me decía, ¿si promociona o no? 423 00:21:18,670 --> 00:21:18,930 entonces 424 00:21:18,930 --> 00:21:24,529 claro, porque es que no tienes que poner un 425 00:21:24,529 --> 00:21:25,990 número, tienes que poner un boolean 426 00:21:25,990 --> 00:21:28,690 estamos leyendo variables booleanas 427 00:21:28,690 --> 00:21:32,549 variables booleanas, de todas maneras 428 00:21:32,549 --> 00:21:34,450 esa es una manera 429 00:21:34,450 --> 00:21:35,950 muy mala, no conmigo, porque 430 00:21:35,950 --> 00:21:38,549 sino en general, cuando tú eres en un centro de trabajo 431 00:21:38,549 --> 00:21:40,710 nunca digas, uy eso está mal 432 00:21:40,710 --> 00:21:42,329 jamás digas eso 433 00:21:42,329 --> 00:21:42,890 di, anda 434 00:21:42,890 --> 00:21:46,130 me está pasando esto 435 00:21:46,130 --> 00:21:46,869 me he encontrado un problema 436 00:21:46,869 --> 00:21:47,769 nunca digo que está mal 437 00:21:47,769 --> 00:21:51,470 porque está fuera 438 00:21:51,470 --> 00:21:54,069 que se cree un listo y dice que esto está mal 439 00:21:54,069 --> 00:21:56,410 así que vuestra forma de hablar 440 00:21:56,410 --> 00:21:57,890 tenéis que irla adaptando al entorno 441 00:21:57,890 --> 00:21:58,890 en el que vais a trabajar 442 00:21:58,890 --> 00:22:01,750 ¿vale? bueno, a ver 443 00:22:01,750 --> 00:22:03,390 en este caso 444 00:22:03,390 --> 00:22:05,130 más o menos se entiende 445 00:22:05,130 --> 00:22:07,130 silencio, estáis un poquito 446 00:22:07,130 --> 00:22:09,670 revolucionados hoy 447 00:22:09,670 --> 00:22:11,509 en este caso 448 00:22:11,509 --> 00:22:13,250 traducir lo de promociona 449 00:22:13,250 --> 00:22:14,869 al and lógico 450 00:22:14,869 --> 00:22:17,710 era más o menos trivial, pero decimos, vale, para promocionar 451 00:22:17,710 --> 00:22:18,990 tengo que aprobar esta 452 00:22:18,990 --> 00:22:21,509 y también esta, y también esta, lo que es lo mismo 453 00:22:21,509 --> 00:22:23,490 todas, entonces aprobar esta 454 00:22:23,490 --> 00:22:25,750 y aprobar esta, y aprobar esta 455 00:22:25,750 --> 00:22:27,569 se traduce inmediatamente 456 00:22:27,569 --> 00:22:28,950 al and lógico 457 00:22:28,950 --> 00:22:31,930 se traduce, hay veces que la traducción 458 00:22:31,930 --> 00:22:33,150 no es tan sencilla 459 00:22:33,150 --> 00:22:35,730 entonces, en este caso 460 00:22:35,730 --> 00:22:37,549 cuando esta condición va a ser true 461 00:22:37,549 --> 00:22:39,630 cuando esta sea 462 00:22:39,630 --> 00:22:41,190 true y también 463 00:22:41,190 --> 00:22:42,490 simultáneamente 464 00:22:42,490 --> 00:22:45,349 cuando esta también sea true 465 00:22:45,349 --> 00:22:46,329 simultáneamente 466 00:22:46,329 --> 00:22:49,150 luego el alumno va a promocionar 467 00:22:49,150 --> 00:22:51,369 si ha aprobado la primera y también 468 00:22:51,369 --> 00:22:52,230 ha aprobado la segunda 469 00:22:52,230 --> 00:22:54,109 ¿cuándo va a ser false? 470 00:22:54,549 --> 00:22:57,130 en cualquiera de los tres casos restantes 471 00:22:57,130 --> 00:22:59,630 esta true pero esta no 472 00:22:59,630 --> 00:23:00,890 ahí será false 473 00:23:00,890 --> 00:23:03,549 esta true pero esta no 474 00:23:03,549 --> 00:23:04,609 ahí será false 475 00:23:04,609 --> 00:23:05,869 o las dos son false 476 00:23:05,869 --> 00:23:09,609 luego el operador 477 00:23:09,630 --> 00:23:11,789 AND, ¿vale? En su tabla 478 00:23:11,789 --> 00:23:12,769 de verdad que se llama, 479 00:23:13,529 --> 00:23:15,529 solo tiene true si las dos son true. 480 00:23:15,890 --> 00:23:17,710 Si está true y está false, el total 481 00:23:17,710 --> 00:23:19,890 false. Si está false y está true, 482 00:23:19,990 --> 00:23:21,769 el total false. Si está false 483 00:23:21,769 --> 00:23:23,109 y está false, el total false. 484 00:23:23,710 --> 00:23:25,650 ¿Vale? Así como funciona el operador AND. 485 00:23:26,109 --> 00:23:27,910 Pues, entendiéndolo bien, cómo funciona 486 00:23:27,910 --> 00:23:29,690 ese operador, ahora ya lo 487 00:23:29,690 --> 00:23:31,609 usamos para expresar condiciones 488 00:23:31,609 --> 00:23:33,450 cuando aplique y cuando tenga sentido. 489 00:23:33,529 --> 00:23:34,930 Aquí lo tiene. ¿Vale? 490 00:23:37,849 --> 00:23:38,329 Entonces, 491 00:23:38,329 --> 00:23:43,220 si nosotros ejecutamos esto 492 00:23:43,220 --> 00:23:49,779 Uy, se me había ponido el paréntesis 493 00:23:49,779 --> 00:23:51,519 ¿Aprobó la asignatura 1? 494 00:23:52,140 --> 00:23:52,599 Sí 495 00:23:52,599 --> 00:23:54,519 ¿Aprobó la asignatura 2? 496 00:23:54,700 --> 00:23:56,980 No, pues repite, claro 497 00:23:56,980 --> 00:23:59,319 ¿Aprobó la asignatura 498 00:23:59,319 --> 00:24:01,299 1? No, la aprobó 499 00:24:01,299 --> 00:24:02,920 ¿Aprobó la asignatura 2? 500 00:24:03,880 --> 00:24:05,680 Esta sí, pues sigue repitiendo 501 00:24:05,680 --> 00:24:09,259 ¿Aprobó esta? 502 00:24:09,740 --> 00:24:10,880 Sí, aprobó esta, sí 503 00:24:10,880 --> 00:24:12,579 Solo en este caso promociona 504 00:24:12,579 --> 00:24:15,039 ¿Vale? Solo en este caso 505 00:24:15,039 --> 00:24:32,619 ¿Vale? 506 00:24:32,740 --> 00:24:34,640 Está hiper mega claro 507 00:24:34,640 --> 00:24:37,099 El operador 508 00:24:37,099 --> 00:24:38,500 AND este 509 00:24:38,500 --> 00:24:40,960 Lo que significa 510 00:24:40,960 --> 00:24:43,039 Luego ya otra cosa es, repito 511 00:24:43,039 --> 00:24:45,319 Usarlo para hacer expresiones 512 00:24:45,319 --> 00:24:47,019 Que representen lo que yo quiero 513 00:24:47,019 --> 00:24:48,519 A veces será fácil, a veces no 514 00:24:48,519 --> 00:24:50,799 Pero lo que significa está claro, ¿no? 515 00:24:51,460 --> 00:24:52,759 Une dos condiciones 516 00:24:52,759 --> 00:24:55,099 Es decir, lo que tiene a los lados 517 00:24:55,099 --> 00:24:57,000 El operador AND este 518 00:24:57,000 --> 00:24:58,799 tienen que ser boolean también 519 00:24:58,799 --> 00:25:00,740 aquí tiene que haber un boolean 520 00:25:00,740 --> 00:25:02,339 o una condición que es lo mismo 521 00:25:02,339 --> 00:25:03,279 condición y boolean 522 00:25:03,279 --> 00:25:06,180 y aquí tiene que haber un boolean o una condición que es lo mismo 523 00:25:06,180 --> 00:25:08,000 pues une dos condiciones 524 00:25:08,000 --> 00:25:09,839 o dos booleanos, como lo queráis llamar 525 00:25:09,839 --> 00:25:12,240 y el resultado final es también 526 00:25:12,240 --> 00:25:15,059 una condición u otro booleano 527 00:25:15,059 --> 00:25:17,480 true si los dos son true 528 00:25:17,480 --> 00:25:18,779 false en cualquier otro caso 529 00:25:18,779 --> 00:25:19,799 vale 530 00:25:19,799 --> 00:25:22,339 bueno y ahora 531 00:25:22,339 --> 00:25:23,980 igual 532 00:25:23,980 --> 00:25:26,839 me volvéis a preguntar 533 00:25:26,839 --> 00:25:28,039 porque ya me preguntasteis 534 00:25:28,039 --> 00:25:29,559 cuando estábamos con la lista de operadores 535 00:25:29,559 --> 00:25:30,420 que no la hemos terminado 536 00:25:30,420 --> 00:25:31,579 lo que pasa es que nos hemos parado 537 00:25:31,579 --> 00:25:32,980 en esa lista 538 00:25:32,980 --> 00:25:37,140 por hacer los ejercicios 539 00:25:37,140 --> 00:25:37,960 y todo eso 540 00:25:37,960 --> 00:25:40,160 vale 541 00:25:40,160 --> 00:25:42,960 cuando hemos visto para las booleanos 542 00:25:42,960 --> 00:25:45,019 decíais, uy, tengo dos formas de ponerle 543 00:25:45,019 --> 00:25:46,039 de ponerlo 544 00:25:46,039 --> 00:25:48,079 solo un and o dos 545 00:25:48,079 --> 00:25:50,980 hay dos formas de ponerlo 546 00:25:50,980 --> 00:25:53,079 venían los apuntes 547 00:25:53,079 --> 00:25:55,119 de hecho voy a poner la otra 548 00:25:56,839 --> 00:25:59,880 Porque si en los apuntes decía que las dos eran en antes, voy a poner la otra. 549 00:26:00,380 --> 00:26:01,099 Compilar, compila. 550 00:26:01,180 --> 00:26:01,700 No le ha cagado. 551 00:26:01,940 --> 00:26:04,339 Pero si hay dos polls, te va a ayudar. 552 00:26:05,039 --> 00:26:05,299 No. 553 00:26:05,779 --> 00:26:07,160 Vamos a probar los cuatro casos. 554 00:26:07,279 --> 00:26:08,220 A ver si en los cuatro casos. 555 00:26:08,359 --> 00:26:09,400 ¿Aproba asignatura 1? 556 00:26:10,400 --> 00:26:10,799 True. 557 00:26:10,920 --> 00:26:12,059 ¿Aproba asignatura 2? 558 00:26:12,200 --> 00:26:12,440 True. 559 00:26:12,859 --> 00:26:13,220 Promociona. 560 00:26:16,710 --> 00:26:17,549 ¿Aprobó esta? 561 00:26:19,029 --> 00:26:19,829 ¿Aprobó esta? 562 00:26:20,230 --> 00:26:20,630 Repite. 563 00:26:26,640 --> 00:26:27,559 ¿Aprobó esta? 564 00:26:28,039 --> 00:26:28,799 ¿Aprobó esta? 565 00:26:29,119 --> 00:26:29,519 Repite. 566 00:26:29,619 --> 00:26:31,240 Nos queda solo un caso por probar. 567 00:26:31,240 --> 00:26:34,299 aprobó esta, aprobó esta 568 00:26:34,299 --> 00:26:34,779 repite 569 00:26:34,779 --> 00:26:37,839 el programa funciona exactamente igual 570 00:26:37,839 --> 00:26:39,519 que si le pongo el doble 571 00:26:39,519 --> 00:26:40,640 no hay ninguna diferencia 572 00:26:40,640 --> 00:26:42,980 entonces ¿para qué hay dos? 573 00:26:44,619 --> 00:26:45,559 vale, efectivamente 574 00:26:45,559 --> 00:26:47,299 en este caso no hay ninguna diferencia 575 00:26:47,299 --> 00:26:49,200 pero podría haberlo en otro caso 576 00:26:49,200 --> 00:26:51,299 a ver, ¿cuál es la diferencia entre que haya uno 577 00:26:51,299 --> 00:26:53,400 y que haya dos? 578 00:26:55,019 --> 00:26:55,500 ¿vale? 579 00:26:56,039 --> 00:26:57,680 a ver si lo entendemos 580 00:26:57,680 --> 00:27:00,140 tampoco es una cosa que es especialmente fácil de entender 581 00:27:00,140 --> 00:27:01,920 vamos a ver 582 00:27:01,920 --> 00:27:04,640 ¿qué hace la máquina virtual? 583 00:27:05,640 --> 00:27:06,359 silencio 584 00:27:06,359 --> 00:27:09,319 ¿qué hace la máquina virtual cuando le toca evaluar 585 00:27:09,319 --> 00:27:11,680 una condición con doble AND? 586 00:27:12,519 --> 00:27:13,319 con doble AND 587 00:27:13,319 --> 00:27:14,359 ¿vale? 588 00:27:15,799 --> 00:27:16,480 primero 589 00:27:16,480 --> 00:27:19,000 evalúa esto 590 00:27:19,000 --> 00:27:20,740 y se lo guarda 591 00:27:20,740 --> 00:27:22,180 en algún sitio 592 00:27:22,180 --> 00:27:25,359 luego, evalúa esto 593 00:27:25,359 --> 00:27:27,099 y se lo guarda en algún sitio 594 00:27:27,099 --> 00:27:29,740 luego hace 595 00:27:29,740 --> 00:27:32,299 la operación lógica, el i 596 00:27:32,299 --> 00:27:34,039 los dos son true, true 597 00:27:34,039 --> 00:27:36,200 uno de los dos no, false 598 00:27:36,200 --> 00:27:38,339 eso es lo que creéis que hace 599 00:27:38,339 --> 00:27:40,140 ¿verdad? pues no hace eso 600 00:27:40,140 --> 00:27:42,740 ¿vale? no hace exactamente eso 601 00:27:42,740 --> 00:27:44,420 estoy hablando del 602 00:27:44,420 --> 00:27:45,740 caso de que tenga el doble and 603 00:27:45,740 --> 00:27:48,519 o sea, lo que yo he dicho, lo que acabo 604 00:27:48,519 --> 00:27:50,460 de decir, que es lo que vosotros creíais que hacía 605 00:27:50,460 --> 00:27:52,380 eso es exactamente 606 00:27:52,380 --> 00:27:54,339 lo que hace cuando hay un simple and 607 00:27:54,339 --> 00:27:56,339 cuando hay un simple and 608 00:27:56,339 --> 00:27:58,480 no hay duda, es lo que vosotros habéis creído siempre 609 00:27:58,480 --> 00:28:00,440 ¿qué hace? Coge la primera 610 00:28:00,440 --> 00:28:02,400 condición y la evalúa. En este 611 00:28:02,400 --> 00:28:04,339 caso, es ya directamente coger 612 00:28:04,339 --> 00:28:06,400 el true que tenía. Coge 613 00:28:06,400 --> 00:28:08,279 la segunda condición y la evalúa. 614 00:28:08,980 --> 00:28:10,559 Y ahora ya, mira a ver, 615 00:28:10,720 --> 00:28:11,579 ¿las dos son true, true? 616 00:28:12,799 --> 00:28:14,460 ¿Alguna es false? ¿O las dos 617 00:28:14,460 --> 00:28:16,339 false? Eso es 618 00:28:16,339 --> 00:28:18,359 exactamente lo que hace cuando hay un simple A. 619 00:28:19,140 --> 00:28:20,119 Entonces la pregunta sería, 620 00:28:20,359 --> 00:28:21,619 ¿y por qué existe un doble A? 621 00:28:22,480 --> 00:28:23,900 Pues existe un doble A para 622 00:28:23,900 --> 00:28:26,779 ahorrarnos tiempo. Porque precisamente 623 00:28:26,779 --> 00:28:29,400 el operador AND 624 00:28:29,400 --> 00:28:31,859 si después de evaluar la primera 625 00:28:31,859 --> 00:28:32,799 le ha dado false 626 00:28:32,799 --> 00:28:34,339 la segunda 627 00:28:34,339 --> 00:28:37,779 se la trae al fresco completamente 628 00:28:37,779 --> 00:28:38,579 ¿qué más le da? 629 00:28:38,900 --> 00:28:40,339 que la segunda sea true o false 630 00:28:40,339 --> 00:28:42,740 ya sabe que el resultado va a ser false 631 00:28:42,740 --> 00:28:44,500 ya lo sabe, da igual lo que sea 632 00:28:44,500 --> 00:28:45,960 ¿vale? 633 00:28:47,019 --> 00:28:49,059 entonces cuando ponemos el doble AND 634 00:28:49,059 --> 00:28:51,740 cuando ponemos el doble AND 635 00:28:51,740 --> 00:28:53,039 la máquina virtual 636 00:28:53,039 --> 00:28:53,359 ¿qué da? 637 00:28:54,599 --> 00:28:55,599 evalúa la primera 638 00:28:55,599 --> 00:28:57,480 y mira lo que es. 639 00:28:58,200 --> 00:28:58,740 ¿Es true? 640 00:28:59,599 --> 00:29:01,460 Pues entonces tiene que ir a evaluar la segunda. 641 00:29:01,960 --> 00:29:03,900 Porque depende de la segunda el resultado. 642 00:29:04,259 --> 00:29:05,119 Depende de la segunda. 643 00:29:06,180 --> 00:29:08,079 Pero si después de evaluar la primera 644 00:29:08,079 --> 00:29:09,920 ha visto que es falsa, 645 00:29:10,400 --> 00:29:11,960 no hace nada más para que ya 646 00:29:11,960 --> 00:29:12,980 tenga el resultado final. 647 00:29:13,480 --> 00:29:14,599 Que es falsa. Ya lo tiene. 648 00:29:15,519 --> 00:29:16,079 ¿Vale? 649 00:29:18,640 --> 00:29:19,200 Conclusión. 650 00:29:19,880 --> 00:29:20,599 ¿Qué pregunta 651 00:29:20,599 --> 00:29:22,480 me haríais ahora? 652 00:29:23,619 --> 00:29:24,720 ¿Cuál es el comentario 653 00:29:24,720 --> 00:29:25,579 natural a esto 654 00:29:25,579 --> 00:29:27,339 pues que esto sirve para 655 00:29:27,339 --> 00:29:29,299 si cambias una condición por el camino 656 00:29:29,299 --> 00:29:32,460 efectivamente 657 00:29:32,460 --> 00:29:33,859 ahora lo que me diríais es 658 00:29:33,859 --> 00:29:36,420 y entonces para que existe la versión 659 00:29:36,420 --> 00:29:37,000 con uno 660 00:29:37,000 --> 00:29:40,380 para que existe, hagamos siempre la versión 661 00:29:40,380 --> 00:29:42,440 con dos, porque te ahorra tiempo 662 00:29:42,440 --> 00:29:44,599 porque si siendo esta falsa 663 00:29:44,599 --> 00:29:46,440 y ya sabes que es falsa, que más te da 664 00:29:46,440 --> 00:29:48,059 esta, que más te da 665 00:29:48,059 --> 00:29:50,779 claro, es que a veces 666 00:29:50,779 --> 00:29:52,160 como ya hemos dicho 667 00:29:52,160 --> 00:29:54,559 en el pasado, y lo tendréis seguramente grabado 668 00:29:54,559 --> 00:29:56,380 todo en la memoria, porque recordad que lo vais 669 00:29:56,380 --> 00:29:58,420 memorizando todo, porque si no lo vais 670 00:29:58,420 --> 00:30:00,599 memorizando todo, estamos hundidos 671 00:30:00,599 --> 00:30:02,920 esta es la que valora las dos opciones 672 00:30:02,920 --> 00:30:04,680 esta es la que valora las dos 673 00:30:04,680 --> 00:30:05,559 la de un único AN 674 00:30:05,559 --> 00:30:08,440 la de un único AN 675 00:30:08,440 --> 00:30:10,759 que ya tengo arreglada la mnemotécnica 676 00:30:10,759 --> 00:30:12,559 si solo hay uno, evalúo las dos 677 00:30:12,559 --> 00:30:14,359 si solo hay dos, evalúo uno 678 00:30:14,359 --> 00:30:16,720 y la segunda solo si lo necesito 679 00:30:16,720 --> 00:30:19,039 a veces lo necesitaré y a veces no 680 00:30:19,039 --> 00:30:20,460 solo si lo necesito 681 00:30:20,460 --> 00:30:22,660 bueno, pues la pregunta que me diréis es 682 00:30:22,660 --> 00:30:24,000 ¿y por qué existe 683 00:30:24,000 --> 00:30:25,180 el simple 684 00:30:25,180 --> 00:30:28,240 porque quiero yo evaluar la segunda 685 00:30:28,240 --> 00:30:29,640 aunque no lo necesite 686 00:30:29,640 --> 00:30:32,099 bueno, pues porque existe la variante 687 00:30:32,099 --> 00:30:33,660 del simple, porque 688 00:30:33,660 --> 00:30:35,680 como hemos dicho en su momento 689 00:30:35,680 --> 00:30:38,440 cuando hacemos una condición 690 00:30:38,440 --> 00:30:40,299 ponemos una expresión de condición 691 00:30:40,299 --> 00:30:42,579 a la vez que usamos una variable 692 00:30:42,579 --> 00:30:44,099 para 693 00:30:44,099 --> 00:30:46,400 que tome valor en esa expresión 694 00:30:46,400 --> 00:30:48,220 en esa condición, podemos a la vez 695 00:30:48,220 --> 00:30:49,660 asignarle un valor si nos da la gana 696 00:30:49,660 --> 00:30:52,259 lo vimos con los operadores, por ejemplo 697 00:30:52,259 --> 00:30:54,480 Metíamos el operador más más 698 00:30:54,480 --> 00:30:56,240 Que nos deja de ser una asignación 699 00:30:56,240 --> 00:30:58,039 Entonces usábamos una variable x 700 00:30:58,039 --> 00:30:58,500 ¿Verdad? 701 00:31:05,519 --> 00:31:06,420 Por ejemplo 702 00:31:06,420 --> 00:31:07,240 Hemos hecho a veces 703 00:31:07,240 --> 00:31:09,440 Una expresión como esta 704 00:31:09,440 --> 00:31:10,960 x más más 3 705 00:31:10,960 --> 00:31:13,319 x más más más, tres máses 706 00:31:13,319 --> 00:31:16,779 Igual a x más más más 3 707 00:31:16,779 --> 00:31:18,460 Vale, bueno, pero lo voy a poner en la 708 00:31:18,460 --> 00:31:20,079 En el 709 00:31:20,079 --> 00:31:21,660 Paint para que se grabe 710 00:31:21,660 --> 00:31:25,289 En esta cosa 711 00:31:25,289 --> 00:31:31,099 Vale, vendría muy bien una pizarra digital, ¿verdad? 712 00:31:31,099 --> 00:31:32,059 Para escribir en ella 713 00:31:32,059 --> 00:31:37,059 Pues tenía una 714 00:31:37,059 --> 00:31:38,680 Para las clases del 715 00:31:38,680 --> 00:31:40,839 Confinamiento, cuando estábamos en casa 716 00:31:40,839 --> 00:31:42,759 ¿La podría traer? 717 00:31:43,859 --> 00:31:44,180 Vale 718 00:31:44,180 --> 00:31:46,319 Joder, yo quería 719 00:31:46,319 --> 00:31:53,920 Vale, ya hemos hecho esto, ¿verdad? 720 00:32:07,380 --> 00:32:08,700 ¿Vale? Ya hemos hecho estas 721 00:32:08,700 --> 00:32:10,599 Por ejemplo, hemos hecho expresiones como esta 722 00:32:10,599 --> 00:32:12,220 Las hemos hecho a veces, ¿vale? 723 00:32:13,039 --> 00:32:14,579 Esta expresión ya nos acordamos todos 724 00:32:14,579 --> 00:32:15,400 De qué significaba 725 00:32:15,400 --> 00:32:19,859 porque repito por la vez número 315 726 00:32:19,859 --> 00:32:22,619 todo lo tenéis que estudiar 727 00:32:22,619 --> 00:32:24,680 y volver a hacer en casa, mirarlo 728 00:32:24,680 --> 00:32:26,319 si no os habéis enterado a mirar la grabación 729 00:32:26,319 --> 00:32:30,099 todo lo tenéis que estudiar y todo lo tenéis que dejar grabado a la memoria 730 00:32:30,099 --> 00:32:33,500 no venís de un día para otro sin tener todo lo anterior 731 00:32:33,500 --> 00:32:35,519 perfectamente grabado y memorizado 732 00:32:35,519 --> 00:32:39,480 y ojalá entendido, si no es entendido pues me lo preguntáis 733 00:32:39,480 --> 00:32:42,920 porque si no estamos condenados 734 00:32:42,920 --> 00:33:12,500 Bueno, pues entonces, como no es ese vuestro caso y si lo tenéis todo refrescado, recordáis que hemos evaluado expresiones como esta. ¿Qué significaba esto? Pues que la x, ¿vale? A la vez que formaba parte de una expresión del tipo x más 3, porque y era igual a x más 3, además se le estaba asignando un valor. Esto era como hacer x más 3 y luego después a x hacerle x más 1, ¿vale? 735 00:33:13,900 --> 00:33:15,920 Entonces, ¿qué quiero decir con esto? 736 00:33:16,259 --> 00:33:19,220 Que a la vez que una variable forma parte de una expresión, 737 00:33:19,759 --> 00:33:21,440 a la vez se le puede asignar un valor. 738 00:33:22,299 --> 00:33:23,220 Y no pasa nada. 739 00:33:23,480 --> 00:33:25,519 Es como mezclar asignación con expresión. 740 00:33:26,359 --> 00:33:27,240 Luego, por ejemplo, 741 00:33:28,220 --> 00:33:29,720 imaginaos que yo hubiera decidido 742 00:33:29,720 --> 00:33:32,299 simplificar este programa 743 00:33:32,299 --> 00:33:33,779 y decir, 744 00:33:34,599 --> 00:33:37,000 oye, voy a dejarme de estos mensajitos, 745 00:33:37,079 --> 00:33:37,779 que es un rollo, 746 00:33:38,279 --> 00:33:40,059 por ejemplo, vamos a comentar todo esto, 747 00:33:43,000 --> 00:33:43,980 lo dejo ahí comentado, 748 00:33:43,980 --> 00:33:46,859 y voy a decir, vale, asig1 749 00:33:46,859 --> 00:33:48,480 que no la tengo todavía leída ni nada 750 00:33:48,480 --> 00:33:51,140 a la vez que la tengo en la expresión 751 00:33:51,140 --> 00:33:53,019 ya de paso voy a asignarle un valor 752 00:33:53,019 --> 00:33:53,920 ya de paso 753 00:33:53,920 --> 00:33:59,279 next boolean 754 00:33:59,279 --> 00:34:09,070 y asig2 lo mismo 755 00:34:09,070 --> 00:34:13,150 a la vez que la tengo en la expresión le asigno un valor 756 00:34:13,150 --> 00:34:23,440 si aquí le pones un más más 757 00:34:23,440 --> 00:34:26,019 espera, espera 758 00:34:26,019 --> 00:34:26,960 y asig1 759 00:34:26,960 --> 00:34:29,380 y asig2 760 00:34:29,380 --> 00:34:31,119 igual a aquí 761 00:34:31,119 --> 00:34:35,099 boolean 762 00:34:35,099 --> 00:34:38,210 Ahora, vale 763 00:34:38,210 --> 00:34:40,769 Si no pongo aquí paréntesis, el and lo interpreta 764 00:34:40,769 --> 00:34:41,690 Que va pegado a esto 765 00:34:41,690 --> 00:34:43,750 Entonces él igual dice eso que es 766 00:34:43,750 --> 00:34:45,849 Vale, entonces, ¿qué he hecho aquí? 767 00:34:46,269 --> 00:34:47,949 Aunque quede un poco raro, ¿vale? 768 00:34:47,989 --> 00:34:50,289 Ahora no quiero que nos perdamos demasiado en 769 00:34:50,289 --> 00:34:52,570 En compactar 770 00:34:52,570 --> 00:34:54,530 Las expresiones de esta manera, pero sí es importante 771 00:34:54,530 --> 00:34:56,210 Que lo entendamos de cara a entender 772 00:34:56,210 --> 00:34:58,630 Por qué hay dos operadores distintos, por qué hay dos versiones 773 00:34:58,630 --> 00:35:00,570 Vale, hemos cambiado aquí el código 774 00:35:00,570 --> 00:35:01,909 Y hemos dicho 775 00:35:01,909 --> 00:35:04,110 El and sigue siendo el and 776 00:35:04,110 --> 00:35:05,429 De asig1 777 00:35:05,429 --> 00:35:07,969 Y de asig2, eso no ha cambiado 778 00:35:07,969 --> 00:35:09,590 El and sigue siendo el and de los dos 779 00:35:09,590 --> 00:35:11,250 Pero he aprovechado 780 00:35:11,250 --> 00:35:13,730 A la vez que uso 781 00:35:13,730 --> 00:35:15,969 Esta variable, ya le doy un valor 782 00:35:15,969 --> 00:35:16,969 Y puedo hacerlo 783 00:35:16,969 --> 00:35:19,090 ¿Vale? Por ejemplo 784 00:35:19,090 --> 00:35:21,429 Para que no... 785 00:35:21,429 --> 00:35:22,510 Esto yo lo puedo hacer 786 00:35:22,510 --> 00:35:25,570 Int n igual a 9 787 00:35:25,570 --> 00:35:27,050 Y ahora hago aquí, por ejemplo 788 00:35:27,050 --> 00:35:29,650 Paramos ahora 789 00:35:29,650 --> 00:35:31,530 Int m igual a... 790 00:35:31,530 --> 00:35:33,570 Bueno, de hecho, esto lo puedo quitar 791 00:35:33,570 --> 00:35:43,940 vale, esta expresión 792 00:35:43,940 --> 00:35:45,599 os puede sonar rara 793 00:35:45,599 --> 00:35:47,840 pero no es rara 794 00:35:47,840 --> 00:35:50,000 es decir, m es 795 00:35:50,000 --> 00:35:51,320 n más 2 796 00:35:51,320 --> 00:35:53,019 pero cualquier variable 797 00:35:53,019 --> 00:35:55,659 a la vez que forma parte de una expresión 798 00:35:55,659 --> 00:35:58,019 puedo yo en ese momento darle un valor si me da la gana 799 00:35:58,019 --> 00:36:01,880 igual que antes he podido sumarle 1 800 00:36:01,880 --> 00:36:03,639 etcétera, entonces esta expresión es válida 801 00:36:03,639 --> 00:36:05,900 yo podría hacer esto 802 00:36:05,900 --> 00:36:12,619 y estaría haciendo lo mismo 803 00:36:12,619 --> 00:36:14,539 a n le asigno 7 y luego hago 804 00:36:14,539 --> 00:36:16,260 n más 2, o puedo 805 00:36:16,260 --> 00:36:17,760 compactarlo todo en la misma 806 00:36:17,760 --> 00:36:19,920 y puedo decir 807 00:36:19,920 --> 00:36:22,500 m igual a n más 2, pero ojo 808 00:36:22,500 --> 00:36:23,539 a n 809 00:36:23,539 --> 00:36:26,099 asignale el 7 810 00:36:26,099 --> 00:36:28,360 estoy haciendo lo mismo 811 00:36:28,360 --> 00:36:30,039 con lo de antes que con esto, lo mismo 812 00:36:30,039 --> 00:36:32,980 estoy compactando una expresión 813 00:36:32,980 --> 00:36:34,599 y en una variable, lo podría 814 00:36:34,599 --> 00:36:35,940 hacer con muchas, si hay más variables 815 00:36:35,940 --> 00:36:38,460 una variable a la vez que la uso para que 816 00:36:38,460 --> 00:36:40,840 forma parte de la expresión sumándose a la vez que la uso 817 00:36:40,840 --> 00:36:41,539 le asigno un 2 818 00:36:41,539 --> 00:36:43,800 ¿vale? eso lo puedo hacer siempre 819 00:36:43,800 --> 00:36:46,440 si veo que me queda el código más claro. 820 00:36:46,579 --> 00:36:50,559 Bueno, pues entonces, ¿qué ocurre aquí? 821 00:36:51,599 --> 00:36:53,480 Vamos a... 822 00:36:53,480 --> 00:37:02,969 A ver, pues aquí estamos haciendo eso. 823 00:37:07,199 --> 00:37:07,639 ¡Jolín! 824 00:37:11,059 --> 00:37:12,000 ¡Ay, como bicho! 825 00:37:12,440 --> 00:37:14,360 Vale, pues aquí estamos haciendo eso. 826 00:37:15,000 --> 00:37:18,579 Estamos usando... 827 00:37:18,579 --> 00:37:21,260 ¡Ay, se me va a meter en la boca! 828 00:37:21,340 --> 00:37:21,840 ¿Qué te apuestas? 829 00:37:23,679 --> 00:37:25,739 Estamos usando ASIC1 830 00:37:25,739 --> 00:37:27,840 como expresión booleana 831 00:37:27,840 --> 00:37:30,159 pero a la vez que la usamos le asignamos un valor 832 00:37:30,159 --> 00:37:32,199 magnífico, ese valor se va a quedar 833 00:37:32,199 --> 00:37:33,639 esperando por teclado, no pasa nada 834 00:37:33,639 --> 00:37:35,860 y ahora estamos usando asig2 835 00:37:35,860 --> 00:37:38,340 pero a la vez que la usamos para tomar 836 00:37:38,340 --> 00:37:40,159 su valor booleano para llevárselo a lan 837 00:37:40,159 --> 00:37:41,500 para llevárselo a lan 838 00:37:41,500 --> 00:37:44,239 a la vez la estamos leyendo por teclado 839 00:37:44,239 --> 00:37:45,699 no pasa nada, le meto su valor por teclado 840 00:37:45,699 --> 00:37:47,480 bueno, pues cuál es la diferencia 841 00:37:47,480 --> 00:37:48,980 la diferencia es que 842 00:37:48,980 --> 00:37:51,519 si nosotros ponemos un doble and 843 00:37:51,519 --> 00:37:55,280 y yo 844 00:37:55,280 --> 00:37:57,559 el primer valor que meto es falso 845 00:37:57,559 --> 00:37:59,719 Ya no se me va esta 846 00:37:59,719 --> 00:38:02,159 Con lo cual no tengo opción 847 00:38:02,159 --> 00:38:03,619 De meter el otro valor, no tengo 848 00:38:03,619 --> 00:38:05,760 Puede ser importante o no, depende 849 00:38:05,760 --> 00:38:07,460 Si yo ahora quiero mostrar las notas 850 00:38:07,460 --> 00:38:08,840 Hoy quiero mostrar las dos 851 00:38:08,840 --> 00:38:10,280 Quiero mostrar 852 00:38:10,280 --> 00:38:12,920 Asic1 853 00:38:12,920 --> 00:38:15,699 Y quiero mostrar asic2 854 00:38:15,699 --> 00:38:18,340 Asic2 no le ha llegado valor 855 00:38:18,340 --> 00:38:19,659 ¿Vale? 856 00:38:20,420 --> 00:38:21,800 Y de hecho el propio compilador 857 00:38:21,800 --> 00:38:23,199 Me lo está diciendo, me está diciendo 858 00:38:23,199 --> 00:38:26,659 Ojo, que asic2 no está inicializada 859 00:38:26,659 --> 00:38:29,539 ¿por qué? porque esto es un doble and 860 00:38:29,539 --> 00:38:30,920 luego 861 00:38:30,920 --> 00:38:33,119 si este hubiera dado 862 00:38:33,119 --> 00:38:34,699 false, es que aquí ni entra 863 00:38:34,699 --> 00:38:37,239 no he tenido yo opción de darle al less boolean, ni entra 864 00:38:37,239 --> 00:38:39,280 pero si yo pongo un operador 865 00:38:39,280 --> 00:38:41,219 solamente, automáticamente ya ese 866 00:38:41,219 --> 00:38:43,320 rojo se quita, porque el compilador 867 00:38:43,320 --> 00:38:45,260 ya sabe que al margen de que esto 868 00:38:45,260 --> 00:38:47,159 ya ha sido true o false, a la segunda 869 00:38:47,159 --> 00:38:49,380 parte entra, y va a leer el valor 870 00:38:49,380 --> 00:38:51,019 ¿vale? 871 00:38:51,519 --> 00:38:53,519 entonces, claro que tiene trascendencia 872 00:38:53,519 --> 00:38:55,280 poner uno o dos, pero 873 00:38:55,280 --> 00:38:57,219 la tiene, solo si 874 00:38:57,219 --> 00:38:58,440 en esta segunda parte 875 00:38:58,440 --> 00:39:01,260 estamos haciendo alguna asignación 876 00:39:01,260 --> 00:39:02,500 o estamos ejecutando algo. 877 00:39:04,079 --> 00:39:05,000 ¿Vale? Por ejemplo, 878 00:39:05,320 --> 00:39:07,039 voy a comentar esto para poder ejecutarlo. 879 00:39:09,190 --> 00:39:10,949 Yo ejecuto el programa así. 880 00:39:14,340 --> 00:39:14,880 ¿Qué le pasa? 881 00:39:16,380 --> 00:39:17,440 ¿Vale? Se me ha quedado esperando 882 00:39:17,440 --> 00:39:19,199 el primero. Le doy true 883 00:39:19,199 --> 00:39:21,019 y se me queda esperando el segundo. 884 00:39:21,360 --> 00:39:22,780 Vale, al segundo le doy false. 885 00:39:23,739 --> 00:39:24,880 Repite. Vale. 886 00:39:25,599 --> 00:39:27,360 Pero ahora voy a darle ya de 887 00:39:27,360 --> 00:39:28,159 partida al false. 888 00:39:29,440 --> 00:39:30,380 No espera al segundo. 889 00:39:31,000 --> 00:39:31,380 No espera. 890 00:39:31,900 --> 00:39:32,840 Directamente ya sale. 891 00:39:33,420 --> 00:39:34,960 No se queda esperando el siguiente valor. 892 00:39:35,820 --> 00:39:36,039 ¿Veis? 893 00:39:36,059 --> 00:39:36,880 No se ha quedado esperando. 894 00:39:39,369 --> 00:39:41,190 No se ha quedado esperando el siguiente valor. 895 00:39:41,309 --> 00:39:44,570 Porque no ha entrado aquí porque tiene el segundo operador. 896 00:39:45,130 --> 00:39:53,099 Sin embargo, si yo pongo solo un operador, solo pongo uno, y ya con esto paro. 897 00:39:53,739 --> 00:39:57,280 Aunque yo ponga aquí false, se queda esperando el segundo igualmente. 898 00:39:57,559 --> 00:39:58,519 Se queda esperando el segundo. 899 00:40:03,599 --> 00:40:04,039 ¿Vale? 900 00:40:04,039 --> 00:40:06,539 pues esta es la diferencia 901 00:40:06,539 --> 00:40:08,000 entre las dos versiones 902 00:40:08,000 --> 00:40:10,760 que tiene implicación o no la tiene 903 00:40:10,760 --> 00:40:12,500 según lo que yo haga en la segunda parte 904 00:40:12,500 --> 00:40:14,340 si en la segunda parte además de 905 00:40:14,340 --> 00:40:16,579 evaluar la condición estoy haciendo 906 00:40:16,579 --> 00:40:17,940 modificaciones de variables 907 00:40:17,940 --> 00:40:20,820 esas modificaciones no se van a hacer 908 00:40:20,820 --> 00:40:22,579 y con el simple and 909 00:40:22,579 --> 00:40:24,079 si se van a hacer, siempre 910 00:40:24,079 --> 00:40:26,579 ¿vale? venga pues ahora 911 00:40:26,579 --> 00:40:27,579 sí que paramos aquí