1 00:00:01,710 --> 00:00:18,250 ¿Vale? Como conocemos la variable string que sirve para guardar cadenas de texto, pues vamos a guardar el resultado en una variable string, porque el resultado es si se cumple o no se cumple, una cadena en cualquier caso, pues vamos a guardar el resultado aquí. 2 00:00:18,250 --> 00:00:21,649 ¿vale? hasta ahora no lo podíamos 3 00:00:21,649 --> 00:00:23,809 hacer, lo metíamos directamente en el system out 4 00:00:23,809 --> 00:00:25,550 porque no conocíamos la variable string 5 00:00:25,550 --> 00:00:27,949 pero esa opción es más complicada 6 00:00:27,949 --> 00:00:29,649 y no es más complicada, sino que es peor 7 00:00:29,649 --> 00:00:32,009 por un concepto 8 00:00:32,009 --> 00:00:33,670 que empezamos a introducir, pero que 9 00:00:33,670 --> 00:00:35,549 tenéis que ir incorporando 10 00:00:35,549 --> 00:00:37,670 como otro término técnico más en el mundo 11 00:00:37,670 --> 00:00:38,649 del desarrollo, dime 12 00:00:38,649 --> 00:00:41,570 ¿si usamos la del system también es válida? 13 00:00:44,270 --> 00:00:44,950 a ver 14 00:00:44,950 --> 00:00:47,009 si haces lo que tiene que hacer 15 00:00:47,009 --> 00:00:48,929 el programa y no hemos puesto 16 00:00:48,929 --> 00:00:50,950 ninguna restricción específica 17 00:00:50,950 --> 00:00:53,189 pero ahora no pienses en esos términos 18 00:00:53,189 --> 00:00:55,429 no pienses en términos de yo lo voy a hacer así pero aprendí a hacerlo así 19 00:00:55,429 --> 00:00:57,490 no, piénsalo en términos de tengo que incorporar 20 00:00:57,490 --> 00:00:59,429 a mi programación todo lo que voy aprendiendo 21 00:00:59,429 --> 00:01:01,390 vale, pues entonces si conocemos 22 00:01:01,390 --> 00:01:03,229 la variable string vamos a usarla que para eso 23 00:01:03,229 --> 00:01:04,650 la conocemos, entonces 24 00:01:04,650 --> 00:01:07,250 este tipo de dato tenéis 25 00:01:07,250 --> 00:01:09,170 que verlo simplemente como un tipo de dato 26 00:01:09,170 --> 00:01:11,069 para guardar cadenas de texto, nada más 27 00:01:11,069 --> 00:01:13,209 no tiene mayor complicación, entonces 28 00:01:13,209 --> 00:01:15,090 como mi resultado en este caso es 29 00:01:15,090 --> 00:01:16,530 o la cadena 30 00:01:16,530 --> 00:01:18,930 si al menos dos son mayores de 21 31 00:01:18,930 --> 00:01:21,030 o no, no son al menos 32 00:01:21,030 --> 00:01:21,790 dos mayores de 21 33 00:01:21,790 --> 00:01:23,950 como mi resultado es un texto 34 00:01:23,950 --> 00:01:26,750 vamos a guardar el resultado aquí, como cuando hacíamos 35 00:01:26,750 --> 00:01:28,969 un programa cuyo resultado era la suma de dos 36 00:01:28,969 --> 00:01:30,989 números, pues decíamos, el resultado es un número 37 00:01:30,989 --> 00:01:32,950 pues me declaro una variable int 38 00:01:32,950 --> 00:01:34,849 para el resultado y luego ya 39 00:01:34,849 --> 00:01:36,430 guardo en esa variable lo que sea 40 00:01:36,430 --> 00:01:38,810 vale, pues entonces 41 00:01:38,810 --> 00:01:40,290 ahora 42 00:01:40,290 --> 00:01:42,609 estaba diciendo 43 00:01:42,609 --> 00:01:44,030 ¿por qué es 44 00:01:44,030 --> 00:01:46,969 ¿por qué es mucho mejor guardar 45 00:01:46,969 --> 00:01:48,790 el resultado así en lugar de mostrarlo 46 00:01:48,790 --> 00:01:50,750 directamente. En este programa tan 47 00:01:50,750 --> 00:01:52,530 pequeñito y conociendo tan poco, quizá no 48 00:01:52,530 --> 00:01:54,269 es un buen ejemplo, pero 49 00:01:54,269 --> 00:01:57,189 pues por términos de desarrollar 50 00:01:57,189 --> 00:01:59,129 siguiendo el principio 51 00:01:59,129 --> 00:02:00,290 básico de 52 00:02:00,290 --> 00:02:02,689 separación de códigos, 53 00:02:03,170 --> 00:02:04,090 desacoplamiento. 54 00:02:05,069 --> 00:02:06,109 Me explico, me explico. 55 00:02:06,730 --> 00:02:08,750 Nuestros programas ahora son programas 56 00:02:08,750 --> 00:02:10,770 muy cortitos, son cinco líneas, seis 57 00:02:10,770 --> 00:02:12,710 líneas y están todos metidos en una única 58 00:02:12,710 --> 00:02:13,870 clase, en un main. 59 00:02:14,610 --> 00:02:16,789 Entonces ahí poco hay que separar 60 00:02:16,789 --> 00:02:17,930 Porque es que son seis líneas. 61 00:02:18,009 --> 00:02:19,729 Pues las meto todas ahí juntas y ya está. 62 00:02:20,189 --> 00:02:20,389 Vale. 63 00:02:20,849 --> 00:02:23,870 Pero en aplicaciones grandes, que hay muchísimo código, 64 00:02:24,229 --> 00:02:26,250 ahí yo tendría que separarlo por partes, 65 00:02:26,370 --> 00:02:27,849 que cada una se ocupara de su cosa. 66 00:02:28,430 --> 00:02:31,849 Porque así, si me falla una parte, pues yo me voy a esa 67 00:02:31,849 --> 00:02:35,449 y arreglo esa parte y las otras no tengo que mirármelas enteras. 68 00:02:35,990 --> 00:02:36,110 ¿No? 69 00:02:36,110 --> 00:02:38,270 Si me falla algo relacionado con esta parte, 70 00:02:39,050 --> 00:02:40,629 me voy a esta parte y lo arreglo. 71 00:02:40,710 --> 00:02:41,969 Las otras no tengo que mirarlas. 72 00:02:41,969 --> 00:02:45,469 Entonces, separar el código en partes es un principio básico. 73 00:02:45,469 --> 00:02:47,849 vale, pues en concreto, por ejemplo 74 00:02:47,849 --> 00:02:49,830 toda la parte del código 75 00:02:49,830 --> 00:02:51,849 que se ocupa de lo que 76 00:02:51,849 --> 00:02:53,729 llamamos la vista, o lo que es lo mismo 77 00:02:53,729 --> 00:02:56,030 lo que ve el usuario, el que está usando la aplicación 78 00:02:56,030 --> 00:02:57,969 pues eso se meterá aparte 79 00:02:57,969 --> 00:02:59,389 se meterá aparte y se dirá 80 00:02:59,389 --> 00:03:01,889 esta parte es la que se ocupa de mostrar por pantalla 81 00:03:01,889 --> 00:03:03,669 o mostrar una interfaz 82 00:03:03,669 --> 00:03:04,889 lo que sea, es la que se ocupa 83 00:03:04,889 --> 00:03:07,949 pues entonces, esta parte nuestra 84 00:03:07,949 --> 00:03:09,830 sería la parte que hace la lógica 85 00:03:09,830 --> 00:03:11,830 y el resultado lo mete aquí 86 00:03:11,830 --> 00:03:13,909 y el resultado se lo da a la otra 87 00:03:13,909 --> 00:03:16,009 parte y la otra parte ya que decida 88 00:03:16,009 --> 00:03:17,990 si esta 89 00:03:17,990 --> 00:03:19,969 cadena la queremos usar en consola 90 00:03:19,969 --> 00:03:21,990 o de repente dentro de cuatro días 91 00:03:21,990 --> 00:03:23,830 la queremos usar en una interfaz, pero esa parte 92 00:03:23,830 --> 00:03:26,229 lo cambia y coge ese stream y una interfaz 93 00:03:26,229 --> 00:03:28,169 y a esta parte le da lo mismo 94 00:03:28,169 --> 00:03:29,729 esta parte lo que hace es 95 00:03:29,729 --> 00:03:31,849 guardo mi resultado en un stream 96 00:03:31,849 --> 00:03:33,370 y se la paso 97 00:03:33,370 --> 00:03:35,930 a la parte del código que se ocupa de trabajar 98 00:03:35,930 --> 00:03:37,090 con ella para mostrarla 99 00:03:37,090 --> 00:03:39,349 y esa parte que haga lo que le dé la gana 100 00:03:39,349 --> 00:03:41,469 si hay cambios en esa parte 101 00:03:41,469 --> 00:03:43,889 a esta le da igual, porque está unido 102 00:03:43,889 --> 00:03:45,810 que haces meterlo aquí, esta no cambia 103 00:03:45,810 --> 00:03:47,729 será la otra la que cambie 104 00:03:47,729 --> 00:03:49,870 entonces nosotros hasta ahora 105 00:03:49,870 --> 00:03:51,870 que metíamos en el system out ya directamente 106 00:03:51,870 --> 00:03:54,289 el mensaje, si me cambiaban 107 00:03:54,289 --> 00:03:55,509 el método de mostrar 108 00:03:55,509 --> 00:03:58,229 la información, yo me tenía 109 00:03:58,229 --> 00:03:59,710 que ir dentro del system out 110 00:03:59,710 --> 00:04:01,969 a cambiar ahí la condición, a cambiarlo 111 00:04:01,969 --> 00:04:03,789 todo, porque tenía todo el código mezclado 112 00:04:03,789 --> 00:04:05,810 tenía mezclada la parte de mostrar 113 00:04:05,810 --> 00:04:07,909 por pantalla con la parte de la lógica 114 00:04:07,909 --> 00:04:09,629 de operar, lo tenía mezclado 115 00:04:09,629 --> 00:04:11,930 entonces cualquier cambio implica retocarlo 116 00:04:11,930 --> 00:04:13,110 todo, ¿vale? 117 00:04:13,110 --> 00:04:31,329 Bueno, pues entonces iros quedando con la idea de códigos desacoplados, que significa, voy a separar en partes, y si tengo que cambiar algo, actualizar algo de mi software, actualizarlo, me voy a esa parte y lo demás ni lo miro, porque están separados, cada uno hace su parte y entrega el resultado. 118 00:04:31,329 --> 00:04:34,230 pues este hace su parte y entrega el resultado 119 00:04:34,230 --> 00:04:36,069 el resultado 120 00:04:36,069 --> 00:04:37,810 lo que pasa es que nosotros ahora lo estamos 121 00:04:37,810 --> 00:04:39,810 cogiendo, aquí dentro también 122 00:04:39,810 --> 00:04:41,910 lo estamos cogiendo y luego lo mandaremos a un system out 123 00:04:41,910 --> 00:04:44,149 vale, nosotros ya nuestro resultado 124 00:04:44,149 --> 00:04:45,870 cogeremos y lo mandaremos 125 00:04:45,870 --> 00:04:47,649 aquí, vale 126 00:04:47,649 --> 00:04:50,069 pero lo podríamos haber mandado a otro código 127 00:04:50,069 --> 00:04:51,829 vale, bueno 128 00:04:51,829 --> 00:04:53,449 pues entonces, estamos en esto 129 00:04:53,449 --> 00:04:55,990 ahora, siguiente 130 00:04:55,990 --> 00:04:57,129 ¿qué pensamos? vale 131 00:04:57,129 --> 00:05:00,069 el resultado que yo luego mandaré al system out 132 00:05:00,069 --> 00:05:01,769 ¿qué tiene que tener? 133 00:05:02,189 --> 00:05:04,089 pues no lo sé, tiene dos posibilidades 134 00:05:04,089 --> 00:05:06,430 o esta 135 00:05:06,430 --> 00:05:09,660 a ver, esto lo 136 00:05:09,660 --> 00:05:14,870 vamos a, vale 137 00:05:14,870 --> 00:05:17,670 tiene dos posibilidades, mi mensaje resultado 138 00:05:17,670 --> 00:05:19,310 o 139 00:05:19,310 --> 00:05:20,769 es 140 00:05:20,769 --> 00:05:22,769 al menos dos 141 00:05:22,769 --> 00:05:25,370 o menos de dos, ¿veis? aquí estamos 142 00:05:25,370 --> 00:05:27,129 haciendo una asignación 143 00:05:27,129 --> 00:05:29,149 a la variable string 144 00:05:29,149 --> 00:05:31,430 recordad 145 00:05:31,430 --> 00:05:33,430 que como vimos ayer, una variable 146 00:05:33,430 --> 00:05:35,350 string que recibe en las 147 00:05:35,350 --> 00:05:37,410 asignaciones, recibe cadenas de 148 00:05:37,410 --> 00:05:39,170 caracteres, es lo único que puede recibir 149 00:05:39,170 --> 00:05:41,269 una variable string en sus asignaciones 150 00:05:41,269 --> 00:05:43,209 cadenas de caracteres 151 00:05:43,209 --> 00:05:45,129 las cadenas de caracteres son texto 152 00:05:45,129 --> 00:05:47,129 entre comillas dobles, luego esto 153 00:05:47,129 --> 00:05:48,990 que recibe mi variable string está 154 00:05:48,990 --> 00:05:50,449 bien, es perfectamente compatible 155 00:05:50,449 --> 00:05:53,110 ¿vale? podría 156 00:05:53,110 --> 00:05:55,350 recibir también otra variable string, por supuesto 157 00:05:55,350 --> 00:05:56,709 o sea, imaginaos que yo hago esta cosa 158 00:05:56,709 --> 00:05:58,790 tan retorcida, podría 159 00:05:58,790 --> 00:05:59,750 no pasa nada 160 00:05:59,750 --> 00:06:02,290 sintácticamente es verdad 161 00:06:02,290 --> 00:06:05,149 imaginaos, yo hago aquí texto 1 162 00:06:05,149 --> 00:06:06,949 y el texto 1 es 163 00:06:06,949 --> 00:06:08,810 como es muy largo, para que no me quede línea muy largo 164 00:06:08,810 --> 00:06:10,529 mi texto 1 que sea este 165 00:06:10,529 --> 00:06:14,550 al menos 2 166 00:06:14,550 --> 00:06:19,790 y ahora me hago otro string 167 00:06:19,790 --> 00:06:23,699 texto 2 168 00:06:23,699 --> 00:06:25,860 y en texto 2 169 00:06:25,860 --> 00:06:26,680 guardo esto 170 00:06:26,680 --> 00:06:32,000 exacto 171 00:06:32,000 --> 00:06:34,019 entonces, estas asignaciones 172 00:06:34,019 --> 00:06:36,040 se ven más claras, son dos asignaciones 173 00:06:36,040 --> 00:06:37,019 a dos variables string 174 00:06:37,019 --> 00:06:40,019 dos variables string sirven para guardar 175 00:06:40,019 --> 00:06:40,740 cadenas de texto 176 00:06:40,740 --> 00:06:43,699 vale, entonces a una variable string 177 00:06:43,699 --> 00:06:45,339 le puedo asignar también 178 00:06:45,339 --> 00:06:47,480 otra variable string porque también es una 179 00:06:47,480 --> 00:06:49,560 cadena de texto, bueno pues 180 00:06:49,560 --> 00:06:51,560 entonces yo he cambiado 181 00:06:51,560 --> 00:06:53,339 este código, podría haberlo decidido así 182 00:06:53,339 --> 00:06:55,759 de cara a que esta línea sea más corta 183 00:06:55,759 --> 00:06:57,399 y decirle, oye 184 00:06:57,399 --> 00:06:59,560 a mensaje resultado tenemos 185 00:06:59,560 --> 00:07:01,060 dos posibilidades 186 00:07:01,060 --> 00:07:03,540 le asigno o texto 187 00:07:03,540 --> 00:07:07,000 uno o texto dos 188 00:07:07,000 --> 00:07:08,180 una de dos 189 00:07:08,180 --> 00:07:11,019 o le asigno el texto de arriba 190 00:07:11,019 --> 00:07:12,759 o le asigno el texto de abajo 191 00:07:12,759 --> 00:07:14,819 una de dos, esas son mis 192 00:07:14,819 --> 00:07:17,120 posibilidades con el mensaje resultado 193 00:07:17,120 --> 00:07:18,259 ¿verdad? no hay más que esas 194 00:07:18,259 --> 00:07:21,100 vale, ¿y de qué depende 195 00:07:21,100 --> 00:07:23,139 que le asigne texto 1 o texto 2? 196 00:07:24,199 --> 00:07:25,519 depende de una condición 197 00:07:25,519 --> 00:07:27,860 de la condición 198 00:07:27,860 --> 00:07:29,680 al menos dos edades 199 00:07:29,680 --> 00:07:31,139 ser mayor de 21 200 00:07:31,139 --> 00:07:33,620 vale, pues ahora yo ya 201 00:07:33,620 --> 00:07:35,699 como conozco muchos operadores 202 00:07:35,699 --> 00:07:37,420 booleanos, relacionales y de todo 203 00:07:37,420 --> 00:07:38,920 mi único problema es 204 00:07:38,920 --> 00:07:41,259 poner en esta variable booleana 205 00:07:41,259 --> 00:07:43,519 la condición de al menos 2 206 00:07:43,519 --> 00:07:44,740 ser mayor que 21 207 00:07:44,740 --> 00:07:46,660 y ahora ya no lo traduce 208 00:07:46,660 --> 00:07:49,699 bueno, pues entonces tenemos 3 edades 209 00:07:49,699 --> 00:07:51,660 ¿cómo lo podemos traducir 210 00:07:51,660 --> 00:07:53,120 con los operadores booleanos 211 00:07:53,120 --> 00:07:55,680 AND y OR, que son los que conocemos 212 00:07:55,680 --> 00:07:57,779 AND y OR, bueno y el negado 213 00:07:57,779 --> 00:07:59,680 la condición de al menos 214 00:07:59,680 --> 00:08:00,839 2 ser mayor que 21 215 00:08:00,839 --> 00:08:03,300 lo primero que nos sale es decir, vale 216 00:08:03,300 --> 00:08:05,100 yo tengo 3 edades, las que he llamado 217 00:08:05,100 --> 00:08:07,379 E1, E2, E3, para que sea más corto 218 00:08:07,379 --> 00:08:10,420 pues puede ser que E1 sea mayor que 21 219 00:08:10,420 --> 00:08:12,139 y E2 mayor que 21 220 00:08:12,139 --> 00:08:13,379 o 221 00:08:13,379 --> 00:08:15,959 E1 mayor que 21 y 222 00:08:15,959 --> 00:08:17,139 E3 mayor que 21 223 00:08:17,139 --> 00:08:19,860 o E1 mayor que 21 224 00:08:19,860 --> 00:08:21,279 y E3 mayor que 21 225 00:08:21,279 --> 00:08:23,600 ya está, ya he recogido la condición que me han dado 226 00:08:23,600 --> 00:08:25,279 con los operadores AND y OR 227 00:08:25,279 --> 00:08:27,279 pues es nuestro problema 228 00:08:27,279 --> 00:08:29,819 cuando me expresa una condición en lenguaje natural 229 00:08:29,819 --> 00:08:32,059 que puede ser cualquier cosa, que al menos dos sean mayores 230 00:08:32,059 --> 00:08:33,899 que 21 pero uno tenga un cuñado 231 00:08:33,899 --> 00:08:35,080 en no sé dónde y el otro en no sé qué 232 00:08:35,080 --> 00:08:37,159 pues yo todo eso lo traduzco 233 00:08:37,159 --> 00:08:38,899 a ans y a or 234 00:08:38,899 --> 00:08:41,360 que me queda muy larga, me ha quedado muy larga 235 00:08:41,360 --> 00:08:43,940 pues eso mismo que yo he dicho 236 00:08:43,940 --> 00:08:45,860 que la primera y la segunda 237 00:08:45,860 --> 00:08:46,720 sean mayores que 21 238 00:08:46,720 --> 00:08:49,879 o que la primera y la tercera sean mayores que 21 239 00:08:49,879 --> 00:08:52,000 o que la segunda y la tercera 240 00:08:52,000 --> 00:08:52,879 sean mayores que 21 241 00:08:52,879 --> 00:08:55,240 esa es la traducción exacta 242 00:08:55,240 --> 00:08:57,960 de al menos dos mayores de 21 243 00:08:57,960 --> 00:08:58,980 ¿verdad? 244 00:08:59,480 --> 00:09:02,019 bueno, pues eso codificado 245 00:09:02,019 --> 00:09:13,840 Sería 246 00:09:13,840 --> 00:09:15,820 Esta condición de aquí arriba 247 00:09:15,820 --> 00:09:19,779 Yo meto esa condición en un boolean 248 00:09:19,779 --> 00:09:21,700 Para que no me quede luego este condicionado 249 00:09:21,700 --> 00:09:22,419 Aquí gigante 250 00:09:22,419 --> 00:09:24,639 Lo meto en un boolean 251 00:09:24,639 --> 00:09:25,460 Y es lo que 252 00:09:25,460 --> 00:09:28,059 Son 3 or 253 00:09:28,059 --> 00:09:29,779 De esto 254 00:09:29,779 --> 00:09:32,080 Entonces yo voy anidando con paréntesis 255 00:09:32,080 --> 00:09:32,720 No pasa nada 256 00:09:32,720 --> 00:09:34,620 Esta condición que significa 257 00:09:34,620 --> 00:09:36,759 Que la primera sea mayor que 21 258 00:09:36,759 --> 00:09:39,759 y la segunda mayor que 21. 259 00:09:41,590 --> 00:09:42,750 ¿Que esto no ocurre? 260 00:09:43,269 --> 00:09:46,529 Pues entonces, o que esta sea mayor que 21 261 00:09:46,529 --> 00:09:48,029 y esta mayor que 21. 262 00:09:48,450 --> 00:09:50,929 O si no, que esta sea mayor que 21 263 00:09:50,929 --> 00:09:51,970 y esta sea mayor que 21. 264 00:09:52,769 --> 00:09:55,830 Entonces, esa condición recoge exactamente eso. 265 00:09:56,929 --> 00:09:59,409 Si los tres son mayores que 21, 266 00:09:59,929 --> 00:10:01,070 esta ya va a ser true. 267 00:10:01,690 --> 00:10:02,710 Entonces, el total es true. 268 00:10:04,129 --> 00:10:04,330 ¿Vale? 269 00:10:04,330 --> 00:10:07,429 y si solo es una 270 00:10:07,429 --> 00:10:09,370 mayor que 21, solo una 271 00:10:09,370 --> 00:10:11,809 estas tres van a ser falsas 272 00:10:11,809 --> 00:10:12,350 las tres 273 00:10:12,350 --> 00:10:14,210 tengo una pequeña duda 274 00:10:14,210 --> 00:10:17,370 si yo en vez de poner edad 275 00:10:17,370 --> 00:10:18,710 21 pusiera un boolean 276 00:10:18,710 --> 00:10:20,269 no tendría que poner 277 00:10:20,269 --> 00:10:23,870 o sea, esto lo hubieras metido a su vez 278 00:10:23,870 --> 00:10:25,690 en tres booleans, tuvieras tres booleans 279 00:10:25,690 --> 00:10:27,570 este, este y este 280 00:10:27,570 --> 00:10:29,149 pues ya está, lo sustituyes y ya está 281 00:10:29,149 --> 00:10:30,870 no tengo que poner que sea true 282 00:10:30,870 --> 00:10:32,629 la condición ya asume que eso tiene que ser true 283 00:10:32,629 --> 00:10:45,470 Claro, claro. O sea, si tú lo hubieras desglosado en algo así, por ejemplo, C1 igual a E1 mayor que 21. Y lo mismo con las otras. 284 00:10:45,470 --> 00:10:50,990 Claro 285 00:10:50,990 --> 00:10:53,909 Si se trata de 286 00:10:53,909 --> 00:10:55,529 Cómo lo ve uno más claro 287 00:10:55,529 --> 00:10:58,309 Yo creo 288 00:10:58,309 --> 00:11:00,649 Y ahora ya pones aquí 289 00:11:00,649 --> 00:11:03,210 C1, aquí C2 290 00:11:03,210 --> 00:11:05,389 Aquí C1 otra vez, aquí C3 291 00:11:05,389 --> 00:11:07,649 Aquí C2 y aquí C3 292 00:11:07,649 --> 00:11:09,090 Es lo mismo, exactamente lo mismo 293 00:11:09,090 --> 00:11:11,970 Se trata de cómo queda el código más claro 294 00:11:11,970 --> 00:11:12,409 Entonces 295 00:11:12,409 --> 00:11:14,970 Cuando uno ve 296 00:11:14,970 --> 00:11:16,990 si uno ve esta condición 297 00:11:16,990 --> 00:11:18,590 que es la condición que va aquí metida 298 00:11:18,590 --> 00:11:20,429 que es la que va aquí 299 00:11:20,429 --> 00:11:22,590 ¿no? si uno 300 00:11:22,590 --> 00:11:25,210 cuando ve aquí la condición dice, uy ¿de qué depende 301 00:11:25,210 --> 00:11:27,149 que haya dos mensajes? ¿de qué depende? pues se va 302 00:11:27,149 --> 00:11:28,289 a esta condición aquí arriba 303 00:11:28,289 --> 00:11:30,789 y lo ve escrito así 304 00:11:30,789 --> 00:11:33,350 la ve enseguida y dice, ah vale 305 00:11:33,350 --> 00:11:34,750 lo que me está expresando es que me va a 21 306 00:11:34,750 --> 00:11:37,549 pero si empieza a ver aquí C1, si C2, si C3 307 00:11:37,549 --> 00:11:39,309 ya le obligas a ir para arriba 308 00:11:39,309 --> 00:11:41,149 ¿y esto qué significa? entonces 309 00:11:41,149 --> 00:11:43,330 hombre, si la condición queda muy larga 310 00:11:43,330 --> 00:11:45,269 y viene bien para cortar códigos, sí. 311 00:11:45,690 --> 00:11:49,710 Pero si dificulta que entendamos exactamente qué significa esto, 312 00:11:49,809 --> 00:11:50,750 pues es mejor no hacerlo. 313 00:11:50,929 --> 00:11:53,289 Aunque es lo mismo, efectos prácticos es lo mismo. 314 00:11:54,009 --> 00:11:54,210 ¿Vale? 315 00:11:55,669 --> 00:12:00,830 Vale, pues entonces se trata de usar el no lógico, 316 00:12:00,970 --> 00:12:04,350 el and y el or, para expresar lo que nos estén diciendo. 317 00:12:06,669 --> 00:12:11,610 Recordad que esto es que ambas sean true simultáneamente, 318 00:12:11,610 --> 00:12:21,080 Y el or es o una o la otra, o una o la otra, o ambas, ¿vale? 319 00:12:28,320 --> 00:12:33,360 Vale, o las dos, el or trajo las dos, ¿vale? Porque el or exclusivo también no. 320 00:12:33,799 --> 00:12:42,860 Vale, entonces esta yo creo que es la condición más clara para expresar la idea de que al menos dos a mayores que 21, ¿vale? 321 00:12:42,860 --> 00:12:45,100 entonces 322 00:12:45,100 --> 00:12:47,259 a lo mejor alguno 323 00:12:47,259 --> 00:12:49,779 podría haber llegado a esta condición 324 00:12:49,779 --> 00:12:51,200 por un camino más largo 325 00:12:51,200 --> 00:12:52,659 o porque está un poco 326 00:12:52,659 --> 00:12:54,720 embrollado en ese momento 327 00:12:54,720 --> 00:12:57,200 entonces vamos a ver ese ejemplo para ver 328 00:12:57,200 --> 00:12:59,279 un poco la aritmética de estos operadores 329 00:12:59,279 --> 00:13:01,120 no os liéis 330 00:13:01,120 --> 00:13:03,480 no os volváis locos, pero si quiero que 331 00:13:03,480 --> 00:13:04,960 se quede la idea de que estos operadores 332 00:13:04,960 --> 00:13:07,460 igual que las sumas y las restas, tienen una aritmética 333 00:13:07,460 --> 00:13:09,299 la propiedad conmutativa 334 00:13:09,299 --> 00:13:10,600 la distributiva, etc. 335 00:13:12,860 --> 00:13:13,980 Vale 336 00:13:13,980 --> 00:13:19,730 Bueno, a ver, como está a punto de tocar 337 00:13:19,730 --> 00:13:21,850 Lo paramos aquí 338 00:13:21,850 --> 00:13:23,429 Y lo decimos luego