20260924 Operadores_1 - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
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?
00:00:01
para asignarse a una variable, ¿verdad?
00:00:20
¿Vale? Estamos en este contexto, lógicamente.
00:00:28
Estamos en la sentencia de asignación,
00:00:31
que ya sabemos que es nombre de la variable,
00:00:36
el que sea variable previamente declarada,
00:00:39
igual a valor.
00:00:42
Y este valor, ya en términos generales,
00:00:42
puede ser una expresión.
00:00:49
Esta expresión involucrará números, letras, depende si estamos hablando de cadenas,
00:00:51
otras variables que tienen cosas, pues involucrará números, variables, cadenas y operadores.
00:01:00
Lo que estamos viendo son los operadores que tenemos para formar expresiones.
00:01:09
Para formar expresiones que representen lo que nosotros queremos.
00:01:13
y sobre todo para entender
00:01:17
expresiones ya hechas que vemos en los juegos
00:01:19
¿vale? para entenderlas
00:01:22
y para desarrollar esa soltura
00:01:23
y ese manejo
00:01:26
¿vale? recordad que los conocimientos de base
00:01:26
son imprescindibles
00:01:29
para luego
00:01:32
tener la soltura para poder moverte
00:01:34
ya en otros contextos
00:01:36
me da igual que el contexto sea
00:01:37
elaborar, mantener un desarrollo
00:01:39
que te ha hecho la IA o modificarlo
00:01:42
o el contexto sea
00:01:43
tengo, mi trabajo es
00:01:45
darle ideas a mi jefe
00:01:47
para que el abue de proyectos, me da igual
00:01:48
vuestro contexto de trabajo, ¿vale?
00:01:50
Lo va a hacer bien
00:01:53
aquel que tenga los conocimientos de base
00:01:54
con la suficiente soltura, suficiente
00:01:57
entrenamiento para saber de qué está
00:01:59
hablando, ¿vale?
00:02:01
Bueno, pues en eso estamos.
00:02:03
¿Con qué operador estábamos
00:02:05
en particular? Con estos de aquí,
00:02:06
¿vale? El incremento
00:02:09
y el decremento.
00:02:11
Estábamos con estos operadores.
00:02:13
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.
00:02:15
¿Por qué? Porque esto significaba A igual a A más 1
00:02:33
¿Vale? Poner esto y poner esto es lo mismo
00:02:40
Luego este operador engloba dentro de sí una asignación y una suma
00:02:43
Engloba las dos cosas, es una forma abreviada
00:02:51
Igual que menos menos A ya es una sentencia válida
00:02:55
¿Qué es lo que significa? A igual a menos uno. El menos menos engloba dentro de sí tanto una asignación como una resta.
00:03:01
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.
00:03:15
idéntica a esta
00:03:27
y a menos menos
00:03:29
es una sentencia válida
00:03:32
que es idéntica a esta
00:03:35
entonces según esto
00:03:38
ponerlo delante
00:03:45
y ponerlo detrás
00:03:48
no afecta
00:03:50
porque lo que estamos haciendo es lo mismo
00:03:54
estamos sumando en uno a la variable a
00:03:57
y el valor resultante
00:04:00
usarlo para actualizar el propio valor de a
00:04:02
¿no?
00:04:05
ponerlo aquí delante o ponerlo aquí detrás
00:04:07
en principio diríamos que no afecta
00:04:10
estamos haciendo lo mismo
00:04:13
pues sí
00:04:14
hasta cierto punto es cierto
00:04:16
esta expresión y esta sentencia y esta
00:04:18
hacen lo mismo
00:04:22
y esta sentencia y esta
00:04:24
hacer lo mismo
00:04:26
¿entonces por qué la puedo escribir
00:04:27
de dos maneras? ¿por qué puedo escribir
00:04:30
el menos menos delante o atrás y por qué
00:04:32
el más más delante o atrás?
00:04:34
pues en programación, en informática
00:04:36
en tecnología en general
00:04:38
nada es por
00:04:40
a par y porque sí
00:04:42
todo tiene una explicación
00:04:43
todo, ¿vale? pues existe
00:04:45
dos formas de ponerlo
00:04:48
delante o detrás
00:04:50
porque este operador
00:04:51
se puede incluir también
00:04:53
dentro de expresiones
00:04:56
que incluyan
00:04:58
más variables y que
00:05:00
den su valor
00:05:02
a otra variable, ¿vale?
00:05:04
Vamos a, era lo que nos quedamos viendo
00:05:06
ayer al final, ¿vale?
00:05:08
Que es lo que
00:05:10
vamos a terminar de
00:05:11
revisar ahora.
00:05:14
¿Vale? Es decir,
00:05:16
esto al principio parece un poco lioso,
00:05:20
pero luego es una tontería,
00:05:22
es acordarse de las reglas que lo definen
00:05:24
y luego al final
00:05:26
lo usas en contextos mucho más sencillos, pero vamos a entender qué implica, vale.
00:05:28
Pues a ver, nosotros ponemos una expresión, por ejemplo, a igual a b más c, vale, esta
00:05:40
es una sentencia que ya no nos causa ningún problema, se supone que tanto a como b como
00:05:49
C, son variables que se han
00:05:57
declarado previamente, por supuesto
00:05:59
si no lo podríamos usar, se han declarado
00:06:01
previamente, vale
00:06:03
y además se supone que son
00:06:03
de tipos compatibles
00:06:07
todo eso lo revisamos ayer
00:06:08
y ya lo sabemos, vale
00:06:11
entonces, tipos compatibles
00:06:12
pues es
00:06:15
estos dos
00:06:16
son números
00:06:17
pero si uno es long
00:06:20
y otro es int, no pasa nada
00:06:22
el int se promociona long
00:06:25
y el resultado me sale long, vale
00:06:26
si uno es double y otro es int
00:06:28
al int se le pone el punto 0
00:06:31
y ya son dos doubles, bueno, estas cosas que ya sabemos
00:06:32
y luego además el resultado
00:06:35
final tiene que ser
00:06:37
compatible con la variable
00:06:39
¿qué significa compatible? que sea el mismo tipo
00:06:40
el mismo tipo
00:06:43
o asimilable
00:06:44
si son el mismo tipo idéntico
00:06:46
ningún problema
00:06:48
¿cuáles serán los asimilables?
00:06:49
pues yo puedo a un double asignarle un int
00:06:52
por ejemplo
00:06:54
al revés no
00:06:55
¿vale?
00:06:57
a un log le puedo asignar un int
00:06:59
al revés no
00:07:01
bueno, todo esto que ya sabemos de ahí
00:07:02
¿vale?
00:07:04
bueno, pues yo tengo esta expresión
00:07:06
y todos sus detalles los conocemos
00:07:07
bueno, pues en cualquier expresión que yo tenga
00:07:10
en cualquier expresión
00:07:13
puedo incorporar
00:07:14
a cualquiera de las variables que tenga
00:07:17
esos operadores
00:07:19
el de
00:07:21
incremento
00:07:22
y el de decremento
00:07:24
y vamos a ver que efecto provocaría
00:07:27
vale, vamos a asumir que yo al B
00:07:28
le agrego además
00:07:31
el operador de incremento y se lo pongo aquí detrás
00:07:33
me quedarían tres meses seguidos
00:07:35
para Java no hay ninguna duda
00:07:38
porque al ver dos seguidos
00:07:40
él ya sabe que este es el operador incremento
00:07:42
y el siguiente es la suma
00:07:45
vale, a la C
00:07:47
también le puedo poner si me da la gana
00:07:49
le puedo asociar
00:07:50
a alguno de sus operadores
00:07:51
si quiero, por ejemplo, se lo voy a asociar
00:07:54
pero esta vez aquí delante
00:07:56
vale
00:07:57
bueno, pues esta es una sentencia
00:07:59
también válida, ¿vale? vamos a ver qué significa
00:08:04
¿vale? o sea
00:08:06
a cualquier expresión, repito, a cualquiera
00:08:08
yo puedo, a cualquiera
00:08:11
de sus variables, a cualquiera, a todas
00:08:12
a las que quiera, puedo asociarles
00:08:14
además
00:08:17
un operador incremento o decremento
00:08:17
tanto delante como detrás, puedo y no pasa nada
00:08:20
La sentencia sigue siendo válida
00:08:23
¿Vale? Sigue siendo válida
00:08:24
Ahora lo que tenemos que entender
00:08:26
Es qué implica
00:08:29
Qué significa que yo añada eso
00:08:30
¿Qué significa?
00:08:32
Vale, pues significa
00:08:35
Esto va a seguir siendo una suma sí o sí
00:08:37
Esto va a seguir siendo
00:08:39
Yo quería cambiar el color del fino
00:08:43
Pero
00:08:45
No sé dónde se cambia esto
00:08:47
Ah, aquí, vale, vale
00:08:53
El fino rojo
00:08:55
¿Qué significa ponerlo?
00:08:57
Bueno, pues esto sigue siendo una suma, sí o sí.
00:09:12
Esto sigue siendo una suma.
00:09:20
Una suma de los valores de B y de C.
00:09:22
Pero B y C, además de aportar el valor, además de aportar el valor para la suma,
00:09:26
además pueden sufrir, además de aportar el valor para la suma,
00:09:32
pueden sufrir un incremento o un decremento.
00:09:36
Luego, en esta sentencia se estaría haciendo la suma sí o sí,
00:09:40
pero es que además de la suma, el b va a sufrir un incremento
00:09:44
y el c va a sufrir un decremento.
00:09:48
Por ejemplo, vamos a imaginarnos que yo tengo las a, b y c,
00:09:51
a, b igual a 7 y c igual a 5, ¿vale?
00:09:56
Mis tres variables correctamente declaradas
00:10:02
y la B y la C, además, asignadas un valor en la declaración,
00:10:05
lo que llamamos inicialización.
00:10:11
Vale, pues aquí tendría la suma de B, que en principio vale 7,
00:10:13
y C, que en principio vale 5, ¿vale?
00:10:20
Luego sería la suma de 7 más 5, porque es lo que vale B y C.
00:10:24
Pero ojo, B y C tienen además un operador de estos que les afecta.
00:10:27
Entonces, aquí es donde hay una diferencia muy grande en que este operador esté puesto detrás o delante.
00:10:36
¿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.
00:10:44
y el C se va a quedar decrementado en 1
00:10:51
porque C menos menos significa
00:10:55
C igual a C menos 1.
00:10:56
Eso sí o sí.
00:10:59
B se va a quedar incrementado
00:11:00
y C se va a quedar decrementado
00:11:01
cuando termine esta sentencia, eso seguro.
00:11:03
Pero, ¿cuándo se decrementa C
00:11:05
y cuándo se incrementa B?
00:11:09
¿Antes de hacer la suma o después?
00:11:12
Ahí sí que depende
00:11:16
de si el más más menos menos
00:11:18
¿Esta antes o esta después?
00:11:20
¿Vale?
00:11:22
Entonces aquí, esto es una suma de B y C.
00:11:23
Pero B además se va a quedar incrementado.
00:11:26
Y el más más está detrás.
00:11:30
Con lo cual se va a quedar incrementado pero después de hacer la suma.
00:11:33
Con lo cual B se va a quedar valiendo 8.
00:11:37
Pero en el momento de hacer la suma todavía valía 7.
00:11:42
Porque el más más está después.
00:11:46
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.
00:11:47
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.
00:12:00
Pero la pregunta es, ¿cuándo recibe su decremento?
00:12:11
¿Antes o después de aportar su valor para la suma?
00:12:14
En este caso, como el menos menos está delante,
00:12:19
el C primero se decrementa, primero, y luego ya aporta su valor para la suma.
00:12:23
Luego para la suma no va a aportar el 5, sino que va a aportar el 4.
00:12:29
Eso significaría que A se quedaría valiendo 11.
00:12:35
Y B8, por supuesto, y C4.
00:12:40
Luego, repitiendo, repitiendo, estos operadores más, más y menos, menos,
00:12:51
los puedo yo incorporar a variables que están formando parte de expresiones.
00:13:06
Los puedo incorporar.
00:13:12
Con eso estoy añadiendo operaciones además de la propia operación que me haga la expresión,
00:13:14
que son operaciones de incremento o decremento en la variable en la que está.
00:13:21
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.
00:13:26
Y el único matiz es, ¿cuándo se hace ese incremento y cuándo se hace ese decremento?
00:13:36
¿Antes de la operación o después?
00:13:43
Pues depende, en el caso de B++ se hace después de la operación,
00:13:47
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.
00:13:51
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?
00:14:00
bueno pues
00:14:12
a ver
00:14:17
en este ejemplo está claro
00:14:18
vamos a poner cosas al azar así a lo bestia
00:14:20
a ver si
00:14:28
si somos capaces de sacarlo
00:14:29
es para practicar
00:14:33
lógicamente uno nunca va a encontrarse
00:14:35
ni hacer expresiones así de complejas
00:14:37
pues porque no hay necesidad
00:14:39
de hacer esas cosas tan raras
00:14:41
los códigos tienen que ser un poco más legibles
00:14:42
pero estamos practicando
00:14:44
vale pues imaginaos que yo tengo esto
00:14:46
a más más
00:14:49
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,
00:14:50
Hoy no puedo utilizar A porque es que no tiene un valor inicial.
00:15:09
Bueno, pues ahora mi pregunta es, ¿qué valor acaba teniendo A cuando esta sentencia se ha ejecutado?
00:15:13
¿Qué valor acaba teniendo B cuando esta sentencia se ha ejecutado?
00:15:21
¿Y qué valor acaba teniendo C cuando esta sentencia se ha ejecutado?
00:15:26
Vamos a hacerlo despacio, a ver qué nos sale.
00:15:34
Vale, pues esto es una multiplicación seguida de una resta.
00:15:39
¿Vale?
00:15:49
por la precedencia de operadores
00:15:49
esto siempre se va a hacer antes
00:15:53
pero en este caso
00:15:55
se haría antes en cualquier caso
00:15:56
porque al ir de izquierda a derecha
00:15:59
en igualdad de prioridad
00:16:01
pero bueno, aquí
00:16:03
aunque el por estuviera aquí y el menos aquí
00:16:05
se haría el por antes, bueno, está claro
00:16:07
vale, pues esto es esta operación
00:16:09
ahora la pregunta es
00:16:11
¿qué valores aportan A, C y B
00:16:12
a cada una de estas operaciones?
00:16:16
pues A aporta
00:16:18
el valor que tiene, a aportar 8, porque su incremento lo sufre después de aportar su
00:16:19
valor. Luego A va a aportar 8. ¿Qué valor aporta C a la operación? Aporta 5, porque
00:16:25
se va a decrementar después. ¿Qué valor aporta B? B va a aportar 6. Entonces, el valor
00:16:36
final de A, ya lo tendríamos. El valor final de A sería, pues 8 por 5, 40, ¿no? 40 menos
00:16:48
6, 34. Este sería el valor final de A. El valor final de B, B se va a quedar, B se va
00:16:59
a tener que quedar decrementado obligatoriamente, luego el valor final de B, 8. Y el valor final
00:17:11
de C, C se tiene que quedar decrementado también, con lo cual el valor final de C, 4. Luego
00:17:17
deberíamos obtener 34 para A, 8 para B y 4 para C. Vamos a comprobarlo. Vale, a ver,
00:17:28
Vale, esto era A igual a 8, B igual a, ¿alguien se acuerda el valor que teníamos puesto?
00:17:47
7 y C5 puede ser
00:18:12
Y la operación que teníamos puesta era A igual a A más más
00:18:15
Por C menos menos, menos menos menos, B
00:18:20
¿Vale?
00:18:27
Esta era la expresión que teníamos
00:18:29
Vale
00:18:31
No le gusta que lo ponga juntito
00:18:38
Esta era la expresión que habíamos hecho, ¿verdad?
00:18:45
Pues venga, ahora vamos a mostrar
00:18:55
Valor de A
00:18:57
A igual
00:18:59
Con cateno con el valor de A
00:19:03
B y C
00:19:06
B igual a
00:19:08
B y C
00:19:21
igual a
00:19:27
C
00:19:28
y nos había salido
00:19:29
34A y bueno, las otras
00:19:39
eran más fácil de prever
00:19:42
la B
00:19:43
tendría que ser 6 y la C 4
00:19:46
pero bueno, lo importante es la
00:19:48
A, que nos salía
00:19:50
35
00:19:52
no, 40
00:19:53
menos 6 nos salía, ¿verdad?
00:19:56
40 menos 6, 34
00:19:58
vamos a ver
00:20:00
vale
00:20:02
pues sí, hemos acertado
00:20:11
bueno, alguna duda sobre esto
00:20:17
más o menos
00:20:28
aquí podríamos, pero bueno, no tiene mucho sentido
00:20:29
que perdamos el tiempo
00:20:32
podríamos practicar poniendo operaciones
00:20:33
muy complejas con más, menos
00:20:36
mezclando operadores para ti y para la TAN
00:20:37
y sería cuestión de ir sistemático yendo uno por uno
00:20:39
pero me merece mucho la pena
00:20:42
que nos enredemos en eso
00:20:44
porque realmente entendido
00:20:45
el funcionamiento de los operadores
00:20:48
pues no vamos a manejar expresiones
00:20:50
retorcidas, sería señal de que estamos haciendo un código
00:20:52
muy ilegible, cuando una expresión se convierte en muy larga
00:20:56
y muy ilegible, lo normal es que uno la vaya dividiendo
00:21:00
en partes separadas, de cara a que el que vea el código entienda un poco más
00:21:04
lo que hace, bueno, está claro, ¿no?
00:21:08
Vale, pues más operadores
00:21:18
que tenemos que conocer y manejar
00:21:20
Este operador unario, ya lo hemos visto
00:21:22
Aquí tenemos
00:21:26
Aquí tenemos un ejemplito
00:21:27
Bueno, nada
00:21:34
Vale, pues ahora ya sí que cambiamos
00:21:35
A un tipo, a unos operadores
00:21:39
Que ya involucran otros tipos de variables
00:21:42
Vale
00:21:46
Bueno, pues operadores
00:21:47
Relacionales
00:22:00
o de relación, ¿vale?
00:22:02
Estos operadores nos sirven para comparar números entre sí
00:22:06
y obtener resultados booleanos.
00:22:15
Los operadores aritméticos que habíamos visto,
00:22:19
más, menos, por, división y cociente,
00:22:21
los operadores aritméticos combinaban número con número
00:22:26
y el resultado era un número.
00:22:31
Era para hacer expresiones aritméticas en las cuales combino números, reales, enteros, lo que sea, y obtengo números.
00:22:34
Está claro.
00:22:42
Vale, pues los operadores relacionales combinan números también, pero el resultado es booleano.
00:22:44
¿Por qué?
00:22:51
Porque la expresión que consigue es una expresión condicional.
00:22:52
¿Cuáles son los operadores relacionales, los de relación?
00:22:58
Pues los hemos mencionado ya.
00:23:01
menor que, mayor que, menor o igual, mayor o igual
00:23:02
igual a y distinto de
00:23:06
estos, el igual a, recordad que era el doble igual
00:23:09
y el distinto de es
00:23:16
la admiración y el igual, pues estos son los relacionales
00:23:18
que nos permiten comparar números
00:23:25
cosas que tienen orden, entonces con el operador
00:23:28
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.
00:23:35
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
00:23:46
o true o false
00:23:58
esto o se cumple o no se cumple
00:23:59
luego el resultado de evaluar
00:24:01
una expresión
00:24:04
que tienen estos operadores
00:24:05
el resultado
00:24:07
es Boolean
00:24:09
¿vale?
00:24:11
luego son los operadores básicos
00:24:13
para construir condiciones
00:24:17
¿vale? ya los hemos intuido
00:24:18
otras veces porque
00:24:23
los conocemos de matemáticas
00:24:24
entonces hay
00:24:26
por ahora hay poco que decir de esto
00:24:32
¿Vale? Vale, aquí está todo explicado, ¿vale? Estos son los operadores que hemos hablado, ejemplitos y ya está. De esos hay poco que decir.
00:24:35
Y ahora sí que saltaríamos a los booleanos, que estos ya nos dan un poquito más de flexibilidad.
00:25:03
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.
00:25:25
Vale, pero a veces las condiciones son más complejas porque combinan varias partes
00:25:35
Por ejemplo, esta mesa es verde es una condición, está claro
00:25:41
Puede ser true o puede ser false
00:25:47
Pero esta mesa es verde y está rota también es una condición
00:25:49
Porque eso puede ser falsa o puede ser mentira
00:25:54
¿Vale? Luego esta mesa es verde
00:25:57
Y está rota
00:26:00
He combinado dos
00:26:01
Condiciones más sencillas
00:26:04
La condición esta mesa es verde
00:26:06
Y la condición esta mesa está rota
00:26:07
He combinado dos condiciones sencillas
00:26:10
¿Con qué las he combinado?
00:26:12
Poniendo el I
00:26:14
Y poniendo el I en el lenguaje natural
00:26:14
He conseguido una condición
00:26:18
Más compleja
00:26:20
Esta mesa es verde y esta mesa está rota
00:26:20
¿Vale? Eso lo manejamos
00:26:23
En lenguaje natural
00:26:25
¿Cuándo será verdad que esta mesa es verde y esta mesa está rota?
00:26:26
Cuando se cumplen las dos cosas simultáneamente
00:26:32
Si esta mesa es verde y además está rota
00:26:34
Yo diré que esa condición es true
00:26:37
¿Pero qué ocurre si es verde y no está rota?
00:26:41
Pues la condición esta mesa es verde y esta mesa está rota
00:26:46
¿Qué será?
00:26:49
Falsa, porque una de las dos no se cumple
00:26:50
Entonces cuando yo elaboro en lenguaje natural
00:26:53
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?
00:26:56
Pero también sabemos hacer condiciones en otros, en lenguaje natural, que las hacemos todo el rato, con el O, ¿verdad?
00:27:07
Yo podría decir, esta mesa es azul o esta mesa está vacía, podría decirlo.
00:27:14
entonces, esta mesa está azul
00:27:22
o esta mesa está vacía
00:27:26
puede ser verdad o puede ser mentira
00:27:27
¿cuándo será verdad?
00:27:30
cuando una de las dos
00:27:36
o sea, claro
00:27:37
entonces esta mesa
00:27:39
que esta mesa es azul es falso, está claro
00:27:40
pero yo he dicho que esta mesa es azul o está vacía
00:27:42
entonces estar vacía es verdad
00:27:45
entonces, esta mesa es azul
00:27:46
o está vacía
00:27:49
es una condición compleja que su resultado
00:27:50
final es verdad, porque es azul
00:27:53
o está vacía, pues está vacía
00:27:55
ya está, se cumple una de las dos
00:27:57
entonces cuando hago una condición más compleja
00:27:58
con el O
00:28:01
todos nos entendemos y sabemos
00:28:03
que si una de las dos cosas
00:28:05
se cumple
00:28:07
ese enunciado más complejo que estoy diciendo
00:28:08
es verdad, es verdad, vale
00:28:11
sin embargo
00:28:13
si no se cumple a ninguna de las dos
00:28:15
esta mesa es azul o
00:28:17
tiene un duende encima
00:28:19
pues falso, ni es azul
00:28:20
y tiene el do en del tu, falso
00:28:23
pero cuando hacemos un enunciado
00:28:25
con el o natural
00:28:27
si no se cumple ninguna
00:28:28
de las sencillas
00:28:30
el enunciado total es falso
00:28:32
y así nos entendemos siempre
00:28:35
y no tenemos dudas sobre eso
00:28:36
pues eso también tenemos que ser capaces
00:28:38
de programarlo
00:28:41
bueno, pues el i es este
00:28:42
operador de aquí
00:28:45
y el o es este operador
00:28:46
de aquí, ya está
00:28:49
¿vale?
00:28:50
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.
00:28:55
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é?
00:29:05
Porque también nosotros hacemos condiciones poniendo un no delante, usando el no.
00:29:15
Por ejemplo, yo puedo decir, es verde esta mesa, vale, tengo esa condición, es verde esta mesa,
00:29:22
¿false o sí?
00:29:29
Pero puedo decir, construir otra diciendo, no es verde esta mesa, o sea, negando la otra.
00:29:30
Entonces yo puedo elaborar una condición expresándola como la negada de otra, ¿verdad?
00:29:36
Yo puedo decir, este chico es alto
00:29:43
Que esa es una condición
00:29:46
Puede ser falso, puede ser true
00:29:48
Y puedo hacer otra
00:29:50
Que es negando esa
00:29:51
Que si este chico no es alto, negando
00:29:52
Esa es otra condición
00:29:55
Que la he construido negando
00:29:57
La primera
00:29:59
Igual que hago una condición
00:30:01
Con el i poniendo 2
00:30:03
Aquí hago otra poniendo 2
00:30:05
Pues el no me construye otra condición
00:30:07
A partir de una única
00:30:10
Negándola
00:30:11
entonces
00:30:12
lógicamente la condición
00:30:15
que yo he construido
00:30:18
añadiendole el no, negándola
00:30:19
será verdad si la primera es
00:30:22
falsa
00:30:24
y será mentira si la primera
00:30:25
es true, lógicamente
00:30:28
¿vale? este chico es alto
00:30:29
no es este chico alto
00:30:32
pues si la primera es true, la otra va a ser false
00:30:33
lógicamente, porque es la negada de la otra
00:30:35
y si la primera es false, la negada va a ser true
00:30:37
lógicamente
00:30:40
¿vale?
00:30:40
entonces también puedo construir condiciones
00:30:42
negando otra
00:30:45
¿qué son los otros? pues el lenguaje
00:30:46
natural decimos no pasa esto
00:30:51
que sería el negado de
00:30:52
pasa esto, pues no pasa esto
00:30:54
el negado de pasa esto
00:30:57
eso también lo podemos expresar en programación
00:30:58
y el operador sería este
00:31:01
la admiración hacia abajo
00:31:02
¿vale? el and
00:31:04
este doble ampersand que está ahí
00:31:06
el or, esta doble barrita
00:31:08
y el no pasa esto
00:31:10
es admiración
00:31:12
¿y puedo mezclar
00:31:14
empezar con una negación y añadir
00:31:17
claro, tú
00:31:20
puedes ir combinando estos operadores
00:31:22
para hacer una expresión
00:31:24
booleana todo lo compleja que necesites
00:31:26
por ejemplo
00:31:28
por ejemplo
00:31:29
venga, vamos a ver
00:31:35
ejemplos
00:31:39
de booleanos
00:31:44
booleanos
00:31:46
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.
00:31:48
esta es una expresión
00:32:22
que tiene un operador relacional
00:32:25
menor que que relaciona números
00:32:27
vale, a menor que b
00:32:29
esto será true o será false, ya veremos
00:32:30
a menor que b, vale
00:32:33
entonces esto significa lógicamente
00:32:34
el número a es estrictamente
00:32:37
menor que b, vale
00:32:39
yo ahora quiero conseguir una condición
00:32:41
más compleja, que es el número a es menor que b
00:32:44
pero también es menor que c
00:32:47
quiero expresar que a sea
00:32:49
menor que ambos, que los dos
00:32:50
entonces, en lenguaje natural
00:32:52
nosotros abreviamos mucho las cosas
00:32:54
y decimos
00:32:56
a menor que a, a menor que b y que c
00:32:57
pero aunque lo abreviemos
00:33:00
eso en programación son dos cosas independientes
00:33:02
que es, a es menor que b
00:33:05
esa es una, y a es menor que c
00:33:06
es otra, no existe a menor que b y que c
00:33:08
en programación, lo tengo que separar
00:33:10
siempre
00:33:13
en las condiciones más simples
00:33:13
que siempre son estas, las que tienen la forma de
00:33:16
menor que, mayor que
00:33:19
igual, distinto, menor o igual o mayor o igual
00:33:20
esas son las básicas
00:33:22
y cualquier otra más compleja va a ser una combinación
00:33:24
de las básicas, entonces
00:33:26
A es menor que B y que C simultáneamente
00:33:28
lo tengo que traducir al idioma
00:33:30
de sentencias básicas, que será
00:33:32
A es menor que B
00:33:34
y A es menor que C
00:33:36
¿vale?
00:33:38
entonces, esa condición
00:33:40
más compleja sería
00:33:43
A es menor que B
00:33:44
y
00:33:47
y A es menor que C, ¿vale?
00:33:49
Si quiero que quede más claro, le puedo poner aquí paréntesis,
00:34:00
porque hay veces que las condiciones se hacen más largas,
00:34:04
y si quiero que quede más claro, le puedo poner paréntesis,
00:34:07
pero por contexto, el compilador lo va a entender,
00:34:11
porque esto tiene más prioridad que, perdón, esto tiene más prioridad que este,
00:34:16
o sea, por contexto lo va a entender, ¿vale?
00:34:20
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.
00:34:23
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.
00:34:41
Pero a veces por claridad no pasa nada
00:34:50
Los paréntesis no pasa nada por abusar de ellos
00:34:53
Si dejan las cosas más claras
00:34:55
¿Vale? No pasa nada
00:34:57
Si queremos
00:34:58
Y así puedo hasta el infinito
00:35:00
¿Vale? Yo podría
00:35:11
Esta condición
00:35:15
Ahora va a ser
00:35:16
La negada de toda la anterior
00:35:18
La negada de toda la anterior
00:35:21
Pues también es válida
00:35:23
¿Vale? Esto también es válido
00:35:29
Esto, una expresión booleana, porque es el negado, la negado de esta.
00:35:43
Esto significa, no es verdad que A sea simultáneamente menor que B y simultáneamente menor que C.
00:35:53
Es lo que significa, eso no es verdad, que sea simultáneamente menor que ambos.
00:36:02
si lo traducimos a nuestro idioma sería
00:36:06
si no es verdad
00:36:09
que sea simultáneamente menor que ambos
00:36:10
es que es mayor que alguno de los dos
00:36:14
mayor que alguno de los dos
00:36:16
tiene que ser
00:36:18
entonces
00:36:18
esa sentencia
00:36:21
¿vale?
00:36:23
será true
00:36:25
si no es verdad
00:36:26
que sea simultáneamente
00:36:30
menor que ambos
00:36:32
si no es verdad
00:36:32
por ejemplo
00:36:33
Vamos a poner aquí el resultado
00:36:37
A ver
00:36:42
A
00:36:46
¿Cuánto vale aquí?
00:36:47
Vamos a comentar esta expresión para que no la cambie
00:36:50
Vamos a subir B
00:36:53
A 10
00:36:57
Entonces
00:36:58
A no es simultáneamente menor que B
00:37:00
Y menor que C
00:37:03
Porque es menor que B pero menor que C no lo es
00:37:04
Luego
00:37:07
esto va a ser falso
00:37:09
perdón, esto va a ser true
00:37:11
porque esta es falsa
00:37:13
porque A no es simultáneamente menor que B y menor que C
00:37:17
menor que B sí lo es
00:37:19
luego esta es true
00:37:21
pero es que esta es falsa
00:37:23
porque no es menor que C
00:37:24
entonces, esta es falsa
00:37:26
si yo la niego, esta es true
00:37:29
con lo cual esto me va a dar true
00:37:31
¿vale?
00:37:34
me va a dar true porque A
00:37:38
no es simultáneamente menor que ambos
00:37:40
sin embargo
00:37:42
si yo cambio y pongo aquí el or
00:37:48
el significado
00:37:50
de esta expresión ha cambiado completamente
00:37:54
porque esto me dice
00:37:56
A es menor que alguna de las dos
00:37:59
es lo que significa esto
00:38:01
A es menor que B o A es menor que C
00:38:03
y con esto lo niego
00:38:05
estoy diciendo
00:38:07
no es verdad que A sea menor
00:38:09
que alguna de las dos
00:38:12
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.
00:38:13
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.
00:38:28
¿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.
00:38:45
Lo normal es que las condiciones no sean unas cosas extrañísimas porque es muy raro.
00:39:06
vale
00:39:11
pues aquí está puesto lo que significan estos operadores
00:39:17
pero de land y de lore
00:39:26
hay otra versión
00:39:29
que es con un único simbolito
00:39:32
o con dos
00:39:35
son dos versiones diferentes de lo mismo
00:39:38
de land y de lore
00:39:41
y de nuevo preguntaréis
00:39:42
y porque hay dos versiones de lo mismo
00:39:44
del ilógico o del orlógico
00:39:47
hay dos versiones de lo mismo
00:39:49
porque hay un matiz
00:39:51
en cómo funcionan
00:39:52
un matiz importante
00:39:55
pero vamos a parar aquí
00:39:57
para que no se haga demasiado rollo
00:39:58
y lo vemos ahora después del cambio
00:40:00
- Materias:
- Programación
- Niveles educativos:
- ▼ Mostrar / ocultar niveles
- Formación Profesional
- Ciclo formativo de grado básico
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado medio
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado superior
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado básico
- Subido por:
- Raquel G.
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 3
- Fecha:
- 24 de septiembre de 2026 - 13:50
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 40′ 03″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 643.29 MBytes