1 00:00:00,370 --> 00:00:02,649 Vale 2 00:00:02,649 --> 00:00:05,290 El documento era este 3 00:00:05,290 --> 00:00:07,049 Sí, vale, vamos a 4 00:00:07,049 --> 00:00:10,189 Dejarlo aquí más claro 5 00:00:10,189 --> 00:00:12,490 Vale, lo que hemos decidido escribir 6 00:00:12,490 --> 00:00:13,990 Es 7 00:00:13,990 --> 00:00:19,670 Si tenemos los dos datos de entrada 8 00:00:19,670 --> 00:00:21,629 Que son 9 00:00:21,629 --> 00:00:22,829 La edad 10 00:00:22,829 --> 00:00:25,350 Que este ya se ha rellenado 11 00:00:25,350 --> 00:00:26,309 Decimos de donde sea 12 00:00:26,309 --> 00:00:28,609 Y el Boolean, permiso 13 00:00:28,609 --> 00:00:30,750 que este es un boolean 14 00:00:30,750 --> 00:00:34,570 porque para permisos 15 00:00:34,570 --> 00:00:35,670 solo hay dos posibilidades 16 00:00:35,670 --> 00:00:38,130 si se tiene o no, no se tiene 17 00:00:38,130 --> 00:00:39,250 solo hay dos posibilidades 18 00:00:39,250 --> 00:00:42,990 para edad sin embargo hay tantas como números enteros 19 00:00:42,990 --> 00:00:44,969 bueno, pues una vez dados los datos 20 00:00:44,969 --> 00:00:46,329 hemos llevado hasta la conclusión 21 00:00:46,329 --> 00:00:48,030 que para que 22 00:00:48,030 --> 00:00:50,549 entremos se tiene que dar 23 00:00:50,549 --> 00:00:52,829 o una cosa o la otra 24 00:00:52,829 --> 00:00:54,689 desde el momento en que ya 25 00:00:54,689 --> 00:00:56,549 lo enunciamos en nuestras propias palabras 26 00:00:56,549 --> 00:00:58,829 o pasa esto o pasa lo otro 27 00:00:58,829 --> 00:01:01,189 pues entonces ya plantamos esto 28 00:01:01,189 --> 00:01:02,909 ahora ya nos vamos a ver 29 00:01:02,909 --> 00:01:04,090 qué pasa a cada lado 30 00:01:04,090 --> 00:01:07,170 bueno, pues, o bien soy mayor de edad 31 00:01:07,170 --> 00:01:08,609 que esa es sencillísima de poner 32 00:01:08,609 --> 00:01:10,849 edad 33 00:01:10,849 --> 00:01:13,530 mayor o igual de 18 34 00:01:13,530 --> 00:01:14,870 o bien 35 00:01:14,870 --> 00:01:17,010 soy mayor o igual que 16 36 00:01:17,010 --> 00:01:18,109 y tengo permiso 37 00:01:18,109 --> 00:01:20,609 eso a su vez son dos cosas con un an 38 00:01:20,609 --> 00:01:22,150 dos cosas juntas con un an 39 00:01:22,150 --> 00:01:24,709 luego aquí pongo paréntesis 40 00:01:24,709 --> 00:01:26,890 para que quede claro 41 00:01:26,890 --> 00:01:28,989 esas dos cosas serían 42 00:01:28,989 --> 00:01:32,909 edad mayor o igual de 16 43 00:01:32,909 --> 00:01:34,930 y me habéis dicho vosotros 44 00:01:34,930 --> 00:01:37,909 permiso igual a true 45 00:01:37,909 --> 00:01:41,150 esto es lo que me habéis dicho 46 00:01:41,150 --> 00:01:43,030 vale, entonces 47 00:01:43,030 --> 00:01:45,069 los paréntesis hay que ponerlos 48 00:01:45,069 --> 00:01:46,549 porque si no ponemos paréntesis 49 00:01:46,549 --> 00:01:48,709 la máquina virtual 50 00:01:48,709 --> 00:01:51,209 va evaluando esta condición 51 00:01:51,209 --> 00:01:52,450 de izquierda a derecha 52 00:01:52,450 --> 00:01:54,129 ¿vale? 53 00:01:54,129 --> 00:01:55,049 y entonces 54 00:01:55,049 --> 00:01:57,189 esta condición 55 00:01:57,189 --> 00:02:00,390 quedaría, si edad es mayor o igual que 18 56 00:02:00,390 --> 00:02:02,950 o edad es mayor o igual que 16 57 00:02:02,950 --> 00:02:06,250 entonces con que una de estas dos sea cierta 58 00:02:06,250 --> 00:02:09,169 ya sería cierta, ¿vale? 59 00:02:09,650 --> 00:02:12,210 entonces lo dejamos claro con los paréntesis 60 00:02:12,210 --> 00:02:19,539 así lo dejamos más clarito, ¿vale? 61 00:02:23,289 --> 00:02:25,870 si edad es mayor o igual que 16 y permiso igual a true 62 00:02:25,870 --> 00:02:28,610 entonces esta se puede dejar así y está bien 63 00:02:28,610 --> 00:02:31,449 esto lógicamente es conmutativo 64 00:02:31,449 --> 00:02:34,590 podríamos haber puesto antes esta, ¿vale? 65 00:02:34,870 --> 00:02:56,090 Pero bueno, mejor poner primero la sencilla, porque ya sabemos que si ponemos la doble barrita, que fue con lo que nos quedamos ayer, en cuanto esta sea true, aquí ni entra, porque ya sabe que la total es true, porque un or, en cuanto una sea true, la otra es. 66 00:02:56,090 --> 00:03:00,949 Entonces, la máquina virtual, si ve 37, esta ni la evalúo. 67 00:03:01,430 --> 00:03:03,710 Entonces, ahorramos tiempo de ejecución del código. 68 00:03:04,430 --> 00:03:06,030 Son ciclos de memoria que nos ahorramos. 69 00:03:07,370 --> 00:03:07,550 ¿Vale? 70 00:03:07,629 --> 00:03:10,389 Recordad de ayer que, sin embargo, 71 00:03:11,030 --> 00:03:13,610 si hubiéramos puesto solo una barrita, 72 00:03:14,449 --> 00:03:17,509 aunque la máquina virtual vea que esta es true, 73 00:03:17,569 --> 00:03:20,110 porque le hemos dado 37, va a evaluar esto igualmente. 74 00:03:20,169 --> 00:03:21,050 Es una pérdida de tiempo. 75 00:03:21,550 --> 00:03:21,990 Evaluarlo. 76 00:03:23,090 --> 00:03:23,330 ¿Vale? 77 00:03:23,330 --> 00:03:26,169 solo hay una razón en la cual no es una pérdida de tiempo 78 00:03:26,169 --> 00:03:27,469 que fue la que dijimos ayer 79 00:03:27,469 --> 00:03:31,990 y es que cuando una condición 80 00:03:31,990 --> 00:03:35,889 además de usar las variables para hacer cosas 81 00:03:35,889 --> 00:03:38,330 además aprovecha y les da valor 82 00:03:38,330 --> 00:03:40,569 aquí por ejemplo 83 00:03:40,569 --> 00:03:45,050 permiso, la estamos usando para ver si es igual a true 84 00:03:45,050 --> 00:03:47,930 a lo mejor en este momento podríamos leerla 85 00:03:47,930 --> 00:03:50,530 del teclado, con un next lo que fuera 86 00:03:50,530 --> 00:03:53,169 leer un boolean en este caso es raro 87 00:03:53,169 --> 00:03:54,629 pero bueno, con la sentencia que fuera 88 00:03:54,629 --> 00:03:57,889 entonces, si en el momento de usarla 89 00:03:57,889 --> 00:03:59,009 para ver si es igual a true 90 00:03:59,009 --> 00:04:01,009 además le asignamos un valor 91 00:04:01,009 --> 00:04:02,490 el valor que sea 92 00:04:02,490 --> 00:04:04,310 que podemos hacerlo, ¿verdad? 93 00:04:05,990 --> 00:04:08,090 además de usarla, le asigno un valor 94 00:04:08,090 --> 00:04:10,810 y luego ya la comparo 95 00:04:10,810 --> 00:04:13,729 pues entonces, si ponemos las dos barritas 96 00:04:13,729 --> 00:04:15,229 si esta es true 97 00:04:15,229 --> 00:04:17,370 nunca jamás entraría aquí 98 00:04:17,370 --> 00:04:20,230 luego no llegaría a hacer esta asignación, nunca 99 00:04:20,230 --> 00:04:23,069 entonces por eso es 100 00:04:23,069 --> 00:04:25,430 con lo que nos quedamos ayer, con lo que vimos ayer 101 00:04:25,430 --> 00:04:27,550 que si yo pongo 102 00:04:27,550 --> 00:04:29,310 dos barras, tengo que 103 00:04:29,310 --> 00:04:31,250 tener cuidado de que la segunda 104 00:04:31,250 --> 00:04:33,410 cláusula, o sea las partes de una condición se llaman 105 00:04:33,410 --> 00:04:34,930 cláusulas, de que la segunda cláusula 106 00:04:34,930 --> 00:04:37,589 no haga ninguna asignación a una variable 107 00:04:37,589 --> 00:04:39,449 a la vez que la compara 108 00:04:39,449 --> 00:04:41,350 porque si 109 00:04:41,350 --> 00:04:43,490 lo hace y yo entro en una ejecución 110 00:04:43,490 --> 00:04:45,310 en la cual aquí no tiene por qué 111 00:04:45,310 --> 00:04:47,189 entrar, pues esa asignación se queda sin 112 00:04:47,189 --> 00:04:48,410 entrar, se queda sin entrar 113 00:04:48,410 --> 00:04:50,310 ¿Vale? Que era el ejemplo de ayer 114 00:04:50,310 --> 00:04:52,509 No es lo habitual 115 00:04:52,509 --> 00:04:54,410 Depende, salvo cuando hacemos entrada y salida 116 00:04:54,410 --> 00:04:55,589 Por ficheros, que ahí sí 117 00:04:55,589 --> 00:04:58,310 No es lo habitual cuando tú haces una condición 118 00:04:58,310 --> 00:05:00,209 Y usas una variable para compararla 119 00:05:00,209 --> 00:05:02,449 No es lo habitual que a la vez 120 00:05:02,449 --> 00:05:04,569 Que la usas para compararla, en ese momento 121 00:05:04,569 --> 00:05:05,350 Le des un valor 122 00:05:05,350 --> 00:05:08,329 No es lo habitual porque, bueno, complica un poco el código 123 00:05:08,329 --> 00:05:10,209 Pero en algunos casos 124 00:05:10,209 --> 00:05:12,290 Podemos hacerlo porque nos ahorra líneas 125 00:05:12,290 --> 00:05:14,389 ¿Vale? Pues en ese caso, aquí sí 126 00:05:14,389 --> 00:05:15,350 Que hay trascendencia 127 00:05:15,350 --> 00:05:18,050 Pero bueno, en nuestro ejemplo 128 00:05:18,050 --> 00:05:20,629 como tenemos las variables 129 00:05:20,629 --> 00:05:21,810 leídas de antes 130 00:05:21,810 --> 00:05:24,589 con lo cual no le asigno 131 00:05:24,589 --> 00:05:26,449 ningún valor a permiso ni a nada 132 00:05:26,449 --> 00:05:27,769 en el momento de 133 00:05:27,769 --> 00:05:29,430 pues 134 00:05:29,430 --> 00:05:33,540 lo dejo así 135 00:05:33,540 --> 00:05:35,920 con la doble 136 00:05:35,920 --> 00:05:39,319 lo dejo 137 00:05:39,319 --> 00:05:41,019 con la doble barra y listo 138 00:05:41,019 --> 00:05:42,879 vale, entonces 139 00:05:42,879 --> 00:05:45,019 repito 140 00:05:45,019 --> 00:05:47,120 aunque esto es conmutativo, lógicamente 141 00:05:47,120 --> 00:05:48,420 da igual en el orden que lo ponga 142 00:05:48,420 --> 00:05:50,439 esta cortita la pongo la primera 143 00:05:50,439 --> 00:05:52,160 porque así si es mayor o igual que 18 144 00:05:52,160 --> 00:05:53,560 ya esta larga ni entra 145 00:05:53,560 --> 00:05:55,259 si lo pongo al revés 146 00:05:55,259 --> 00:05:58,980 va a evaluar siempre esta 147 00:05:58,980 --> 00:06:01,439 que es un poquito más larga 148 00:06:01,439 --> 00:06:02,139 que la otra 149 00:06:02,139 --> 00:06:04,920 entonces en general 150 00:06:04,920 --> 00:06:05,839 aunque da un poco igual 151 00:06:05,839 --> 00:06:07,279 como las ponga 152 00:06:07,279 --> 00:06:09,439 a efectos del resultado final 153 00:06:09,439 --> 00:06:11,060 la condición es true o false 154 00:06:11,060 --> 00:06:12,639 igualmente 155 00:06:12,639 --> 00:06:15,040 aunque evalúe una primera o la evalúe después 156 00:06:15,040 --> 00:06:18,740 Pero nos ahorramos ciclos de memoria 157 00:06:18,740 --> 00:06:20,620 Si dejamos las cláusulas más grandes 158 00:06:20,620 --> 00:06:21,920 Al final 159 00:06:21,920 --> 00:06:23,819 Porque solo va a entrar en ellas 160 00:06:23,819 --> 00:06:26,139 Cuando lo necesite 161 00:06:26,139 --> 00:06:27,540 Porque esta se false, ¿vale? 162 00:06:28,420 --> 00:06:29,519 Bueno, todo esto es lo de ayer 163 00:06:29,519 --> 00:06:31,420 Está más o menos claro, ¿no? 164 00:06:33,529 --> 00:06:35,589 Vale, entonces esta condición así estaría bien 165 00:06:35,589 --> 00:06:36,329 Salvo que 166 00:06:36,329 --> 00:06:38,769 Qué redundantes estamos siendo 167 00:06:38,769 --> 00:06:40,370 Con lo de permiso igual a true 168 00:06:40,370 --> 00:06:42,290 Qué feo es esto 169 00:06:42,290 --> 00:06:43,810 A ver, está bien 170 00:06:43,810 --> 00:06:46,930 permiso igual a true 171 00:06:46,930 --> 00:06:49,009 pero es que permiso 172 00:06:49,009 --> 00:06:50,529 ya es un boolean en sí mismo 173 00:06:50,529 --> 00:06:52,670 permiso ya es una condición 174 00:06:52,670 --> 00:06:55,029 entonces no sería mucho mejor 175 00:06:55,029 --> 00:06:57,449 poner permiso a palo seco 176 00:06:57,449 --> 00:07:01,029 ¿vale? en lugar de poner esto 177 00:07:01,029 --> 00:07:02,730 permiso igual a true, poner edad 178 00:07:02,730 --> 00:07:04,449 mayor o igual que 16 y 179 00:07:04,449 --> 00:07:05,810 and permiso 180 00:07:05,810 --> 00:07:09,029 porque cuando permiso sea true 181 00:07:09,029 --> 00:07:10,970 el and es con el true 182 00:07:10,970 --> 00:07:12,769 de permiso y cuando permiso 183 00:07:12,769 --> 00:07:14,689 sea false, el and es con el false 184 00:07:14,689 --> 00:07:16,449 de permiso, es decir 185 00:07:16,449 --> 00:07:18,649 poner permiso y poner 186 00:07:18,649 --> 00:07:20,990 permiso igual a true 187 00:07:20,990 --> 00:07:22,889 son dos 188 00:07:22,889 --> 00:07:24,810 condiciones idénticas 189 00:07:24,810 --> 00:07:26,350 es lo mismo, son 190 00:07:26,350 --> 00:07:28,750 la misma condición, pero esta es 191 00:07:28,750 --> 00:07:30,009 más larga de escribir y más fea 192 00:07:30,009 --> 00:07:32,509 ¿vale? esto es como decir 193 00:07:32,509 --> 00:07:34,949 llueve o decir 194 00:07:34,949 --> 00:07:36,589 que está lloviendo 195 00:07:36,589 --> 00:07:38,230 es verdad, yo no digo 196 00:07:38,230 --> 00:07:40,290 que está lloviendo es verdad 197 00:07:40,290 --> 00:07:41,449 digo llueve 198 00:07:41,449 --> 00:07:43,930 ¿vale? pues aquí estoy diciendo 199 00:07:43,930 --> 00:07:44,730 ¿tienes permiso? 200 00:07:45,810 --> 00:07:48,089 y aquí digo, que tengas permiso 201 00:07:48,089 --> 00:07:48,910 es verdad 202 00:07:48,910 --> 00:07:51,029 que forma más rara de hacer la pregunta 203 00:07:51,029 --> 00:07:53,709 tú no dices que tengas tu permiso es verdad 204 00:07:53,709 --> 00:07:56,009 no, tú dices, tenés permiso 205 00:07:56,009 --> 00:07:57,790 y el propio permiso ya 206 00:07:57,790 --> 00:08:00,029 o es true o es false, la propia variable 207 00:08:00,029 --> 00:08:00,949 ya es true o es false 208 00:08:00,949 --> 00:08:04,269 no tengo a su vez que compararla con true o compararla con false 209 00:08:04,269 --> 00:08:06,389 estoy volviéndose de lo mismo 210 00:08:06,389 --> 00:08:07,069 una y otra vez 211 00:08:07,069 --> 00:08:09,089 ¿vale? 212 00:08:09,089 --> 00:08:12,149 Entonces cuando usamos una variable boolean 213 00:08:12,149 --> 00:08:12,949 Como condición 214 00:08:12,949 --> 00:08:16,149 Esa propia variable es que ya es la condición 215 00:08:16,149 --> 00:08:17,490 No tenemos que además decir 216 00:08:17,490 --> 00:08:18,550 Igual a true 217 00:08:18,550 --> 00:08:28,040 Bueno, entendido que permiso y permiso doble igual true 218 00:08:28,040 --> 00:08:28,959 Es la misma idea 219 00:08:28,959 --> 00:08:30,600 Es exactamente la misma condición 220 00:08:30,600 --> 00:08:31,660 Lo mismo, ¿no? 221 00:08:32,620 --> 00:08:34,639 Llover o llover está pasando 222 00:08:34,639 --> 00:08:35,700 Es lo mismo 223 00:08:35,700 --> 00:08:40,350 Venga, pues la siguiente 224 00:08:40,350 --> 00:08:47,539 Claro 225 00:08:47,539 --> 00:08:50,019 Pues por ejemplo 226 00:08:50,019 --> 00:08:52,879 Claro, pero eso ya es bullying 227 00:08:52,879 --> 00:08:54,120 Pero eso ya es una condición 228 00:08:54,120 --> 00:08:55,580 Venga 229 00:08:55,580 --> 00:09:01,860 Vale, pues a ver 230 00:09:01,860 --> 00:09:04,639 Estas condiciones de aquí 231 00:09:04,639 --> 00:09:10,480 Esta ya la hemos hecho 232 00:09:10,480 --> 00:09:10,899 Fuera 233 00:09:10,899 --> 00:09:18,610 Vale 234 00:09:18,610 --> 00:09:19,690 Pues por ejemplo 235 00:09:19,690 --> 00:09:21,250 Aplicación 236 00:09:21,250 --> 00:09:22,529 Que 237 00:09:22,529 --> 00:09:24,929 Te piden 238 00:09:24,929 --> 00:09:26,649 Para sacar 239 00:09:26,649 --> 00:09:29,769 Para decirte si has aprobado 240 00:09:29,769 --> 00:09:32,649 o no has aprobado, ¿vale? 241 00:09:34,940 --> 00:09:41,570 Entonces, y además de decirte si has aprobado o no has aprobado, 242 00:09:42,570 --> 00:09:46,370 luego tenemos una condición que sería aprobado, 243 00:09:46,450 --> 00:09:47,490 que es nuestro resultado. 244 00:09:48,850 --> 00:09:54,090 La condición que tenemos que reflejar 245 00:09:54,090 --> 00:09:57,169 es la condición aprobado, 246 00:09:57,250 --> 00:09:58,529 porque eso es lo que te dice el programa. 247 00:09:59,289 --> 00:10:03,070 Te dice si estás aprobado o si no lo estás, ¿vale? 248 00:10:03,070 --> 00:10:22,240 Vale, ya está pegando. 249 00:10:22,559 --> 00:10:23,440 Vale, vale. 250 00:10:25,970 --> 00:10:26,710 He dicho que sí. 251 00:10:27,830 --> 00:10:29,169 Mejor no preguntamos. 252 00:10:29,789 --> 00:10:31,870 Entonces, la condición que te tiene que sacar 253 00:10:31,870 --> 00:10:33,950 este programa es si estás aprobado o no. 254 00:10:35,350 --> 00:10:36,090 Si estás aprobado 255 00:10:36,090 --> 00:10:37,230 será true y si no, falso. 256 00:10:37,590 --> 00:10:38,929 Y además este 257 00:10:38,929 --> 00:10:41,289 te saca otra condición 258 00:10:41,289 --> 00:10:42,710 que es 259 00:10:42,710 --> 00:10:44,570 aviso. 260 00:10:45,669 --> 00:10:47,809 Que aviso se pondrá true. 261 00:10:48,850 --> 00:10:50,250 Cuidado, tenías que recuperar 262 00:10:50,250 --> 00:10:50,950 y no lo hiciste. 263 00:10:50,950 --> 00:10:53,370 O a falso en caso contrario. 264 00:10:53,370 --> 00:10:55,809 Luego el resultado de esta aplicación 265 00:10:55,809 --> 00:10:57,570 Serían dos condiciones 266 00:10:57,570 --> 00:10:59,289 ¿Estás aprobado? 267 00:11:00,389 --> 00:11:01,110 O 268 00:11:01,110 --> 00:11:02,889 Te aviso 269 00:11:02,889 --> 00:11:04,850 True o no te aviso, false 270 00:11:04,850 --> 00:11:07,389 De que tenías que recuperar y no lo hiciste 271 00:11:07,389 --> 00:11:08,490 ¿Vale? 272 00:11:09,129 --> 00:11:11,570 Ese es el resultado, decir si estás aprobado o no 273 00:11:11,570 --> 00:11:13,210 Y tenías que recuperar 274 00:11:13,210 --> 00:11:14,049 O 275 00:11:14,049 --> 00:11:17,110 Y no lo hiciste, vale, entonces 276 00:11:17,110 --> 00:11:18,470 Datos de entrada 277 00:11:18,470 --> 00:11:20,090 Las dos notas 278 00:11:20,090 --> 00:11:22,970 La nota, son dos exámenes 279 00:11:22,970 --> 00:11:24,950 la nota del examen 1 280 00:11:24,950 --> 00:11:28,820 y la nota de la recuperación. 281 00:11:31,779 --> 00:11:32,480 Entonces, tú 282 00:11:32,480 --> 00:11:34,779 metes la nota del examen 1 283 00:11:34,779 --> 00:11:36,639 y la nota de la recuperación. 284 00:11:37,779 --> 00:11:38,539 Si no tenías, 285 00:11:38,639 --> 00:11:40,639 si tú no te presentaste 286 00:11:40,639 --> 00:11:43,100 a recuperación, si no te presentaste, 287 00:11:43,600 --> 00:11:44,600 aquí pones menos 1. 288 00:11:45,080 --> 00:11:46,679 ¿Vale? Tú pones aquí 289 00:11:46,679 --> 00:11:48,860 tu nota del examen, pones aquí 290 00:11:48,860 --> 00:11:50,740 tu nota de recuperación. Puedes 291 00:11:50,740 --> 00:11:51,840 no haberte presentado. 292 00:11:52,240 --> 00:11:53,940 Si no te has presentado, menos 1. 293 00:11:53,940 --> 00:12:11,419 Vale, pues ya el programa coge esos dos datos, nota examen, nota recuperación, con ese matiz de que habrás puesto menos uno si no te presentaste y te da dos resultados, aprobado, true o false o avisado, true o false. 294 00:12:11,419 --> 00:12:14,399 aprobado significa si has aprobado o no 295 00:12:14,399 --> 00:12:16,100 y avisado significa 296 00:12:16,100 --> 00:12:17,940 si tenías que haber recuperado 297 00:12:17,940 --> 00:12:19,639 y no lo hiciste o no 298 00:12:19,639 --> 00:12:21,360 pues venga 299 00:12:21,360 --> 00:12:23,919 ¿cómo sería la primera condición? 300 00:12:24,399 --> 00:12:26,220 ¿y cómo sería la segunda condición? 301 00:12:26,600 --> 00:12:33,340 la primera es si 302 00:12:33,340 --> 00:12:34,399 te presentaste 303 00:12:34,399 --> 00:12:35,879 si leemos 304 00:12:35,879 --> 00:12:39,220 no, si te presentaste no, o sea yo lo que quiero es que me decís 305 00:12:39,220 --> 00:12:40,519 la primera condición es 306 00:12:40,519 --> 00:12:43,220 ¿estás aprobado? si aprobaste 307 00:12:43,220 --> 00:12:44,720 el primer examen 308 00:12:44,720 --> 00:12:49,860 O bien, si hiciste los dos y la media te da mayor o igual que 5. 309 00:12:51,200 --> 00:12:52,679 Bueno, pues ¿cómo escribimos eso? 310 00:12:55,360 --> 00:12:57,580 Claro, esto es el or de dos cosas. 311 00:12:57,799 --> 00:12:59,080 O una cosa o la otra, otra vez. 312 00:12:59,740 --> 00:13:00,940 Pues será el or de dos cosas. 313 00:13:03,320 --> 00:13:03,519 Claro. 314 00:13:06,059 --> 00:13:11,100 Estás aprobado si nota examen mayor o igual que 5 315 00:13:11,100 --> 00:13:12,320 o 316 00:13:12,320 --> 00:13:15,159 nota 317 00:13:15,159 --> 00:13:21,159 entre paréntesis 318 00:13:21,159 --> 00:13:22,059 dividido 319 00:13:22,059 --> 00:13:24,740 exacto, nota 320 00:13:24,740 --> 00:13:27,279 recuperación entre 2 321 00:13:27,279 --> 00:13:28,860 esto es igual 322 00:13:28,860 --> 00:13:31,519 mayor o igual que 5 323 00:13:31,519 --> 00:13:35,500 ¿no? vale 324 00:13:35,500 --> 00:13:36,639 esto será true 325 00:13:36,639 --> 00:13:38,539 si efectivamente 326 00:13:38,539 --> 00:13:41,840 se cumplen esas condiciones 327 00:13:41,840 --> 00:13:42,480 que te dije 328 00:13:42,480 --> 00:13:45,820 pero puede ser que tuvieras 329 00:13:45,820 --> 00:13:47,860 que presentarte a recuperación y no 330 00:13:47,860 --> 00:13:48,620 lo hicieras 331 00:13:48,620 --> 00:13:50,779 entonces te avisa 332 00:13:50,779 --> 00:13:54,159 ¿vale? si tienes que presentarte a recuperación y no lo hiciste 333 00:13:54,159 --> 00:13:55,919 pues aquí habrá 334 00:13:55,919 --> 00:13:57,679 un menos uno, lógicamente, con lo cual es 335 00:13:57,679 --> 00:13:59,440 imposible que te dé aprobado 336 00:13:59,440 --> 00:14:03,700 y... pero al menos el programa 337 00:14:03,700 --> 00:14:05,700 te avisa y te dice, oye, es que no hiciste 338 00:14:05,700 --> 00:14:07,639 la recuperación, ¿cómo sería esta 339 00:14:07,639 --> 00:14:08,159 condición? 340 00:14:13,210 --> 00:14:15,289 bueno, pero eso, esta condición 341 00:14:15,289 --> 00:14:16,210 así sin más 342 00:14:16,210 --> 00:14:21,740 doble igual menos uno, no refleja 343 00:14:21,740 --> 00:14:23,919 Que tenías que haberte presentado y no lo hiciste 344 00:14:23,919 --> 00:14:25,759 Simplemente que no te presentaste a recuperación 345 00:14:25,759 --> 00:14:36,299 Pero es que igual no tenías que presentarte porque habías aprobado 346 00:14:36,299 --> 00:14:36,840 ¿Eh? 347 00:14:46,889 --> 00:14:47,549 A ver 348 00:14:47,549 --> 00:14:49,950 Es que no sé qué me estás diciendo 349 00:14:49,950 --> 00:14:56,179 Sí, a ver 350 00:14:56,179 --> 00:14:58,379 Lo que pasa es que esa nota de aprobado 351 00:14:58,379 --> 00:14:59,860 Ya cuenta la de recuperación 352 00:14:59,860 --> 00:15:02,379 Entonces, tenías que haberte presentado a recuperación 353 00:15:02,960 --> 00:15:04,740 Se basa solo en esto 354 00:15:04,740 --> 00:15:05,980 Es más fácil 355 00:15:05,980 --> 00:15:07,480 Que eso que dices tú, en realidad 356 00:15:07,480 --> 00:15:09,600 ¿No? Es decir 357 00:15:09,600 --> 00:15:11,840 nota examen menor que 5 358 00:15:11,840 --> 00:15:14,120 y doble ampensado 359 00:15:14,120 --> 00:15:16,820 exacto, esta condición sería 360 00:15:16,820 --> 00:15:18,919 nota examen menor que 5 361 00:15:18,919 --> 00:15:20,000 y 362 00:15:20,000 --> 00:15:21,679 nota rec 363 00:15:21,679 --> 00:15:25,769 igual a menos 1 364 00:15:25,769 --> 00:15:28,169 esta sería la condición de aviso 365 00:15:28,169 --> 00:15:30,289 suspendiste y no te presentaste 366 00:15:30,289 --> 00:15:31,029 a recuperación 367 00:15:31,029 --> 00:15:32,190 ¿vale? 368 00:15:33,990 --> 00:15:35,409 y ya está 369 00:15:35,409 --> 00:15:41,169 vale, y vamos a por la última 370 00:15:41,169 --> 00:15:43,350 así de repasito 371 00:15:43,350 --> 00:16:02,600 Vale, estamos otra vez 372 00:16:02,600 --> 00:16:05,940 En la puerta de una discoteca 373 00:16:05,940 --> 00:16:08,759 O ya no existen las discotecas 374 00:16:08,759 --> 00:16:10,419 Ya no existen 375 00:16:10,419 --> 00:16:12,399 ¿En serio? 376 00:16:13,600 --> 00:16:14,440 ¿Y ahora que existen? 377 00:16:14,440 --> 00:16:15,600 Ahora existen 378 00:16:15,600 --> 00:16:21,340 Qué triste, ¿no? 379 00:16:22,820 --> 00:16:23,580 Bueno, pues no 380 00:16:23,580 --> 00:16:26,179 Vale, pues estamos en la puerta 381 00:16:26,179 --> 00:16:27,879 De una 382 00:16:27,879 --> 00:16:30,539 de vuestro dormitorio 383 00:16:30,539 --> 00:16:31,500 o del fortnite 384 00:16:31,500 --> 00:16:33,620 vale, ¿se permite el acceso? 385 00:16:34,399 --> 00:16:34,620 dime 386 00:16:34,620 --> 00:16:36,519 ¿eh? 387 00:16:41,659 --> 00:16:43,980 bueno, lo podemos luego poner en el eclipse 388 00:16:43,980 --> 00:16:45,039 para ver cómo funciona 389 00:16:45,039 --> 00:16:46,919 ¿estos mismos te refieres? 390 00:16:47,139 --> 00:16:49,740 sí, podemos luego escribirlo para comprobar 391 00:16:49,740 --> 00:16:50,519 que lo estamos haciendo bien 392 00:16:50,519 --> 00:16:52,840 vale, este de aquí 393 00:16:52,840 --> 00:16:55,879 estamos en la puerta de donde sea 394 00:16:55,879 --> 00:16:57,639 y solo se permite 395 00:16:57,639 --> 00:16:59,399 entrar a mayores de 18 396 00:16:59,399 --> 00:17:01,379 o 397 00:17:01,379 --> 00:17:03,340 a personas mayores de 21 398 00:17:03,340 --> 00:17:05,859 que acompañen a un menor de edad 399 00:17:05,859 --> 00:17:06,920 entonces, aquí 400 00:17:06,920 --> 00:17:09,420 este enunciado está un poco más raro puesto 401 00:17:09,420 --> 00:17:11,539 el tema es 402 00:17:11,539 --> 00:17:12,799 las entradas, ¿cuáles son? 403 00:17:14,039 --> 00:17:15,240 ¿vale? pues entonces 404 00:17:15,240 --> 00:17:16,980 aquí las entradas serían 405 00:17:16,980 --> 00:17:21,400 como no podemos hacer un bucle para 406 00:17:21,400 --> 00:17:23,359 aquí en este programa 407 00:17:23,359 --> 00:17:25,579 generalizado, es que te llega 408 00:17:25,579 --> 00:17:27,720 un grupo de personas, pero habría que ir en bucle 409 00:17:27,720 --> 00:17:29,579 para decirle a cada uno, puedes, puedes, puedes 410 00:17:29,579 --> 00:17:31,839 entonces no podemos hacerlo todavía con bucle 411 00:17:31,839 --> 00:17:33,599 aquí llegan dos personas 412 00:17:33,599 --> 00:17:35,200 los datos de entrada son 413 00:17:35,200 --> 00:17:38,400 edad 1 414 00:17:38,400 --> 00:17:40,420 y edad 2 415 00:17:40,420 --> 00:17:41,880 llegan dos personas 416 00:17:41,880 --> 00:17:43,140 y ahora 417 00:17:43,140 --> 00:17:46,220 el resultado de mi programa es 418 00:17:46,220 --> 00:17:48,440 a la venga, va dentro las dos 419 00:17:48,440 --> 00:17:49,519 o 420 00:17:49,519 --> 00:17:52,779 tú sí y tú no 421 00:17:52,779 --> 00:18:00,339 es decir, vamos a poner 422 00:18:00,339 --> 00:18:01,400 tres condiciones 423 00:18:01,400 --> 00:18:11,269 que serían, entran las dos 424 00:18:11,269 --> 00:18:16,710 Porque luego entra la primera y entra la segunda 425 00:18:16,710 --> 00:18:18,069 Esas dos condiciones ni las pongo 426 00:18:18,069 --> 00:18:23,150 Porque entra la primera sería edad mayor o igual 1 que 18 427 00:18:23,150 --> 00:18:25,450 Entra la segunda edad mayor o igual 2 que 18 428 00:18:25,450 --> 00:18:26,230 Eso no nos importa 429 00:18:26,230 --> 00:18:28,630 Vamos a poner la condición de que entren las dos 430 00:18:28,630 --> 00:18:30,109 Vale, entra 431 00:18:30,109 --> 00:18:32,609 ¿Cómo pondréis esa condición? 432 00:18:34,589 --> 00:18:35,630 Pues edad 1 433 00:18:35,630 --> 00:18:40,950 Edad 1 434 00:18:40,950 --> 00:18:42,990 Mayor o igual que 18 435 00:18:42,990 --> 00:18:43,569 18 436 00:18:43,569 --> 00:18:46,549 Y la segunda también 437 00:18:46,549 --> 00:18:48,309 o sea, las dos mayores 438 00:18:48,309 --> 00:18:58,240 ¿que somos dos personas? 439 00:18:59,000 --> 00:19:00,099 sí, sí, sí, entonces 440 00:19:00,099 --> 00:19:02,519 la respuesta es, entran las dos 441 00:19:02,519 --> 00:19:04,259 o no entran las dos 442 00:19:04,259 --> 00:19:06,519 en ese caso podría entrar una de ellas 443 00:19:06,519 --> 00:19:08,680 pero eso no nos importa, la condición que quería 444 00:19:08,680 --> 00:19:10,660 yo reflejar aquí es que entran las dos 445 00:19:10,660 --> 00:19:13,059 cuando los datos de entrada son sus edades 446 00:19:13,059 --> 00:19:16,819 si pasa esto, está claro que entran las dos 447 00:19:16,819 --> 00:19:18,819 pero habrá más situaciones 448 00:19:18,819 --> 00:19:20,960 en las que también entran las dos 449 00:19:20,960 --> 00:19:22,519 luego ahí habrá honor, ¿no? 450 00:19:22,519 --> 00:19:25,720 Con esta está claro, si las dos son mayores de edad 451 00:19:25,720 --> 00:19:26,500 Las dos entran 452 00:19:26,500 --> 00:19:28,980 Pero también en otra situación 453 00:19:28,980 --> 00:19:30,559 Luego ahí falta un or 454 00:19:30,559 --> 00:19:33,180 Vale, pues ¿qué pondríais? 455 00:19:33,640 --> 00:19:34,380 Pues edad 456 00:19:34,380 --> 00:19:41,579 Edad 1 mayor igual que 21 457 00:19:41,579 --> 00:19:48,650 Y seguro que 458 00:19:48,650 --> 00:19:48,809 Y 459 00:19:48,809 --> 00:19:56,279 Bueno, sí, me vale 460 00:19:56,279 --> 00:19:58,200 Con uno de ellos 461 00:19:58,200 --> 00:20:00,500 ¿Te vale con una de ellas? 462 00:20:01,460 --> 00:20:01,980 Claro 463 00:20:01,980 --> 00:20:11,750 o, ¿verdad? 464 00:20:12,170 --> 00:20:14,269 Si no son mayores de edad las dos, 465 00:20:15,109 --> 00:20:16,390 con que una de las dos 466 00:20:16,390 --> 00:20:18,230 sea mayor que 21, ya va a entrar la otra. 467 00:20:19,289 --> 00:20:19,890 Con lo cual, 468 00:20:20,089 --> 00:20:22,130 asumiendo que no son mayores de edad 469 00:20:22,130 --> 00:20:23,890 las dos, entonces 470 00:20:23,890 --> 00:20:26,190 o bien si es la 471 00:20:26,190 --> 00:20:28,109 primera mayor de 21, o bien si es la 472 00:20:28,109 --> 00:20:29,029 segunda, ya entra. 473 00:20:35,880 --> 00:20:37,680 Pero la segunda no es como 474 00:20:37,680 --> 00:20:39,859 redundante de la primera, 475 00:20:39,859 --> 00:20:41,660 porque si la primera es más difícil, obviamente es 476 00:20:41,660 --> 00:20:43,880 la que más grande es. 477 00:20:44,519 --> 00:20:45,420 Claro, pero es 478 00:20:45,420 --> 00:20:58,880 No, pero no es redundante porque tú aquí entras si esta es falsa y esta será falsa si alguna de las dos, no sabemos cuál, es menor de edad. O sea, si las dos fueran mayores de edad, aquí ni entras. 479 00:20:58,880 --> 00:21:01,420 pero si una de las dos 480 00:21:01,420 --> 00:21:03,640 no sabemos cuál ya falla 481 00:21:03,640 --> 00:21:04,240 aquí 482 00:21:04,240 --> 00:21:07,099 el AND es falso y ya entraría 483 00:21:07,099 --> 00:21:09,420 entonces no sabemos cuál de las dos 484 00:21:09,420 --> 00:21:11,500 ha fallado, pero sí sabemos 485 00:21:11,500 --> 00:21:13,619 que si la primera es mayor o igual que 21 486 00:21:13,619 --> 00:21:15,380 o si la segunda 487 00:21:15,380 --> 00:21:16,200 es mayor o igual que 21 488 00:21:16,200 --> 00:21:17,819 va a entrar la otra 489 00:21:17,819 --> 00:21:23,440 claro, tienes que reflejar 490 00:21:23,440 --> 00:21:25,359 todo lo que te dice el enunciado 491 00:21:25,359 --> 00:21:27,420 entonces aquí no hay forma de quitar nada 492 00:21:27,420 --> 00:21:29,779 vale, nada, esto no lo puedes 493 00:21:29,779 --> 00:21:30,640 simplificar más 494 00:21:30,640 --> 00:21:35,529 Creo que sería edad 2. 495 00:21:35,670 --> 00:21:36,809 Sí, perdón, perdón. 496 00:21:38,289 --> 00:21:38,730 Perdón. 497 00:21:40,430 --> 00:21:42,430 Creo que se puede simplificar mucho. 498 00:21:42,930 --> 00:21:43,410 Bueno, a ver. 499 00:21:45,809 --> 00:21:46,329 ¿Cómo? 500 00:21:47,029 --> 00:21:48,130 ¿Qué estás pensando? 501 00:21:48,609 --> 00:21:50,630 Edad 1 mayor o igual que 21. 502 00:21:51,710 --> 00:21:55,470 Sí, o sea, más que simplificar, cambiar el orden, efectivamente. 503 00:21:56,150 --> 00:21:57,809 Podríamos poner si edad 2 es mayor o igual que 21. 504 00:21:58,309 --> 00:22:00,410 O edad 2 es mayor o igual que 21. 505 00:22:00,730 --> 00:22:01,990 O ahora ya es. 506 00:22:02,210 --> 00:22:06,269 Es decir, podemos cambiar el orden y poner estas dos al principio. 507 00:22:06,549 --> 00:22:10,630 Entonces, más que, o sea, me refiero a simplificar en cuanto a código, 508 00:22:11,269 --> 00:22:12,450 no, va a aparecer todo. 509 00:22:12,930 --> 00:22:16,410 Pero cambiando el orden, lo que puedes conseguir efectivamente 510 00:22:16,410 --> 00:22:19,190 es que la ejecución termine antes. 511 00:22:19,509 --> 00:22:22,250 Porque ya, en cuanto vea esta, ya está. 512 00:22:23,769 --> 00:22:27,190 También es cierto que si la haces mayor o igual que 21, bueno, sí, 513 00:22:27,910 --> 00:22:30,269 va a tener que evaluar las dos siempre obligatoriamente. 514 00:22:30,269 --> 00:22:33,190 Entonces sí, se optimiza ya la ejecución 515 00:22:33,190 --> 00:22:34,690 Si lo cambiáramos de orden 516 00:22:34,690 --> 00:22:36,730 Vale, vamos a escribirlas 517 00:22:36,730 --> 00:22:38,750 Para que 518 00:22:38,750 --> 00:22:40,950 Queden más claro entonces 519 00:22:40,950 --> 00:22:47,140 Una tercera opción 520 00:22:47,140 --> 00:22:47,619 ¿Dónde? 521 00:22:48,900 --> 00:22:51,059 Ahora cuando la escribimos a ver si lo vemos más claro 522 00:22:51,059 --> 00:22:57,029 Pero ahí entra 523 00:22:57,029 --> 00:22:58,250 O sea, si uno es mayor de 21 524 00:22:58,250 --> 00:22:59,990 La edad del otro no importa 525 00:22:59,990 --> 00:23:19,569 Vale, pues aquí teníamos precisamente 526 00:23:19,569 --> 00:23:21,630 El programita de 527 00:23:21,630 --> 00:23:24,109 Boolean 528 00:23:24,109 --> 00:23:29,579 El programita de Boolean 529 00:23:29,579 --> 00:23:31,019 Donde 530 00:23:31,019 --> 00:23:35,039 Pusimos ayer el ejemplo 531 00:23:35,039 --> 00:23:36,579 De la diferencia entre poner 532 00:23:36,579 --> 00:23:38,420 El 533 00:23:38,420 --> 00:23:41,900 Doble ampersand 534 00:23:41,900 --> 00:23:43,420 O el simple 535 00:23:43,420 --> 00:23:44,559 ¿Vale? 536 00:23:50,250 --> 00:23:52,130 Vale, a ver 537 00:23:52,130 --> 00:23:59,559 Venga, pues vamos a poner aquí 538 00:23:59,559 --> 00:24:01,519 Ejemplos de 539 00:24:01,519 --> 00:24:03,859 Condiciones, los que hemos visto 540 00:24:03,859 --> 00:24:04,319 Antes 541 00:24:04,319 --> 00:24:08,920 Pues la primera, mayor de edad y permiso 542 00:24:08,920 --> 00:24:11,200 O mayor de 16 y permiso 543 00:24:11,200 --> 00:24:12,339 Aquí 544 00:24:12,339 --> 00:24:15,079 Esta era 545 00:24:15,079 --> 00:24:23,519 Mayor de edad o mayor de 16 con permiso 546 00:24:23,519 --> 00:24:26,140 Entonces, aquí los datos de entrada 547 00:24:26,140 --> 00:24:31,740 Los datos de entrada son dos 548 00:24:31,740 --> 00:24:37,720 La edad y el permiso 549 00:24:37,720 --> 00:24:55,799 Entonces, la condición sería esta 550 00:24:55,799 --> 00:24:57,720 Eres mayor de edad 551 00:24:57,720 --> 00:25:09,059 O en el caso de que no seas mayor de edad 552 00:25:09,059 --> 00:25:10,819 O en el caso de que no lo seas 553 00:25:10,819 --> 00:25:14,180 Al menos eres mayor o igual de 16 554 00:25:14,180 --> 00:25:22,809 Y siendo mayor o igual de 16 555 00:25:22,809 --> 00:25:26,670 Tienes permiso paterno 556 00:25:26,670 --> 00:25:31,430 ¿Vale? Esta sería la condición 557 00:25:31,430 --> 00:25:33,990 Aquí si se nos ha puesto en rojo 558 00:25:33,990 --> 00:25:36,049 Es porque dice, oye, que Daz y Permiso no tienen valores 559 00:25:36,049 --> 00:25:38,190 Claro, habría que darle a Daz y Permiso 560 00:25:38,190 --> 00:25:40,130 Pues los valores que fueran 561 00:25:40,130 --> 00:25:41,529 Por teclado, por donde fuera 562 00:25:41,529 --> 00:25:42,670 ¿Vale? Eso ya 563 00:25:42,670 --> 00:25:59,650 Entonces 564 00:25:59,650 --> 00:26:03,569 No pasa nada 565 00:26:03,569 --> 00:26:05,569 Porque sobre en paréntesis 566 00:26:05,569 --> 00:26:07,730 Si dejan las cosas claras 567 00:26:07,730 --> 00:26:09,690 No pasa nada si sobre en paréntesis 568 00:26:09,690 --> 00:26:10,650 ¿Vale? 569 00:26:11,309 --> 00:26:13,369 Aquí está claro que es el or 570 00:26:13,369 --> 00:26:15,170 O de esta cosa de aquí 571 00:26:15,170 --> 00:26:16,650 O de esta otra 572 00:26:16,650 --> 00:26:19,450 Entonces por eso ponemos un paréntesis 573 00:26:19,450 --> 00:26:21,289 Para que quede claro que es una o otra 574 00:26:21,289 --> 00:26:27,289 Es que está amontonando 575 00:26:27,289 --> 00:26:33,440 A mí me han recomendado que me lo tome 576 00:26:33,440 --> 00:26:36,519 Ya, pues entonces haber bajado después de haber comido 577 00:26:36,519 --> 00:26:38,299 Haber subido 578 00:26:38,299 --> 00:26:39,940 Después de haber comido 579 00:26:39,940 --> 00:26:42,119 Como que no pasa nada 580 00:26:42,119 --> 00:26:42,940 Claro que pasa 581 00:26:42,940 --> 00:26:45,400 No pasa nada, dice 582 00:26:45,400 --> 00:26:49,720 Ay, Dios mío 583 00:26:49,720 --> 00:26:53,640 ¿Tenéis un morro en general? 584 00:26:55,539 --> 00:26:56,180 Tremendo. 585 00:26:56,920 --> 00:26:57,339 Vale. 586 00:26:58,700 --> 00:27:01,539 Entonces, no pasa nada porque sobre en paréntesis 587 00:27:01,539 --> 00:27:02,900 y dejan las cosas claras. 588 00:27:03,980 --> 00:27:04,220 ¿Vale? 589 00:27:04,559 --> 00:27:07,700 Aquí está muy claro que es una cosa o la otra. 590 00:27:08,599 --> 00:27:10,660 Entonces, mejor que lo dejamos con paréntesis. 591 00:27:11,880 --> 00:27:15,119 En general, los operadores OR y AN 592 00:27:15,119 --> 00:27:18,660 son como si fueran sumas sin multiplicación, 593 00:27:18,660 --> 00:27:20,839 sumas, estos 594 00:27:20,839 --> 00:27:22,059 como si fueran sumas 595 00:27:22,059 --> 00:27:25,119 y estos como si fueran multiplicaciones. 596 00:27:26,240 --> 00:27:26,720 Entonces, 597 00:27:29,079 --> 00:27:30,819 ahora lo vamos a comprobar, porque 598 00:27:30,819 --> 00:27:32,400 eso no lo recuerdo muy bien. 599 00:27:33,299 --> 00:27:34,839 En principio, como esto es como si fuera 600 00:27:34,839 --> 00:27:36,859 multiplicación, tendría más 601 00:27:36,859 --> 00:27:39,019 prioridad. Entonces, aunque yo quito el paréntesis 602 00:27:39,019 --> 00:27:39,839 no pasaría nada. 603 00:27:40,940 --> 00:27:42,859 Pero no es buena práctica. Es decir, 604 00:27:43,400 --> 00:27:44,740 imaginaos que yo quito 605 00:27:44,740 --> 00:27:46,279 aquí este paréntesis. 606 00:27:46,279 --> 00:27:50,240 Quito aquí el paréntesis y dejo aquí la condición esta 607 00:27:50,240 --> 00:27:52,789 Vale 608 00:27:52,789 --> 00:27:54,769 Entonces 609 00:27:54,769 --> 00:27:57,150 Si la máquina virtual 610 00:27:57,150 --> 00:27:59,109 Ahora ya al no ver paréntesis 611 00:27:59,109 --> 00:28:00,609 Empezara 612 00:28:00,609 --> 00:28:02,930 A trabajar de izquierda a derecha 613 00:28:02,930 --> 00:28:05,470 Esta condición ya habría perdido su sentido 614 00:28:05,470 --> 00:28:07,589 Completamente, habría perdido su sentido 615 00:28:07,589 --> 00:28:10,170 ¿Edad mayor igual que 18? 616 00:28:10,369 --> 00:28:10,670 No 617 00:28:10,670 --> 00:28:12,410 Tengo un or, tengo que seguir 618 00:28:12,410 --> 00:28:15,569 ¿Edad mayor igual que 16? Uy sí, quiere 17 619 00:28:15,569 --> 00:28:17,190 Ya tiene un true 620 00:28:17,190 --> 00:28:19,690 con lo cual como ya tiene un true 621 00:28:19,690 --> 00:28:20,509 ¿vale? 622 00:28:21,190 --> 00:28:23,269 pero claro, es que tiene un and detrás 623 00:28:23,269 --> 00:28:24,650 y el and 624 00:28:24,650 --> 00:28:26,930 vamos a confirmarlo ahora 625 00:28:26,930 --> 00:28:29,589 yo siempre uso paréntesis, es como un más 626 00:28:29,589 --> 00:28:31,430 entonces tiene prioridad respecto al or 627 00:28:31,430 --> 00:28:33,009 entonces se haría primero esto 628 00:28:33,009 --> 00:28:35,170 ¿vale? pero 629 00:28:35,170 --> 00:28:37,670 en general siempre es 630 00:28:37,670 --> 00:28:39,190 muchísima mejor práctica 631 00:28:39,190 --> 00:28:41,269 para que quede todo más claro y no nos confundamos 632 00:28:41,269 --> 00:28:42,710 con el paréntesis 633 00:28:42,710 --> 00:28:45,269 cuando tengamos claro lo que queremos hacer 634 00:28:45,269 --> 00:28:47,230 y así nunca jamás va a haber un problema. 635 00:28:47,369 --> 00:28:48,170 No dependemos 636 00:28:48,170 --> 00:28:50,890 de la prioridad de los operadores 637 00:28:50,890 --> 00:28:53,250 porque a lo mejor no conocemos al dedillo 638 00:28:53,250 --> 00:28:55,470 la prioridad o no la recordamos. 639 00:28:56,130 --> 00:28:56,950 Este es el ejemplo 640 00:28:56,950 --> 00:28:58,509 de cuando le pedimos a HGPT 641 00:28:58,509 --> 00:29:00,670 el chorizo es horroroso de cosas 642 00:29:00,670 --> 00:29:02,789 y no acertamos ni una 643 00:29:02,789 --> 00:29:05,130 porque al final recordar 644 00:29:05,130 --> 00:29:06,789 exactamente la prioridad en la que hacen las cosas 645 00:29:06,789 --> 00:29:09,269 es complicado. ¿Cómo arreglas eso? 646 00:29:09,769 --> 00:29:11,150 Pon paréntesis siempre 647 00:29:11,150 --> 00:29:13,130 para clarificarle las cosas a la máquina 648 00:29:13,130 --> 00:29:15,250 virtual. Si pones un paréntesis 649 00:29:15,250 --> 00:29:17,329 le dices, cuidado que esto va junto 650 00:29:17,329 --> 00:29:18,730 haz esto primero 651 00:29:18,730 --> 00:29:21,450 y luego ya puedes hacer el or con el 652 00:29:21,450 --> 00:29:23,029 ya estamos 653 00:29:23,029 --> 00:29:25,309 y luego ya puedes hacer el or con el otro 654 00:29:25,309 --> 00:29:27,230 ¿vale? 655 00:29:28,009 --> 00:29:29,049 entonces paréntesis 656 00:29:29,049 --> 00:29:30,589 mejor que sobren que no que falten 657 00:29:30,589 --> 00:29:33,349 pero dicho esto, vamos a confirmarlo 658 00:29:33,349 --> 00:29:35,390 porque ahora mismo no estoy seguramente segura 659 00:29:35,390 --> 00:29:37,250 el and como es como una multiplicación 660 00:29:37,970 --> 00:29:39,470 creo que tiene prioridad 661 00:29:39,470 --> 00:29:41,069 respecto al or que es como una suma 662 00:29:41,069 --> 00:29:42,549 entonces aunque quitaramos el paréntesis 663 00:29:43,549 --> 00:29:44,910 creo que haría 664 00:29:44,910 --> 00:29:46,910 primero esto antes de 665 00:29:46,910 --> 00:29:49,329 juntarlo al otro, pero vamos a comprobarlo 666 00:29:49,329 --> 00:29:51,309 ¿vale? en cualquier caso, lo haga o no lo haga 667 00:29:51,309 --> 00:29:53,109 no olvidéis los paréntesis 668 00:29:53,109 --> 00:29:53,569 siempre 669 00:29:53,569 --> 00:29:55,809 vamos a 670 00:29:55,809 --> 00:29:59,269 comprobarlo, vamos a ejecutar este 671 00:29:59,269 --> 00:30:03,839 programita 672 00:30:03,839 --> 00:30:05,539 de aquí, poniendo 673 00:30:05,539 --> 00:30:06,960 como edad 17 674 00:30:06,960 --> 00:30:11,130 entonces, y con permiso 675 00:30:11,130 --> 00:30:11,609 falso 676 00:30:11,609 --> 00:30:14,849 con estos dos datos 677 00:30:14,849 --> 00:30:17,049 y con los paréntesis 678 00:30:17,049 --> 00:30:18,769 me va a dar falso 679 00:30:18,769 --> 00:30:24,539 Lo siento, pero no puedes entrar donde sea. 680 00:30:25,400 --> 00:30:27,119 Me va a dar permiso falso. 681 00:30:27,640 --> 00:30:30,140 Porque aunque la edad es mayor o igual que 16, 682 00:30:30,339 --> 00:30:32,319 y esto es true, al hacer el and con permiso, 683 00:30:32,420 --> 00:30:35,960 que permiso es falso, pues el and es falso. 684 00:30:36,700 --> 00:30:39,940 Luego me queda falso or falso falso. 685 00:30:40,960 --> 00:30:43,099 Vamos a comprobar que esto me da falso. 686 00:30:51,410 --> 00:30:52,650 Efectivamente me da falso. 687 00:30:52,650 --> 00:30:53,170 Vale. 688 00:30:55,029 --> 00:30:57,930 Ahora resulta que yo no he puesto los paréntesis. 689 00:30:58,049 --> 00:31:00,630 porque estoy confiando 690 00:31:00,630 --> 00:31:03,349 en que el operador AND 691 00:31:03,349 --> 00:31:05,650 es prioritario frente al OR 692 00:31:05,650 --> 00:31:08,250 entonces va a hacer esto 693 00:31:08,250 --> 00:31:09,910 antes de hacer el OR 694 00:31:09,910 --> 00:31:11,789 luego me da igual 695 00:31:11,789 --> 00:31:12,789 poner paréntesis que no 696 00:31:12,789 --> 00:31:14,910 entonces en este caso 697 00:31:14,910 --> 00:31:16,329 me debería salir false también 698 00:31:16,329 --> 00:31:18,890 si resulta que el AND no es prioritario 699 00:31:18,890 --> 00:31:19,710 que yo creo que sí 700 00:31:19,710 --> 00:31:20,690 es lo que vamos a comprobar 701 00:31:20,690 --> 00:31:22,369 tendríamos un problema 702 00:31:22,369 --> 00:31:24,069 porque con edad 17 703 00:31:24,069 --> 00:31:27,230 sería false OR true 704 00:31:27,230 --> 00:31:28,769 Ya tendríamos el true 705 00:31:28,769 --> 00:31:30,089 ¿Vale? 706 00:31:35,140 --> 00:31:37,480 Ah, no, no, claro, vale, vale, vale, perdón, perdón 707 00:31:37,480 --> 00:31:39,859 Claro, tendríamos el true aquí, efectivamente 708 00:31:39,859 --> 00:31:41,819 Pero luego llegaría el and 709 00:31:41,819 --> 00:31:43,960 O sea, aunque no sea prioritario, saldrá bien 710 00:31:43,960 --> 00:31:45,579 Luego llegaría el and 711 00:31:45,579 --> 00:31:47,240 Que es con permiso false 712 00:31:47,240 --> 00:31:49,079 Y me diría false, ¿vale? 713 00:31:49,119 --> 00:31:51,380 Entonces esto, independientemente de la prioridad 714 00:31:51,380 --> 00:31:52,660 Este ejemplo en concreto 715 00:31:52,660 --> 00:31:55,440 Este ejemplo me va a salir false 716 00:31:55,440 --> 00:31:57,380 Independientemente 717 00:31:58,079 --> 00:31:59,279 De que haga primero 718 00:31:59,279 --> 00:32:00,980 ¿Vale? 719 00:32:03,500 --> 00:32:05,839 Porque con 17 esto me sale true. 720 00:32:06,900 --> 00:32:08,640 Pero luego ya viene el and detrás. 721 00:32:09,299 --> 00:32:11,180 Y ese and ya me dice un permiso falso. 722 00:32:13,680 --> 00:32:16,980 Luego, en este caso concreto, me da igual. 723 00:32:17,099 --> 00:32:18,519 Poner paréntesis que no. 724 00:32:19,259 --> 00:32:19,480 ¿Vale? 725 00:32:23,799 --> 00:32:26,440 Porque en el otro ejemplo, si ponemos aquí un true. 726 00:32:31,660 --> 00:32:34,519 No, en este ejemplo en concreto, es que da igual. 727 00:32:34,519 --> 00:32:37,059 Porque aunque no tuviera prioridad y haciéndolo en línea. 728 00:32:37,539 --> 00:32:37,819 ¿Vale? 729 00:32:37,819 --> 00:32:40,660 esto le daría 730 00:32:40,660 --> 00:32:42,920 false, esto le daría 731 00:32:42,920 --> 00:32:44,619 true, con lo cual el total 732 00:32:44,619 --> 00:32:46,680 sería true, pero es que ahora le falta 733 00:32:46,680 --> 00:32:48,660 un and, con lo cual ahora dependemos de lo que viene 734 00:32:48,660 --> 00:32:50,880 después, ahora dependemos de permiso 735 00:32:50,880 --> 00:32:52,599 entonces si permiso es false va a ser false 736 00:32:52,599 --> 00:32:53,259 igualmente 737 00:32:53,259 --> 00:32:56,839 claro, aunque el anterior sea true 738 00:32:56,839 --> 00:32:58,900 entonces, si permiso 739 00:32:58,900 --> 00:33:00,299 fuera a ver 740 00:33:00,299 --> 00:33:02,559 si hay alguna, es que esta como es muy 741 00:33:02,559 --> 00:33:04,400 sencilla, a ver si hay alguna combinación de variables 742 00:33:04,400 --> 00:33:06,640 en las cuales, o sea si permiso 743 00:33:06,640 --> 00:33:10,720 es true y edad 744 00:33:10,720 --> 00:33:11,839 es 745 00:33:11,839 --> 00:33:14,480 claro 746 00:33:14,480 --> 00:33:16,380 si edad es 15, es que esta es muy sencilla 747 00:33:16,380 --> 00:33:17,759 con lo cual da igual la prioridad 748 00:33:17,759 --> 00:33:20,539 porque si edad es 15 y permiso 749 00:33:20,539 --> 00:33:22,480 es true, tenemos 750 00:33:22,480 --> 00:33:24,259 false or 751 00:33:24,259 --> 00:33:25,720 false, false 752 00:33:25,720 --> 00:33:28,500 y ahora false and cualquier cosa 753 00:33:28,500 --> 00:33:29,559 seguiría siendo true 754 00:33:29,559 --> 00:33:32,579 entonces aquí si hacemos la tabla 755 00:33:32,579 --> 00:33:34,440 de verdad de estas condiciones 756 00:33:34,440 --> 00:33:36,000 y la tabla de verdad 757 00:33:36,000 --> 00:33:36,900 es 758 00:33:36,900 --> 00:33:39,140 en función 759 00:33:39,140 --> 00:33:41,220 de todas las combinaciones posibles 760 00:33:41,220 --> 00:33:41,900 que me sale 761 00:33:41,900 --> 00:33:45,099 pues aquí me da igual poner paréntesis 762 00:33:45,099 --> 00:33:46,900 que no, que por la condición 763 00:33:46,900 --> 00:33:48,240 que tengo 764 00:33:48,240 --> 00:33:50,940 siempre el resultado va a ser 765 00:33:50,940 --> 00:33:53,000 true o false correctamente 766 00:33:53,000 --> 00:33:53,859 ¿vale? 767 00:33:54,500 --> 00:33:57,160 pero siempre es buena práctica 768 00:33:57,160 --> 00:33:59,380 porque las condiciones pueden ser más complejas 769 00:33:59,380 --> 00:34:00,980 que 770 00:34:00,980 --> 00:34:02,599 agrupeis en paréntesis 771 00:34:02,599 --> 00:34:05,119 para tener muy claro las cláusulas de vuestra 772 00:34:05,119 --> 00:34:09,019 condición. Que luego una vez que tenéis la condición escrita, veis que el paréntesis 773 00:34:09,019 --> 00:34:13,280 sobra, lo podéis quitar. Pero es que no molesta. 774 00:34:13,440 --> 00:34:17,079 O sea, un paréntesis no molesta en un código. Al contrario, cuanto más 775 00:34:17,079 --> 00:34:21,079 paréntesis, bueno, siempre y cuando no anides mil, pero cuanto más claro dejes un código 776 00:34:21,079 --> 00:34:23,099 mejor. ¿Vale? 777 00:34:24,840 --> 00:34:28,780 La otra condición que habíamos dicho. 778 00:34:29,880 --> 00:34:32,340 Vale, voy a parar para que no se salga.