1 00:00:01,330 --> 00:00:20,449 Bueno, pues ayer estábamos viendo los operadores que podemos usar en nuestras expresiones Java para hacer operaciones que nos devuelvan valores y esos valores, ¿a dónde van a ir? ¿Para qué están pensados los valores resultantes de una expresión? 2 00:00:20,449 --> 00:00:26,980 para asignarse a una variable, ¿verdad? 3 00:00:28,879 --> 00:00:31,320 ¿Vale? Estamos en este contexto, lógicamente. 4 00:00:31,460 --> 00:00:36,119 Estamos en la sentencia de asignación, 5 00:00:36,240 --> 00:00:38,859 que ya sabemos que es nombre de la variable, 6 00:00:39,020 --> 00:00:41,420 el que sea variable previamente declarada, 7 00:00:42,100 --> 00:00:42,859 igual a valor. 8 00:00:42,859 --> 00:00:48,719 Y este valor, ya en términos generales, 9 00:00:49,500 --> 00:00:51,460 puede ser una expresión. 10 00:00:51,759 --> 00:01:00,200 Esta expresión involucrará números, letras, depende si estamos hablando de cadenas, 11 00:01:00,979 --> 00:01:08,980 otras variables que tienen cosas, pues involucrará números, variables, cadenas y operadores. 12 00:01:09,319 --> 00:01:13,060 Lo que estamos viendo son los operadores que tenemos para formar expresiones. 13 00:01:13,519 --> 00:01:17,400 Para formar expresiones que representen lo que nosotros queremos. 14 00:01:17,400 --> 00:01:19,719 y sobre todo para entender 15 00:01:19,719 --> 00:01:22,099 expresiones ya hechas que vemos en los juegos 16 00:01:22,099 --> 00:01:23,980 ¿vale? para entenderlas 17 00:01:23,980 --> 00:01:26,019 y para desarrollar esa soltura 18 00:01:26,019 --> 00:01:26,760 y ese manejo 19 00:01:26,760 --> 00:01:29,939 ¿vale? recordad que los conocimientos de base 20 00:01:29,939 --> 00:01:32,180 son imprescindibles 21 00:01:32,180 --> 00:01:34,040 para luego 22 00:01:34,040 --> 00:01:36,040 tener la soltura para poder moverte 23 00:01:36,040 --> 00:01:37,299 ya en otros contextos 24 00:01:37,299 --> 00:01:39,000 me da igual que el contexto sea 25 00:01:39,000 --> 00:01:42,319 elaborar, mantener un desarrollo 26 00:01:42,319 --> 00:01:43,980 que te ha hecho la IA o modificarlo 27 00:01:43,980 --> 00:01:45,060 o el contexto sea 28 00:01:45,060 --> 00:01:47,140 tengo, mi trabajo es 29 00:01:47,140 --> 00:01:48,859 darle ideas a mi jefe 30 00:01:48,859 --> 00:01:50,819 para que el abue de proyectos, me da igual 31 00:01:50,819 --> 00:01:52,819 vuestro contexto de trabajo, ¿vale? 32 00:01:53,799 --> 00:01:54,560 Lo va a hacer bien 33 00:01:54,560 --> 00:01:57,239 aquel que tenga los conocimientos de base 34 00:01:57,239 --> 00:01:59,200 con la suficiente soltura, suficiente 35 00:01:59,200 --> 00:02:01,060 entrenamiento para saber de qué está 36 00:02:01,060 --> 00:02:02,159 hablando, ¿vale? 37 00:02:03,299 --> 00:02:04,739 Bueno, pues en eso estamos. 38 00:02:05,620 --> 00:02:06,980 ¿Con qué operador estábamos 39 00:02:06,980 --> 00:02:08,840 en particular? Con estos de aquí, 40 00:02:09,780 --> 00:02:11,520 ¿vale? El incremento 41 00:02:11,520 --> 00:02:12,819 y el decremento. 42 00:02:13,300 --> 00:02:14,900 Estábamos con estos operadores. 43 00:02:15,060 --> 00:02:33,580 Entonces, estos operadores en sí mismos ya son una asignación, ¿vale? Es decir, si yo tengo una variable a, esto es una sentencia válida, ¿vale? Ese operador en sí mismo ya es una asignación. 44 00:02:33,580 --> 00:02:40,639 ¿Por qué? Porque esto significaba A igual a A más 1 45 00:02:40,639 --> 00:02:43,979 ¿Vale? Poner esto y poner esto es lo mismo 46 00:02:43,979 --> 00:02:51,259 Luego este operador engloba dentro de sí una asignación y una suma 47 00:02:51,259 --> 00:02:55,500 Engloba las dos cosas, es una forma abreviada 48 00:02:55,500 --> 00:03:01,939 Igual que menos menos A ya es una sentencia válida 49 00:03:01,939 --> 00:03:12,939 ¿Qué es lo que significa? A igual a menos uno. El menos menos engloba dentro de sí tanto una asignación como una resta. 50 00:03:15,060 --> 00:03:27,280 Y también lo puedo poner detrás. Ya vimos ayer A más más. También es una sentencia válida. Es una sentencia válida que es idéntica a esta. 51 00:03:27,280 --> 00:03:29,860 idéntica a esta 52 00:03:29,860 --> 00:03:32,819 y a menos menos 53 00:03:32,819 --> 00:03:35,900 es una sentencia válida 54 00:03:35,900 --> 00:03:38,680 que es idéntica a esta 55 00:03:38,680 --> 00:03:45,259 entonces según esto 56 00:03:45,259 --> 00:03:48,180 ponerlo delante 57 00:03:48,180 --> 00:03:50,580 y ponerlo detrás 58 00:03:50,580 --> 00:03:54,129 no afecta 59 00:03:54,129 --> 00:03:57,650 porque lo que estamos haciendo es lo mismo 60 00:03:57,650 --> 00:04:00,990 estamos sumando en uno a la variable a 61 00:04:00,990 --> 00:04:02,590 y el valor resultante 62 00:04:02,590 --> 00:04:05,270 usarlo para actualizar el propio valor de a 63 00:04:05,270 --> 00:04:07,530 ¿no? 64 00:04:07,669 --> 00:04:10,569 ponerlo aquí delante o ponerlo aquí detrás 65 00:04:10,569 --> 00:04:13,689 en principio diríamos que no afecta 66 00:04:13,689 --> 00:04:14,689 estamos haciendo lo mismo 67 00:04:14,689 --> 00:04:16,410 pues sí 68 00:04:16,410 --> 00:04:18,810 hasta cierto punto es cierto 69 00:04:18,810 --> 00:04:22,529 esta expresión y esta sentencia y esta 70 00:04:22,529 --> 00:04:24,310 hacen lo mismo 71 00:04:24,310 --> 00:04:26,610 y esta sentencia y esta 72 00:04:26,610 --> 00:04:27,910 hacer lo mismo 73 00:04:27,910 --> 00:04:30,889 ¿entonces por qué la puedo escribir 74 00:04:30,889 --> 00:04:32,550 de dos maneras? ¿por qué puedo escribir 75 00:04:32,550 --> 00:04:34,649 el menos menos delante o atrás y por qué 76 00:04:34,649 --> 00:04:35,850 el más más delante o atrás? 77 00:04:36,730 --> 00:04:38,930 pues en programación, en informática 78 00:04:38,930 --> 00:04:40,949 en tecnología en general 79 00:04:40,949 --> 00:04:42,509 nada es por 80 00:04:42,509 --> 00:04:43,829 a par y porque sí 81 00:04:43,829 --> 00:04:45,589 todo tiene una explicación 82 00:04:45,589 --> 00:04:48,829 todo, ¿vale? pues existe 83 00:04:48,829 --> 00:04:50,069 dos formas de ponerlo 84 00:04:50,069 --> 00:04:51,930 delante o detrás 85 00:04:51,930 --> 00:04:53,629 porque este operador 86 00:04:53,629 --> 00:04:56,089 se puede incluir también 87 00:04:56,089 --> 00:04:58,550 dentro de expresiones 88 00:04:58,550 --> 00:05:00,449 que incluyan 89 00:05:00,449 --> 00:05:02,350 más variables y que 90 00:05:02,350 --> 00:05:04,509 den su valor 91 00:05:04,509 --> 00:05:06,110 a otra variable, ¿vale? 92 00:05:06,170 --> 00:05:08,329 Vamos a, era lo que nos quedamos viendo 93 00:05:08,329 --> 00:05:10,189 ayer al final, ¿vale? 94 00:05:10,269 --> 00:05:11,110 Que es lo que 95 00:05:11,110 --> 00:05:14,129 vamos a terminar de 96 00:05:14,129 --> 00:05:14,990 revisar ahora. 97 00:05:16,529 --> 00:05:20,459 ¿Vale? Es decir, 98 00:05:20,500 --> 00:05:22,000 esto al principio parece un poco lioso, 99 00:05:22,540 --> 00:05:24,660 pero luego es una tontería, 100 00:05:24,740 --> 00:05:26,800 es acordarse de las reglas que lo definen 101 00:05:26,800 --> 00:05:28,060 y luego al final 102 00:05:28,060 --> 00:05:39,500 lo usas en contextos mucho más sencillos, pero vamos a entender qué implica, vale. 103 00:05:40,540 --> 00:05:49,439 Pues a ver, nosotros ponemos una expresión, por ejemplo, a igual a b más c, vale, esta 104 00:05:49,439 --> 00:05:57,300 es una sentencia que ya no nos causa ningún problema, se supone que tanto a como b como 105 00:05:57,300 --> 00:05:59,220 C, son variables que se han 106 00:05:59,220 --> 00:06:01,019 declarado previamente, por supuesto 107 00:06:01,019 --> 00:06:03,079 si no lo podríamos usar, se han declarado 108 00:06:03,079 --> 00:06:03,920 previamente, vale 109 00:06:03,920 --> 00:06:07,180 y además se supone que son 110 00:06:07,180 --> 00:06:08,939 de tipos compatibles 111 00:06:08,939 --> 00:06:11,019 todo eso lo revisamos ayer 112 00:06:11,019 --> 00:06:12,759 y ya lo sabemos, vale 113 00:06:12,759 --> 00:06:15,600 entonces, tipos compatibles 114 00:06:15,600 --> 00:06:16,199 pues es 115 00:06:16,199 --> 00:06:17,959 estos dos 116 00:06:17,959 --> 00:06:20,360 son números 117 00:06:20,360 --> 00:06:22,819 pero si uno es long 118 00:06:22,819 --> 00:06:25,060 y otro es int, no pasa nada 119 00:06:25,060 --> 00:06:26,680 el int se promociona long 120 00:06:26,680 --> 00:06:28,579 y el resultado me sale long, vale 121 00:06:28,579 --> 00:06:31,019 si uno es double y otro es int 122 00:06:31,019 --> 00:06:32,959 al int se le pone el punto 0 123 00:06:32,959 --> 00:06:35,339 y ya son dos doubles, bueno, estas cosas que ya sabemos 124 00:06:35,339 --> 00:06:37,199 y luego además el resultado 125 00:06:37,199 --> 00:06:39,120 final tiene que ser 126 00:06:39,120 --> 00:06:40,360 compatible con la variable 127 00:06:40,360 --> 00:06:43,139 ¿qué significa compatible? que sea el mismo tipo 128 00:06:43,139 --> 00:06:44,600 el mismo tipo 129 00:06:44,600 --> 00:06:46,300 o asimilable 130 00:06:46,300 --> 00:06:48,800 si son el mismo tipo idéntico 131 00:06:48,800 --> 00:06:49,519 ningún problema 132 00:06:49,519 --> 00:06:51,740 ¿cuáles serán los asimilables? 133 00:06:52,279 --> 00:06:54,500 pues yo puedo a un double asignarle un int 134 00:06:54,500 --> 00:06:55,220 por ejemplo 135 00:06:55,220 --> 00:06:57,839 al revés no 136 00:06:57,839 --> 00:06:58,839 ¿vale? 137 00:06:59,360 --> 00:07:01,560 a un log le puedo asignar un int 138 00:07:01,560 --> 00:07:02,319 al revés no 139 00:07:02,319 --> 00:07:04,579 bueno, todo esto que ya sabemos de ahí 140 00:07:04,579 --> 00:07:05,779 ¿vale? 141 00:07:06,199 --> 00:07:07,639 bueno, pues yo tengo esta expresión 142 00:07:07,639 --> 00:07:10,519 y todos sus detalles los conocemos 143 00:07:10,519 --> 00:07:13,560 bueno, pues en cualquier expresión que yo tenga 144 00:07:13,560 --> 00:07:14,839 en cualquier expresión 145 00:07:14,839 --> 00:07:17,439 puedo incorporar 146 00:07:17,439 --> 00:07:19,500 a cualquiera de las variables que tenga 147 00:07:19,500 --> 00:07:21,339 esos operadores 148 00:07:21,339 --> 00:07:22,720 el de 149 00:07:22,720 --> 00:07:24,399 incremento 150 00:07:24,399 --> 00:07:27,100 y el de decremento 151 00:07:27,100 --> 00:07:28,959 y vamos a ver que efecto provocaría 152 00:07:28,959 --> 00:07:31,300 vale, vamos a asumir que yo al B 153 00:07:31,300 --> 00:07:33,240 le agrego además 154 00:07:33,240 --> 00:07:35,420 el operador de incremento y se lo pongo aquí detrás 155 00:07:35,420 --> 00:07:38,759 me quedarían tres meses seguidos 156 00:07:38,759 --> 00:07:40,379 para Java no hay ninguna duda 157 00:07:40,379 --> 00:07:42,839 porque al ver dos seguidos 158 00:07:42,839 --> 00:07:45,139 él ya sabe que este es el operador incremento 159 00:07:45,139 --> 00:07:47,680 y el siguiente es la suma 160 00:07:47,680 --> 00:07:49,100 vale, a la C 161 00:07:49,100 --> 00:07:50,920 también le puedo poner si me da la gana 162 00:07:50,920 --> 00:07:51,839 le puedo asociar 163 00:07:51,839 --> 00:07:54,800 a alguno de sus operadores 164 00:07:54,800 --> 00:07:56,660 si quiero, por ejemplo, se lo voy a asociar 165 00:07:56,660 --> 00:07:57,860 pero esta vez aquí delante 166 00:07:57,860 --> 00:07:59,800 vale 167 00:07:59,800 --> 00:08:04,959 bueno, pues esta es una sentencia 168 00:08:04,959 --> 00:08:06,959 también válida, ¿vale? vamos a ver qué significa 169 00:08:06,959 --> 00:08:08,740 ¿vale? o sea 170 00:08:08,740 --> 00:08:11,160 a cualquier expresión, repito, a cualquiera 171 00:08:11,160 --> 00:08:12,899 yo puedo, a cualquiera 172 00:08:12,899 --> 00:08:14,939 de sus variables, a cualquiera, a todas 173 00:08:14,939 --> 00:08:17,439 a las que quiera, puedo asociarles 174 00:08:17,439 --> 00:08:17,939 además 175 00:08:17,939 --> 00:08:20,600 un operador incremento o decremento 176 00:08:20,600 --> 00:08:23,000 tanto delante como detrás, puedo y no pasa nada 177 00:08:23,000 --> 00:08:24,480 La sentencia sigue siendo válida 178 00:08:24,480 --> 00:08:26,019 ¿Vale? Sigue siendo válida 179 00:08:26,019 --> 00:08:29,319 Ahora lo que tenemos que entender 180 00:08:29,319 --> 00:08:30,579 Es qué implica 181 00:08:30,579 --> 00:08:32,980 Qué significa que yo añada eso 182 00:08:32,980 --> 00:08:34,500 ¿Qué significa? 183 00:08:35,860 --> 00:08:37,059 Vale, pues significa 184 00:08:37,059 --> 00:08:39,080 Esto va a seguir siendo una suma sí o sí 185 00:08:39,080 --> 00:08:43,379 Esto va a seguir siendo 186 00:08:43,379 --> 00:08:45,559 Yo quería cambiar el color del fino 187 00:08:45,559 --> 00:08:47,080 Pero 188 00:08:47,080 --> 00:08:53,789 No sé dónde se cambia esto 189 00:08:53,789 --> 00:08:55,009 Ah, aquí, vale, vale 190 00:08:55,009 --> 00:08:57,129 El fino rojo 191 00:08:57,129 --> 00:09:12,440 ¿Qué significa ponerlo? 192 00:09:12,500 --> 00:09:14,559 Bueno, pues esto sigue siendo una suma, sí o sí. 193 00:09:20,029 --> 00:09:21,570 Esto sigue siendo una suma. 194 00:09:22,909 --> 00:09:25,149 Una suma de los valores de B y de C. 195 00:09:26,370 --> 00:09:32,210 Pero B y C, además de aportar el valor, además de aportar el valor para la suma, 196 00:09:32,370 --> 00:09:36,450 además pueden sufrir, además de aportar el valor para la suma, 197 00:09:36,450 --> 00:09:39,470 pueden sufrir un incremento o un decremento. 198 00:09:40,529 --> 00:09:43,769 Luego, en esta sentencia se estaría haciendo la suma sí o sí, 199 00:09:44,289 --> 00:09:48,909 pero es que además de la suma, el b va a sufrir un incremento 200 00:09:48,909 --> 00:09:51,230 y el c va a sufrir un decremento. 201 00:09:51,649 --> 00:09:55,570 Por ejemplo, vamos a imaginarnos que yo tengo las a, b y c, 202 00:09:56,269 --> 00:10:02,570 a, b igual a 7 y c igual a 5, ¿vale? 203 00:10:02,789 --> 00:10:05,610 Mis tres variables correctamente declaradas 204 00:10:05,610 --> 00:10:11,529 y la B y la C, además, asignadas un valor en la declaración, 205 00:10:11,629 --> 00:10:12,850 lo que llamamos inicialización. 206 00:10:13,789 --> 00:10:19,009 Vale, pues aquí tendría la suma de B, que en principio vale 7, 207 00:10:20,009 --> 00:10:23,370 y C, que en principio vale 5, ¿vale? 208 00:10:24,149 --> 00:10:27,789 Luego sería la suma de 7 más 5, porque es lo que vale B y C. 209 00:10:27,789 --> 00:10:35,710 Pero ojo, B y C tienen además un operador de estos que les afecta. 210 00:10:36,610 --> 00:10:43,850 Entonces, aquí es donde hay una diferencia muy grande en que este operador esté puesto detrás o delante. 211 00:10:44,950 --> 00:10:51,649 ¿Por qué? El operador les va a afectar sí o sí y B se va a quedar incrementado en 1 porque B++ significa B igual a B más 1. 212 00:10:51,649 --> 00:10:55,210 y el C se va a quedar decrementado en 1 213 00:10:55,210 --> 00:10:56,970 porque C menos menos significa 214 00:10:56,970 --> 00:10:59,409 C igual a C menos 1. 215 00:10:59,830 --> 00:11:00,370 Eso sí o sí. 216 00:11:00,529 --> 00:11:01,750 B se va a quedar incrementado 217 00:11:01,750 --> 00:11:03,250 y C se va a quedar decrementado 218 00:11:03,250 --> 00:11:05,230 cuando termine esta sentencia, eso seguro. 219 00:11:05,850 --> 00:11:09,789 Pero, ¿cuándo se decrementa C 220 00:11:09,789 --> 00:11:11,190 y cuándo se incrementa B? 221 00:11:12,009 --> 00:11:14,649 ¿Antes de hacer la suma o después? 222 00:11:16,590 --> 00:11:18,129 Ahí sí que depende 223 00:11:18,129 --> 00:11:19,850 de si el más más menos menos 224 00:11:20,250 --> 00:11:21,909 ¿Esta antes o esta después? 225 00:11:22,730 --> 00:11:22,929 ¿Vale? 226 00:11:23,409 --> 00:11:25,830 Entonces aquí, esto es una suma de B y C. 227 00:11:26,889 --> 00:11:29,610 Pero B además se va a quedar incrementado. 228 00:11:30,490 --> 00:11:33,149 Y el más más está detrás. 229 00:11:33,629 --> 00:11:36,769 Con lo cual se va a quedar incrementado pero después de hacer la suma. 230 00:11:37,769 --> 00:11:41,190 Con lo cual B se va a quedar valiendo 8. 231 00:11:42,549 --> 00:11:45,710 Pero en el momento de hacer la suma todavía valía 7. 232 00:11:46,230 --> 00:11:47,710 Porque el más más está después. 233 00:11:47,710 --> 00:11:59,049 Entonces, luego B primero aporta su valor para la suma, que es el 7, aporta su valor y después recibe su incremento, después recibe su incremento, porque el más más está adelante. 234 00:12:00,210 --> 00:12:10,370 Vale, ¿qué pasa con el decremento de C? C tiene que recibir un decremento, C se va a quedar valiendo, sí o sí, si valía 5, 4. 235 00:12:11,370 --> 00:12:14,690 Pero la pregunta es, ¿cuándo recibe su decremento? 236 00:12:14,889 --> 00:12:18,129 ¿Antes o después de aportar su valor para la suma? 237 00:12:19,669 --> 00:12:22,669 En este caso, como el menos menos está delante, 238 00:12:23,590 --> 00:12:29,129 el C primero se decrementa, primero, y luego ya aporta su valor para la suma. 239 00:12:29,250 --> 00:12:34,070 Luego para la suma no va a aportar el 5, sino que va a aportar el 4. 240 00:12:35,289 --> 00:12:38,610 Eso significaría que A se quedaría valiendo 11. 241 00:12:40,370 --> 00:12:42,429 Y B8, por supuesto, y C4. 242 00:12:51,039 --> 00:13:06,000 Luego, repitiendo, repitiendo, estos operadores más, más y menos, menos, 243 00:13:06,600 --> 00:13:12,039 los puedo yo incorporar a variables que están formando parte de expresiones. 244 00:13:12,759 --> 00:13:13,620 Los puedo incorporar. 245 00:13:14,159 --> 00:13:20,980 Con eso estoy añadiendo operaciones además de la propia operación que me haga la expresión, 246 00:13:21,980 --> 00:13:25,259 que son operaciones de incremento o decremento en la variable en la que está. 247 00:13:26,500 --> 00:13:35,200 Luego me permiten, a la vez que hago una expresión, a la vez que la hago, además incrementar o decrementar la variable a la que afecta. 248 00:13:36,460 --> 00:13:43,220 Y el único matiz es, ¿cuándo se hace ese incremento y cuándo se hace ese decremento? 249 00:13:43,679 --> 00:13:46,080 ¿Antes de la operación o después? 250 00:13:47,700 --> 00:13:51,440 Pues depende, en el caso de B++ se hace después de la operación, 251 00:13:51,440 --> 00:13:58,879 Con lo cual la suma, que es la operación de la expresión, va a recibir el valor 7 de b, y luego ya b va a 8. 252 00:14:00,220 --> 00:14:12,820 En este caso, el menos menos está adelante, luego primero c disminuye su valor, se queda con 4, y ese es el valor que aporta a la suma, ¿vale? 253 00:14:12,820 --> 00:14:17,330 bueno pues 254 00:14:17,330 --> 00:14:18,149 a ver 255 00:14:18,149 --> 00:14:20,230 en este ejemplo está claro 256 00:14:20,230 --> 00:14:28,120 vamos a poner cosas al azar así a lo bestia 257 00:14:28,120 --> 00:14:29,279 a ver si 258 00:14:29,279 --> 00:14:33,070 si somos capaces de sacarlo 259 00:14:33,070 --> 00:14:35,049 es para practicar 260 00:14:35,049 --> 00:14:37,649 lógicamente uno nunca va a encontrarse 261 00:14:37,649 --> 00:14:39,490 ni hacer expresiones así de complejas 262 00:14:39,490 --> 00:14:41,570 pues porque no hay necesidad 263 00:14:41,570 --> 00:14:42,649 de hacer esas cosas tan raras 264 00:14:42,649 --> 00:14:44,509 los códigos tienen que ser un poco más legibles 265 00:14:44,509 --> 00:14:46,330 pero estamos practicando 266 00:14:46,330 --> 00:14:49,129 vale pues imaginaos que yo tengo esto 267 00:14:49,129 --> 00:14:50,450 a más más 268 00:14:50,450 --> 00:15:09,460 A lo he inicializado a algo, por C menos menos menos menos menos B, a la 5 menos seguidos, A tiene un valor que es 8, lo he tenido que inicializar porque si no el compilador me diría, 269 00:15:09,460 --> 00:15:13,279 Hoy no puedo utilizar A porque es que no tiene un valor inicial. 270 00:15:13,879 --> 00:15:21,409 Bueno, pues ahora mi pregunta es, ¿qué valor acaba teniendo A cuando esta sentencia se ha ejecutado? 271 00:15:21,970 --> 00:15:25,809 ¿Qué valor acaba teniendo B cuando esta sentencia se ha ejecutado? 272 00:15:26,269 --> 00:15:30,049 ¿Y qué valor acaba teniendo C cuando esta sentencia se ha ejecutado? 273 00:15:34,009 --> 00:15:36,610 Vamos a hacerlo despacio, a ver qué nos sale. 274 00:15:39,860 --> 00:15:48,009 Vale, pues esto es una multiplicación seguida de una resta. 275 00:15:49,169 --> 00:15:49,690 ¿Vale? 276 00:15:49,769 --> 00:15:53,409 por la precedencia de operadores 277 00:15:53,409 --> 00:15:55,169 esto siempre se va a hacer antes 278 00:15:55,169 --> 00:15:56,529 pero en este caso 279 00:15:56,529 --> 00:15:59,889 se haría antes en cualquier caso 280 00:15:59,889 --> 00:16:01,490 porque al ir de izquierda a derecha 281 00:16:01,490 --> 00:16:03,970 en igualdad de prioridad 282 00:16:03,970 --> 00:16:05,490 pero bueno, aquí 283 00:16:05,490 --> 00:16:07,169 aunque el por estuviera aquí y el menos aquí 284 00:16:07,169 --> 00:16:09,149 se haría el por antes, bueno, está claro 285 00:16:09,149 --> 00:16:11,309 vale, pues esto es esta operación 286 00:16:11,309 --> 00:16:12,450 ahora la pregunta es 287 00:16:12,450 --> 00:16:16,149 ¿qué valores aportan A, C y B 288 00:16:16,149 --> 00:16:17,590 a cada una de estas operaciones? 289 00:16:18,830 --> 00:16:19,950 pues A aporta 290 00:16:19,950 --> 00:16:25,289 el valor que tiene, a aportar 8, porque su incremento lo sufre después de aportar su 291 00:16:25,289 --> 00:16:36,309 valor. Luego A va a aportar 8. ¿Qué valor aporta C a la operación? Aporta 5, porque 292 00:16:36,309 --> 00:16:48,419 se va a decrementar después. ¿Qué valor aporta B? B va a aportar 6. Entonces, el valor 293 00:16:48,419 --> 00:16:59,039 final de A, ya lo tendríamos. El valor final de A sería, pues 8 por 5, 40, ¿no? 40 menos 294 00:16:59,039 --> 00:17:11,599 6, 34. Este sería el valor final de A. El valor final de B, B se va a quedar, B se va 295 00:17:11,599 --> 00:17:17,779 a tener que quedar decrementado obligatoriamente, luego el valor final de B, 8. Y el valor final 296 00:17:17,779 --> 00:17:28,779 de C, C se tiene que quedar decrementado también, con lo cual el valor final de C, 4. Luego 297 00:17:28,779 --> 00:17:47,279 deberíamos obtener 34 para A, 8 para B y 4 para C. Vamos a comprobarlo. Vale, a ver, 298 00:17:47,279 --> 00:18:10,089 Vale, esto era A igual a 8, B igual a, ¿alguien se acuerda el valor que teníamos puesto? 299 00:18:12,089 --> 00:18:15,710 7 y C5 puede ser 300 00:18:15,710 --> 00:18:20,730 Y la operación que teníamos puesta era A igual a A más más 301 00:18:20,730 --> 00:18:27,490 Por C menos menos, menos menos menos, B 302 00:18:27,490 --> 00:18:28,809 ¿Vale? 303 00:18:29,569 --> 00:18:31,930 Esta era la expresión que teníamos 304 00:18:31,930 --> 00:18:38,160 Vale 305 00:18:38,160 --> 00:18:45,210 No le gusta que lo ponga juntito 306 00:18:45,210 --> 00:18:52,869 Esta era la expresión que habíamos hecho, ¿verdad? 307 00:18:55,690 --> 00:18:57,349 Pues venga, ahora vamos a mostrar 308 00:18:57,349 --> 00:18:59,950 Valor de A 309 00:18:59,950 --> 00:19:03,430 A igual 310 00:19:03,430 --> 00:19:06,549 Con cateno con el valor de A 311 00:19:06,549 --> 00:19:08,609 B y C 312 00:19:08,609 --> 00:19:21,170 B igual a 313 00:19:21,170 --> 00:19:27,109 B y C 314 00:19:27,109 --> 00:19:28,670 igual a 315 00:19:28,670 --> 00:19:29,910 C 316 00:19:29,910 --> 00:19:39,710 y nos había salido 317 00:19:39,710 --> 00:19:42,509 34A y bueno, las otras 318 00:19:42,509 --> 00:19:43,529 eran más fácil de prever 319 00:19:43,529 --> 00:19:46,569 la B 320 00:19:46,569 --> 00:19:48,250 tendría que ser 6 y la C 4 321 00:19:48,250 --> 00:19:50,569 pero bueno, lo importante es la 322 00:19:50,569 --> 00:19:52,049 A, que nos salía 323 00:19:52,049 --> 00:19:53,829 35 324 00:19:53,829 --> 00:19:56,309 no, 40 325 00:19:56,309 --> 00:19:57,990 menos 6 nos salía, ¿verdad? 326 00:19:58,470 --> 00:20:00,750 40 menos 6, 34 327 00:20:00,750 --> 00:20:02,589 vamos a ver 328 00:20:02,589 --> 00:20:11,619 vale 329 00:20:11,619 --> 00:20:17,750 pues sí, hemos acertado 330 00:20:17,750 --> 00:20:28,700 bueno, alguna duda sobre esto 331 00:20:28,700 --> 00:20:29,299 más o menos 332 00:20:29,299 --> 00:20:32,299 aquí podríamos, pero bueno, no tiene mucho sentido 333 00:20:32,299 --> 00:20:33,200 que perdamos el tiempo 334 00:20:33,200 --> 00:20:36,319 podríamos practicar poniendo operaciones 335 00:20:36,319 --> 00:20:37,940 muy complejas con más, menos 336 00:20:37,940 --> 00:20:39,799 mezclando operadores para ti y para la TAN 337 00:20:39,799 --> 00:20:42,200 y sería cuestión de ir sistemático yendo uno por uno 338 00:20:42,200 --> 00:20:44,099 pero me merece mucho la pena 339 00:20:44,099 --> 00:20:45,839 que nos enredemos en eso 340 00:20:45,839 --> 00:20:48,220 porque realmente entendido 341 00:20:48,220 --> 00:20:50,059 el funcionamiento de los operadores 342 00:20:50,059 --> 00:20:52,339 pues no vamos a manejar expresiones 343 00:20:52,339 --> 00:20:56,579 retorcidas, sería señal de que estamos haciendo un código 344 00:20:56,579 --> 00:21:00,339 muy ilegible, cuando una expresión se convierte en muy larga 345 00:21:00,339 --> 00:21:04,000 y muy ilegible, lo normal es que uno la vaya dividiendo 346 00:21:04,000 --> 00:21:08,559 en partes separadas, de cara a que el que vea el código entienda un poco más 347 00:21:08,559 --> 00:21:15,599 lo que hace, bueno, está claro, ¿no? 348 00:21:18,819 --> 00:21:20,500 Vale, pues más operadores 349 00:21:20,500 --> 00:21:22,279 que tenemos que conocer y manejar 350 00:21:22,279 --> 00:21:26,759 Este operador unario, ya lo hemos visto 351 00:21:26,759 --> 00:21:27,819 Aquí tenemos 352 00:21:27,819 --> 00:21:34,519 Aquí tenemos un ejemplito 353 00:21:34,519 --> 00:21:35,299 Bueno, nada 354 00:21:35,299 --> 00:21:39,660 Vale, pues ahora ya sí que cambiamos 355 00:21:39,660 --> 00:21:42,299 A un tipo, a unos operadores 356 00:21:42,299 --> 00:21:46,140 Que ya involucran otros tipos de variables 357 00:21:46,140 --> 00:21:47,059 Vale 358 00:21:47,059 --> 00:22:00,289 Bueno, pues operadores 359 00:22:00,289 --> 00:22:02,289 Relacionales 360 00:22:02,289 --> 00:22:05,950 o de relación, ¿vale? 361 00:22:06,470 --> 00:22:15,920 Estos operadores nos sirven para comparar números entre sí 362 00:22:15,920 --> 00:22:19,059 y obtener resultados booleanos. 363 00:22:19,559 --> 00:22:21,700 Los operadores aritméticos que habíamos visto, 364 00:22:21,880 --> 00:22:25,619 más, menos, por, división y cociente, 365 00:22:26,500 --> 00:22:31,539 los operadores aritméticos combinaban número con número 366 00:22:31,539 --> 00:22:34,559 y el resultado era un número. 367 00:22:34,819 --> 00:22:42,160 Era para hacer expresiones aritméticas en las cuales combino números, reales, enteros, lo que sea, y obtengo números. 368 00:22:42,660 --> 00:22:43,200 Está claro. 369 00:22:44,319 --> 00:22:51,619 Vale, pues los operadores relacionales combinan números también, pero el resultado es booleano. 370 00:22:51,759 --> 00:22:52,079 ¿Por qué? 371 00:22:52,240 --> 00:22:56,960 Porque la expresión que consigue es una expresión condicional. 372 00:22:58,200 --> 00:23:00,440 ¿Cuáles son los operadores relacionales, los de relación? 373 00:23:01,039 --> 00:23:02,160 Pues los hemos mencionado ya. 374 00:23:02,160 --> 00:23:06,720 menor que, mayor que, menor o igual, mayor o igual 375 00:23:06,720 --> 00:23:09,319 igual a y distinto de 376 00:23:09,319 --> 00:23:16,369 estos, el igual a, recordad que era el doble igual 377 00:23:16,369 --> 00:23:18,529 y el distinto de es 378 00:23:18,529 --> 00:23:25,799 la admiración y el igual, pues estos son los relacionales 379 00:23:25,799 --> 00:23:28,720 que nos permiten comparar números 380 00:23:28,720 --> 00:23:35,180 cosas que tienen orden, entonces con el operador 381 00:23:35,180 --> 00:23:45,819 correlacional, si yo lo cambio, este num más num, quito este operador y pongo el menor que, la expresión que obtengo es perfectamente válida. 382 00:23:46,079 --> 00:23:58,279 Es una expresión que involucra dos operandos numéricos y un menor que. Pero el resultado, el resultado ya no es un número, el resultado solamente es 383 00:23:58,279 --> 00:23:59,259 o true o false 384 00:23:59,259 --> 00:24:01,380 esto o se cumple o no se cumple 385 00:24:01,380 --> 00:24:04,359 luego el resultado de evaluar 386 00:24:04,359 --> 00:24:05,980 una expresión 387 00:24:05,980 --> 00:24:07,980 que tienen estos operadores 388 00:24:07,980 --> 00:24:09,019 el resultado 389 00:24:09,019 --> 00:24:11,680 es Boolean 390 00:24:11,680 --> 00:24:12,640 ¿vale? 391 00:24:13,180 --> 00:24:17,190 luego son los operadores básicos 392 00:24:17,190 --> 00:24:18,950 para construir condiciones 393 00:24:18,950 --> 00:24:23,359 ¿vale? ya los hemos intuido 394 00:24:23,359 --> 00:24:24,359 otras veces porque 395 00:24:24,359 --> 00:24:26,559 los conocemos de matemáticas 396 00:24:26,559 --> 00:24:32,640 entonces hay 397 00:24:32,640 --> 00:24:35,079 por ahora hay poco que decir de esto 398 00:24:35,079 --> 00:25:03,490 ¿Vale? Vale, aquí está todo explicado, ¿vale? Estos son los operadores que hemos hablado, ejemplitos y ya está. De esos hay poco que decir. 399 00:25:03,490 --> 00:25:20,440 Y ahora sí que saltaríamos a los booleanos, que estos ya nos dan un poquito más de flexibilidad. 400 00:25:25,609 --> 00:25:35,410 Bueno, pues sabemos lo que es una condición, algo que se puede cumplir o no, algo que puede ser true o false, eso es una condición, algo que puede ser true o algo que puede ser false. 401 00:25:35,410 --> 00:25:41,789 Vale, pero a veces las condiciones son más complejas porque combinan varias partes 402 00:25:41,789 --> 00:25:47,589 Por ejemplo, esta mesa es verde es una condición, está claro 403 00:25:47,589 --> 00:25:49,089 Puede ser true o puede ser false 404 00:25:49,089 --> 00:25:54,109 Pero esta mesa es verde y está rota también es una condición 405 00:25:54,109 --> 00:25:57,329 Porque eso puede ser falsa o puede ser mentira 406 00:25:57,329 --> 00:26:00,029 ¿Vale? Luego esta mesa es verde 407 00:26:00,029 --> 00:26:01,930 Y está rota 408 00:26:01,930 --> 00:26:04,029 He combinado dos 409 00:26:04,029 --> 00:26:06,089 Condiciones más sencillas 410 00:26:06,089 --> 00:26:07,869 La condición esta mesa es verde 411 00:26:07,869 --> 00:26:10,170 Y la condición esta mesa está rota 412 00:26:10,170 --> 00:26:12,069 He combinado dos condiciones sencillas 413 00:26:12,069 --> 00:26:13,950 ¿Con qué las he combinado? 414 00:26:14,150 --> 00:26:14,930 Poniendo el I 415 00:26:14,930 --> 00:26:18,009 Y poniendo el I en el lenguaje natural 416 00:26:18,009 --> 00:26:20,130 He conseguido una condición 417 00:26:20,130 --> 00:26:20,890 Más compleja 418 00:26:20,890 --> 00:26:23,750 Esta mesa es verde y esta mesa está rota 419 00:26:23,750 --> 00:26:25,970 ¿Vale? Eso lo manejamos 420 00:26:25,970 --> 00:26:26,869 En lenguaje natural 421 00:26:26,869 --> 00:26:31,230 ¿Cuándo será verdad que esta mesa es verde y esta mesa está rota? 422 00:26:32,069 --> 00:26:34,309 Cuando se cumplen las dos cosas simultáneamente 423 00:26:34,309 --> 00:26:37,569 Si esta mesa es verde y además está rota 424 00:26:37,569 --> 00:26:41,029 Yo diré que esa condición es true 425 00:26:41,029 --> 00:26:45,430 ¿Pero qué ocurre si es verde y no está rota? 426 00:26:46,369 --> 00:26:49,470 Pues la condición esta mesa es verde y esta mesa está rota 427 00:26:49,470 --> 00:26:49,849 ¿Qué será? 428 00:26:50,869 --> 00:26:53,490 Falsa, porque una de las dos no se cumple 429 00:26:53,490 --> 00:26:56,509 Entonces cuando yo elaboro en lenguaje natural 430 00:26:56,509 --> 00:27:05,190 una condición compleja con el I en medio, si una de las dos cosas que digo es falsa, la condición total es falsa, ¿verdad? 431 00:27:07,390 --> 00:27:13,509 Pero también sabemos hacer condiciones en otros, en lenguaje natural, que las hacemos todo el rato, con el O, ¿verdad? 432 00:27:14,150 --> 00:27:22,690 Yo podría decir, esta mesa es azul o esta mesa está vacía, podría decirlo. 433 00:27:22,690 --> 00:27:26,150 entonces, esta mesa está azul 434 00:27:26,150 --> 00:27:27,829 o esta mesa está vacía 435 00:27:27,829 --> 00:27:30,529 puede ser verdad o puede ser mentira 436 00:27:30,529 --> 00:27:33,430 ¿cuándo será verdad? 437 00:27:36,220 --> 00:27:37,599 cuando una de las dos 438 00:27:37,599 --> 00:27:39,740 o sea, claro 439 00:27:39,740 --> 00:27:40,960 entonces esta mesa 440 00:27:40,960 --> 00:27:42,940 que esta mesa es azul es falso, está claro 441 00:27:42,940 --> 00:27:45,440 pero yo he dicho que esta mesa es azul o está vacía 442 00:27:45,440 --> 00:27:46,920 entonces estar vacía es verdad 443 00:27:46,920 --> 00:27:49,440 entonces, esta mesa es azul 444 00:27:49,440 --> 00:27:50,539 o está vacía 445 00:27:50,539 --> 00:27:53,519 es una condición compleja que su resultado 446 00:27:53,519 --> 00:27:55,700 final es verdad, porque es azul 447 00:27:55,700 --> 00:27:57,460 o está vacía, pues está vacía 448 00:27:57,460 --> 00:27:58,720 ya está, se cumple una de las dos 449 00:27:58,720 --> 00:28:01,559 entonces cuando hago una condición más compleja 450 00:28:01,559 --> 00:28:03,059 con el O 451 00:28:03,059 --> 00:28:05,680 todos nos entendemos y sabemos 452 00:28:05,680 --> 00:28:07,720 que si una de las dos cosas 453 00:28:07,720 --> 00:28:08,400 se cumple 454 00:28:08,400 --> 00:28:11,859 ese enunciado más complejo que estoy diciendo 455 00:28:11,859 --> 00:28:13,680 es verdad, es verdad, vale 456 00:28:13,680 --> 00:28:15,500 sin embargo 457 00:28:15,500 --> 00:28:17,039 si no se cumple a ninguna de las dos 458 00:28:17,039 --> 00:28:19,480 esta mesa es azul o 459 00:28:19,480 --> 00:28:20,720 tiene un duende encima 460 00:28:20,720 --> 00:28:23,200 pues falso, ni es azul 461 00:28:23,200 --> 00:28:25,299 y tiene el do en del tu, falso 462 00:28:25,299 --> 00:28:27,299 pero cuando hacemos un enunciado 463 00:28:27,299 --> 00:28:28,700 con el o natural 464 00:28:28,700 --> 00:28:30,900 si no se cumple ninguna 465 00:28:30,900 --> 00:28:32,619 de las sencillas 466 00:28:32,619 --> 00:28:35,059 el enunciado total es falso 467 00:28:35,059 --> 00:28:36,880 y así nos entendemos siempre 468 00:28:36,880 --> 00:28:38,319 y no tenemos dudas sobre eso 469 00:28:38,319 --> 00:28:41,140 pues eso también tenemos que ser capaces 470 00:28:41,140 --> 00:28:42,059 de programarlo 471 00:28:42,059 --> 00:28:45,140 bueno, pues el i es este 472 00:28:45,140 --> 00:28:46,019 operador de aquí 473 00:28:46,019 --> 00:28:49,279 y el o es este operador 474 00:28:49,279 --> 00:28:50,819 de aquí, ya está 475 00:28:50,819 --> 00:28:52,240 ¿vale? 476 00:28:55,279 --> 00:29:04,299 Que es el, que se llama el and lógico de toda la vida y el or lógico de toda la vida, ¿vale? El and y el or, pues el y y el o nuestro. 477 00:29:05,960 --> 00:29:15,920 Como veis hay un tercer operador, tercer y último operador booleano, que se podría, bueno, no último, pero bueno, que es el de negación. ¿Por qué? 478 00:29:15,920 --> 00:29:21,319 Porque también nosotros hacemos condiciones poniendo un no delante, usando el no. 479 00:29:22,039 --> 00:29:28,759 Por ejemplo, yo puedo decir, es verde esta mesa, vale, tengo esa condición, es verde esta mesa, 480 00:29:29,119 --> 00:29:29,940 ¿false o sí? 481 00:29:30,259 --> 00:29:35,180 Pero puedo decir, construir otra diciendo, no es verde esta mesa, o sea, negando la otra. 482 00:29:36,299 --> 00:29:43,180 Entonces yo puedo elaborar una condición expresándola como la negada de otra, ¿verdad? 483 00:29:43,180 --> 00:29:46,460 Yo puedo decir, este chico es alto 484 00:29:46,460 --> 00:29:48,059 Que esa es una condición 485 00:29:48,059 --> 00:29:50,059 Puede ser falso, puede ser true 486 00:29:50,059 --> 00:29:51,519 Y puedo hacer otra 487 00:29:51,519 --> 00:29:52,960 Que es negando esa 488 00:29:52,960 --> 00:29:55,440 Que si este chico no es alto, negando 489 00:29:55,440 --> 00:29:57,579 Esa es otra condición 490 00:29:57,579 --> 00:29:59,720 Que la he construido negando 491 00:29:59,720 --> 00:30:01,000 La primera 492 00:30:01,000 --> 00:30:03,779 Igual que hago una condición 493 00:30:03,779 --> 00:30:05,859 Con el i poniendo 2 494 00:30:05,859 --> 00:30:07,759 Aquí hago otra poniendo 2 495 00:30:07,759 --> 00:30:10,339 Pues el no me construye otra condición 496 00:30:10,339 --> 00:30:11,720 A partir de una única 497 00:30:11,720 --> 00:30:12,900 Negándola 498 00:30:12,900 --> 00:30:15,279 entonces 499 00:30:15,279 --> 00:30:18,380 lógicamente la condición 500 00:30:18,380 --> 00:30:19,380 que yo he construido 501 00:30:19,380 --> 00:30:22,119 añadiendole el no, negándola 502 00:30:22,119 --> 00:30:24,339 será verdad si la primera es 503 00:30:24,339 --> 00:30:25,579 falsa 504 00:30:25,579 --> 00:30:28,400 y será mentira si la primera 505 00:30:28,400 --> 00:30:29,500 es true, lógicamente 506 00:30:29,500 --> 00:30:32,099 ¿vale? este chico es alto 507 00:30:32,099 --> 00:30:33,500 no es este chico alto 508 00:30:33,500 --> 00:30:35,880 pues si la primera es true, la otra va a ser false 509 00:30:35,880 --> 00:30:37,759 lógicamente, porque es la negada de la otra 510 00:30:37,759 --> 00:30:40,099 y si la primera es false, la negada va a ser true 511 00:30:40,099 --> 00:30:40,839 lógicamente 512 00:30:40,839 --> 00:30:42,099 ¿vale? 513 00:30:42,619 --> 00:30:45,059 entonces también puedo construir condiciones 514 00:30:45,059 --> 00:30:46,519 negando otra 515 00:30:46,519 --> 00:30:51,000 ¿qué son los otros? pues el lenguaje 516 00:30:51,000 --> 00:30:52,940 natural decimos no pasa esto 517 00:30:52,940 --> 00:30:54,839 que sería el negado de 518 00:30:54,839 --> 00:30:57,099 pasa esto, pues no pasa esto 519 00:30:57,099 --> 00:30:58,000 el negado de pasa esto 520 00:30:58,000 --> 00:31:01,099 eso también lo podemos expresar en programación 521 00:31:01,099 --> 00:31:02,819 y el operador sería este 522 00:31:02,819 --> 00:31:04,079 la admiración hacia abajo 523 00:31:04,079 --> 00:31:06,059 ¿vale? el and 524 00:31:06,059 --> 00:31:08,759 este doble ampersand que está ahí 525 00:31:08,759 --> 00:31:10,740 el or, esta doble barrita 526 00:31:10,740 --> 00:31:12,880 y el no pasa esto 527 00:31:12,880 --> 00:31:14,259 es admiración 528 00:31:14,259 --> 00:31:17,900 ¿y puedo mezclar 529 00:31:17,900 --> 00:31:20,460 empezar con una negación y añadir 530 00:31:20,460 --> 00:31:22,000 claro, tú 531 00:31:22,000 --> 00:31:24,859 puedes ir combinando estos operadores 532 00:31:24,859 --> 00:31:26,079 para hacer una expresión 533 00:31:26,079 --> 00:31:28,420 booleana todo lo compleja que necesites 534 00:31:28,420 --> 00:31:29,640 por ejemplo 535 00:31:29,640 --> 00:31:35,000 por ejemplo 536 00:31:35,000 --> 00:31:39,920 venga, vamos a ver 537 00:31:39,920 --> 00:31:44,859 ejemplos 538 00:31:44,859 --> 00:31:46,099 de booleanos 539 00:31:46,099 --> 00:31:48,819 booleanos 540 00:31:48,819 --> 00:32:22,079 Vale. Bueno, vamos a seguir con estas variables A, B y C que tenemos aquí. Vale. Boolean condición. Bueno, pues con esta variable booleana puede recibir, por ejemplo, por supuesto, este. A es menor que B. Vale. Caso sencillo. Vale. 541 00:32:22,079 --> 00:32:25,400 esta es una expresión 542 00:32:25,400 --> 00:32:27,859 que tiene un operador relacional 543 00:32:27,859 --> 00:32:29,519 menor que que relaciona números 544 00:32:29,519 --> 00:32:30,779 vale, a menor que b 545 00:32:30,779 --> 00:32:33,119 esto será true o será false, ya veremos 546 00:32:33,119 --> 00:32:34,140 a menor que b, vale 547 00:32:34,140 --> 00:32:37,059 entonces esto significa lógicamente 548 00:32:37,059 --> 00:32:39,200 el número a es estrictamente 549 00:32:39,200 --> 00:32:41,079 menor que b, vale 550 00:32:41,079 --> 00:32:44,930 yo ahora quiero conseguir una condición 551 00:32:44,930 --> 00:32:47,049 más compleja, que es el número a es menor que b 552 00:32:47,049 --> 00:32:49,190 pero también es menor que c 553 00:32:49,190 --> 00:32:50,950 quiero expresar que a sea 554 00:32:50,950 --> 00:32:52,250 menor que ambos, que los dos 555 00:32:52,250 --> 00:32:54,809 entonces, en lenguaje natural 556 00:32:54,809 --> 00:32:56,970 nosotros abreviamos mucho las cosas 557 00:32:56,970 --> 00:32:57,670 y decimos 558 00:32:57,670 --> 00:33:00,569 a menor que a, a menor que b y que c 559 00:33:00,569 --> 00:33:02,769 pero aunque lo abreviemos 560 00:33:02,769 --> 00:33:05,329 eso en programación son dos cosas independientes 561 00:33:05,329 --> 00:33:06,630 que es, a es menor que b 562 00:33:06,630 --> 00:33:08,569 esa es una, y a es menor que c 563 00:33:08,569 --> 00:33:10,910 es otra, no existe a menor que b y que c 564 00:33:10,910 --> 00:33:13,269 en programación, lo tengo que separar 565 00:33:13,269 --> 00:33:13,869 siempre 566 00:33:13,869 --> 00:33:16,630 en las condiciones más simples 567 00:33:16,630 --> 00:33:19,009 que siempre son estas, las que tienen la forma de 568 00:33:19,009 --> 00:33:20,690 menor que, mayor que 569 00:33:20,690 --> 00:33:22,750 igual, distinto, menor o igual o mayor o igual 570 00:33:22,750 --> 00:33:24,009 esas son las básicas 571 00:33:24,009 --> 00:33:26,789 y cualquier otra más compleja va a ser una combinación 572 00:33:26,789 --> 00:33:28,109 de las básicas, entonces 573 00:33:28,109 --> 00:33:30,569 A es menor que B y que C simultáneamente 574 00:33:30,569 --> 00:33:32,869 lo tengo que traducir al idioma 575 00:33:32,869 --> 00:33:34,670 de sentencias básicas, que será 576 00:33:34,670 --> 00:33:36,069 A es menor que B 577 00:33:36,069 --> 00:33:38,470 y A es menor que C 578 00:33:38,470 --> 00:33:39,930 ¿vale? 579 00:33:40,970 --> 00:33:43,109 entonces, esa condición 580 00:33:43,109 --> 00:33:44,309 más compleja sería 581 00:33:44,309 --> 00:33:47,109 A es menor que B 582 00:33:47,109 --> 00:33:49,269 y 583 00:33:49,269 --> 00:33:59,500 y A es menor que C, ¿vale? 584 00:34:00,000 --> 00:34:04,059 Si quiero que quede más claro, le puedo poner aquí paréntesis, 585 00:34:04,220 --> 00:34:07,559 porque hay veces que las condiciones se hacen más largas, 586 00:34:07,720 --> 00:34:10,920 y si quiero que quede más claro, le puedo poner paréntesis, 587 00:34:11,940 --> 00:34:16,159 pero por contexto, el compilador lo va a entender, 588 00:34:16,380 --> 00:34:20,280 porque esto tiene más prioridad que, perdón, esto tiene más prioridad que este, 589 00:34:20,380 --> 00:34:23,039 o sea, por contexto lo va a entender, ¿vale? 590 00:34:23,039 --> 00:34:40,420 No podría ser, si yo quito los paréntesis, esto no tendría sentido, que hiciera primero esto, porque B y A son números, y el operador AND sólo combina cosas que son booleanas, sólo condiciones. 591 00:34:41,280 --> 00:34:50,539 Entonces aquí por contexto esto no tendría sentido, esto sí, porque esto ya sí que es un booleano, una condición, esto es otra, y puede ser combinada con el AND lógico. 592 00:34:50,539 --> 00:34:53,059 Pero a veces por claridad no pasa nada 593 00:34:53,059 --> 00:34:55,599 Los paréntesis no pasa nada por abusar de ellos 594 00:34:55,599 --> 00:34:57,219 Si dejan las cosas más claras 595 00:34:57,219 --> 00:34:58,860 ¿Vale? No pasa nada 596 00:34:58,860 --> 00:35:00,239 Si queremos 597 00:35:00,239 --> 00:35:11,909 Y así puedo hasta el infinito 598 00:35:11,909 --> 00:35:15,739 ¿Vale? Yo podría 599 00:35:15,739 --> 00:35:16,900 Esta condición 600 00:35:16,900 --> 00:35:18,800 Ahora va a ser 601 00:35:18,800 --> 00:35:21,719 La negada de toda la anterior 602 00:35:21,719 --> 00:35:23,780 La negada de toda la anterior 603 00:35:23,780 --> 00:35:29,329 Pues también es válida 604 00:35:29,329 --> 00:35:43,829 ¿Vale? Esto también es válido 605 00:35:43,829 --> 00:35:53,510 Esto, una expresión booleana, porque es el negado, la negado de esta. 606 00:35:53,670 --> 00:36:01,969 Esto significa, no es verdad que A sea simultáneamente menor que B y simultáneamente menor que C. 607 00:36:02,070 --> 00:36:06,809 Es lo que significa, eso no es verdad, que sea simultáneamente menor que ambos. 608 00:36:06,809 --> 00:36:09,630 si lo traducimos a nuestro idioma sería 609 00:36:09,630 --> 00:36:10,949 si no es verdad 610 00:36:10,949 --> 00:36:14,190 que sea simultáneamente menor que ambos 611 00:36:14,190 --> 00:36:16,389 es que es mayor que alguno de los dos 612 00:36:16,389 --> 00:36:18,230 mayor que alguno de los dos 613 00:36:18,230 --> 00:36:18,869 tiene que ser 614 00:36:18,869 --> 00:36:21,210 entonces 615 00:36:21,210 --> 00:36:23,909 esa sentencia 616 00:36:23,909 --> 00:36:24,309 ¿vale? 617 00:36:25,590 --> 00:36:26,530 será true 618 00:36:26,530 --> 00:36:30,429 si no es verdad 619 00:36:30,429 --> 00:36:32,150 que sea simultáneamente 620 00:36:32,150 --> 00:36:32,889 menor que ambos 621 00:36:32,889 --> 00:36:33,809 si no es verdad 622 00:36:33,809 --> 00:36:37,360 por ejemplo 623 00:36:37,360 --> 00:36:42,809 Vamos a poner aquí el resultado 624 00:36:42,809 --> 00:36:46,940 A ver 625 00:36:46,940 --> 00:36:47,599 A 626 00:36:47,599 --> 00:36:50,780 ¿Cuánto vale aquí? 627 00:36:50,880 --> 00:36:53,320 Vamos a comentar esta expresión para que no la cambie 628 00:36:53,320 --> 00:36:57,059 Vamos a subir B 629 00:36:57,059 --> 00:36:58,559 A 10 630 00:36:58,559 --> 00:37:00,420 Entonces 631 00:37:00,420 --> 00:37:03,599 A no es simultáneamente menor que B 632 00:37:03,599 --> 00:37:04,360 Y menor que C 633 00:37:04,360 --> 00:37:07,420 Porque es menor que B pero menor que C no lo es 634 00:37:07,420 --> 00:37:09,679 Luego 635 00:37:09,679 --> 00:37:11,780 esto va a ser falso 636 00:37:11,780 --> 00:37:13,639 perdón, esto va a ser true 637 00:37:13,639 --> 00:37:17,019 porque esta es falsa 638 00:37:17,019 --> 00:37:19,940 porque A no es simultáneamente menor que B y menor que C 639 00:37:19,940 --> 00:37:21,860 menor que B sí lo es 640 00:37:21,860 --> 00:37:23,179 luego esta es true 641 00:37:23,179 --> 00:37:24,920 pero es que esta es falsa 642 00:37:24,920 --> 00:37:26,280 porque no es menor que C 643 00:37:26,280 --> 00:37:29,940 entonces, esta es falsa 644 00:37:29,940 --> 00:37:31,820 si yo la niego, esta es true 645 00:37:31,820 --> 00:37:34,420 con lo cual esto me va a dar true 646 00:37:34,420 --> 00:37:38,460 ¿vale? 647 00:37:38,699 --> 00:37:40,400 me va a dar true porque A 648 00:37:40,400 --> 00:37:42,860 no es simultáneamente menor que ambos 649 00:37:42,860 --> 00:37:48,159 sin embargo 650 00:37:48,159 --> 00:37:50,619 si yo cambio y pongo aquí el or 651 00:37:50,619 --> 00:37:54,340 el significado 652 00:37:54,340 --> 00:37:56,340 de esta expresión ha cambiado completamente 653 00:37:56,340 --> 00:37:59,280 porque esto me dice 654 00:37:59,280 --> 00:38:01,980 A es menor que alguna de las dos 655 00:38:01,980 --> 00:38:03,320 es lo que significa esto 656 00:38:03,320 --> 00:38:05,619 A es menor que B o A es menor que C 657 00:38:05,619 --> 00:38:07,659 y con esto lo niego 658 00:38:07,659 --> 00:38:09,059 estoy diciendo 659 00:38:09,059 --> 00:38:12,119 no es verdad que A sea menor 660 00:38:12,119 --> 00:38:13,460 que alguna de las dos 661 00:38:13,460 --> 00:38:28,079 No es verdad. Pues es que eso es mentira, porque claro que es menor que alguna de las dos. A es menor que B. Entonces, esto ha cambiado el sentido de la condición completamente. 662 00:38:28,920 --> 00:38:44,489 A menor que B o A menor que C, sí, true, es menor que una de las dos. Pues el total es true. Si la niego, será false. Entonces, si ejecutamos esto, pues ahora lógicamente ha cambiado el sentido de esto. 663 00:38:45,090 --> 00:39:02,829 ¿Vale? Y así podríamos combinar los operadores hasta que expresen la condición que yo quiero expresar, que puede ser más o menos compleja. 664 00:39:06,000 --> 00:39:11,719 Lo normal es que las condiciones no sean unas cosas extrañísimas porque es muy raro. 665 00:39:11,719 --> 00:39:17,280 vale 666 00:39:17,280 --> 00:39:26,119 pues aquí está puesto lo que significan estos operadores 667 00:39:26,119 --> 00:39:29,260 pero de land y de lore 668 00:39:29,260 --> 00:39:32,340 hay otra versión 669 00:39:32,340 --> 00:39:35,639 que es con un único simbolito 670 00:39:35,639 --> 00:39:38,849 o con dos 671 00:39:38,849 --> 00:39:41,110 son dos versiones diferentes de lo mismo 672 00:39:41,110 --> 00:39:42,269 de land y de lore 673 00:39:42,269 --> 00:39:44,929 y de nuevo preguntaréis 674 00:39:44,929 --> 00:39:47,070 y porque hay dos versiones de lo mismo 675 00:39:47,070 --> 00:39:49,329 del ilógico o del orlógico 676 00:39:49,329 --> 00:39:51,389 hay dos versiones de lo mismo 677 00:39:51,389 --> 00:39:52,469 porque hay un matiz 678 00:39:52,469 --> 00:39:55,329 en cómo funcionan 679 00:39:55,329 --> 00:39:57,110 un matiz importante 680 00:39:57,110 --> 00:39:58,869 pero vamos a parar aquí 681 00:39:58,869 --> 00:40:00,889 para que no se haga demasiado rollo 682 00:40:00,889 --> 00:40:02,269 y lo vemos ahora después del cambio