Saltar navegación

20250930 ProgEstr-Operadores_6 - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 30 de septiembre de 2025 por Raquel G.

3 visualizaciones

Descargar la transcripción

para poder avanzar 00:00:00
y hacer ya cositas más interesantes 00:00:02
y ya está 00:00:04
vale 00:00:06
el documento que estamos dando como guía para no perdernos 00:00:07
ya sabemos 00:00:10
ya hacer condiciones ¿verdad? 00:00:12
sencillas 00:00:15
y sabemos hacer 00:00:15
sabemos 00:00:17
joder 00:00:18
sabemos hacer condiciones con el menor que 00:00:20
mayor que, menor o igual 00:00:24
mayor o igual, igual a 00:00:26
y distinto de 00:00:27
sabemos hacer condiciones con estos operadores 00:00:29
comparando cosas que tengan 00:00:31
como numeritos y carácter y ya está 00:00:33
pero 00:00:35
esas condiciones 00:00:37
que podemos hacer son tan simples 00:00:39
que hay veces que 00:00:41
necesitamos 00:00:43
construir operaciones más complejas 00:00:44
para lo cual 00:00:48
podemos unir condiciones sencillas 00:00:50
con los operadores lógicos 00:00:52
o booleanos 00:00:54
estos operadores 00:00:55
me permiten unir dos condiciones más sencillas 00:00:57
y obtener una más grande. 00:01:01
Luego, los relacionales unen numeritos 00:01:05
y obtienen una condición. 00:01:09
Los booleanos unen condiciones 00:01:12
y obtienen otra condición más grande. 00:01:15
¿Cuáles son? 00:01:19
Esencialmente, el an, el or y el not. 00:01:26
Los de toda la vida. 00:01:31
es una aclaración hacia abajo 00:01:32
sí, una exclamación, la de cierre 00:01:34
no la de apertura 00:01:37
entonces, estos son los tres 00:01:37
de toda la vida, y así es como 00:01:40
se escriben en Java 00:01:42
entonces, si yo uno dos condiciones 00:01:44
con and 00:01:47
la condición gordota que 00:01:48
encuentro, será cierta 00:01:50
solo si lo son 00:01:53
simultáneamente las dos 00:01:54
si yo uno dos condiciones 00:01:56
pequeñitas con un or 00:02:00
obtengo una condición más grandota 00:02:02
y esa condición 00:02:04
será cierta con que 00:02:06
alguna de las dos, cualquiera de las dos 00:02:08
lo sea, si son las dos también, claro 00:02:10
y el not 00:02:12
solo se aplica a una condición 00:02:14
que va detrás 00:02:17
y es la contraria 00:02:18
si a 00:02:20
es cierta 00:02:22
con el no delante 00:02:24
la condición que consigo 00:02:27
es falsa 00:02:28
y si A es falsa, justo, la condición 00:02:29
que consigo es cierta, entonces 00:02:32
con esto que expreso, enunciados 00:02:34
del tipo, pasa 00:02:36
esto y además pasa 00:02:38
esto, entonces cuando mi 00:02:40
enunciado es, pasa esto y 00:02:42
pasa esto, me va a hacer falta 00:02:44
un A, esto y 00:02:46
esto, pero cuando 00:02:48
mi enunciado es, pasa 00:02:49
esto o pasa esto 00:02:52
otro, pues entonces sé que 00:02:54
automáticamente será un O 00:02:56
pero si mi enunciado es 00:02:57
no pasa esto 00:03:00
pues entonces sé que automáticamente 00:03:01
mi operador que me vendrá bien 00:03:03
poner es el not 00:03:06
son los tres básicos 00:03:06
hay 00:03:10
las versiones estas 00:03:14
para estos dos 00:03:17
las versiones con uno solo 00:03:19
que 00:03:21
las versiones con uno solo 00:03:24
que diréis porque hay dos 00:03:30
versiones, con uno y con dos. 00:03:33
Pues bueno, tiene su mira. 00:03:34
Tendremos que verlo. 00:03:37
No nos queda otra. 00:03:38
Y este operador extraño, que ya nos apareció en un text, 00:03:40
que este es más raro de usar, porque no 00:03:42
expresa situaciones muy naturales. 00:03:44
Las aplicaciones gestionan 00:03:47
cosas de la vida real, entonces no están 00:03:48
para hacer cosas extrañas. 00:03:50
Este operador es 00:03:53
más raro. Este es el 00:03:54
O exclusivo. Este es cierto 00:03:56
si lo es 00:03:59
solo una de las dos. 00:04:00
luego es distinto que este 00:04:03
este es cierto 00:04:05
si lo es esta 00:04:07
o si lo es esta 00:04:08
o si lo son las dos también 00:04:10
o esta o la otra o las dos 00:04:11
pero este de abajo 00:04:14
si las dos fueran ciertas 00:04:16
la compuesta es falsa 00:04:18
tiene que ser una de las dos 00:04:20
por eso se llama el or exclusivo 00:04:22
¿vale? 00:04:24
¿vale? 00:04:26
Claro, tú pones un if 00:04:26
Y aquí la condición que sea 00:04:38
Pues imagina, si pones este operador 00:04:39
Pues entrará en el if 00:04:42
Si se cumple esta y esta 00:04:43
Una de las dos, pero solo una 00:04:46
Si tú pusieras un or 00:04:48
Que son las dos barritas 00:04:50
Una de las dos o las dos 00:04:51
Vale 00:04:53
vale 00:04:54
si esto se movía 00:04:56
ya no se mueve 00:05:03
esto claro 00:05:05
como son de muy baja calidad pues ya nos hemos 00:05:07
cargado el este de tanto 00:05:09
yo creo 00:05:11
debería pero ya me lo he cargado 00:05:15
yo creo 00:05:18
a ver son las de low cost 00:05:18
de la comunidad de Madrid 00:05:25
entonces 00:05:26
prueba las flechitas 00:05:28
de los lados 00:05:33
se ve que el ordenador 00:05:33
se ha congelado 00:05:37
le he quitado el táctil 00:05:37
pero no 00:05:39
lo que yo quiero es que sea 00:05:39
la de mi ordenador táctil 00:05:55
que esto me lo ha hecho de siempre, de toda la vida 00:05:56
yo podría aquí seleccionar 00:05:58
pero bueno, da igual 00:06:00
si da lo mismo 00:06:02
vale, era para ver si teníamos 00:06:03
algo más debajo interesante 00:06:06
no, vale, esto lo explica 00:06:08
un poquito, nos da un poco igual 00:06:12
true and false, bla bla bla 00:06:14
todo esto lo podéis leer, bla bla bla 00:06:15
vale 00:06:19
venga, a ver 00:06:20
vamos a verlo 00:06:26
Ejemplológicos 00:06:29
Ahora con los ejemplos 00:06:34
Vamos a ver porque hay dos versiones 00:06:44
Vamos a verlo 00:06:46
Porque 00:06:47
Puede la curiosidad 00:06:49
Vale 00:06:51
Pues an orino 00:06:54
Ya sabemos, por ejemplo 00:06:56
Programa que 00:06:57
Te pide 00:07:00
Tu edad 00:07:01
te tiene que decir 00:07:04
si estás 00:07:06
en condiciones de trabajar 00:07:07
o lo que es lo mismo 00:07:10
si eres mayor o igual de 16 00:07:11
¿se puede trabajar con 16 o 17? 00:07:13
no solo con 18 00:07:16
pues te dice 00:07:17
si eres mayor o igual de 16 00:07:22
y menor o igual de 00:07:23
pues yo que sé, la edad que se jubile la gente ahora 00:07:26
Venga 00:07:28
Venga, pues formulario que le metemos aquí a un tío 00:07:30
Para decirle 00:07:50
No, no, no pidas trabajo 00:07:52
Porque no puedes 00:07:54
Le decimos 00:07:56
Introduce tu edad 00:07:59
Ala 00:08:04
la variable edad es un entero 00:08:09
y la leemos 00:08:12
ahora 00:08:17
ahora tenemos que pensar 00:08:20
este programa 00:08:23
¿qué tiene que hacer? 00:08:24
pues me tiene que mostrar una cosa 00:08:26
u otra en función de una 00:08:28
condición, pues ya automáticamente 00:08:30
después de haber entendido el programa 00:08:33
y haber empezado a diseñarlo un poco más 00:08:35
ya identificamos el término 00:08:36
uy, condición, vale, condición, genial 00:08:38
mi programa depende 00:08:40
de una condición 00:08:42
lo que le va a contestar al tío. 00:08:43
Depende de una condición. 00:08:46
Pues no pasa nada. 00:08:47
Me hago yo aquí mi boolean maravilloso 00:08:50
para 00:08:52
guardar esa condición. 00:08:55
Vale. Y ahora, 00:09:01
¿qué condición me interesa a mí reflejar? 00:09:02
Me han dicho 00:09:05
que esa persona 00:09:05
esté en condiciones de trabajar. 00:09:07
Pero claro, en Java 00:09:11
no existe la condición de estar en condiciones de trabajar. 00:09:12
Entonces tengo que traducirla 00:09:14
lengua fijada 00:09:16
si depende de la edad 00:09:17
que es de lo único que puede depender 00:09:20
será 00:09:22
mayor o igual que 18 00:09:23
¿y solo con que sea mayor o igual que 18 ya puede trabajar? 00:09:25
también tiene que ser menor o igual 00:09:30
que 70, dejémoslo en 70 00:09:32
entonces 00:09:34
esa es una condición ya compuesta 00:09:35
porque es el i lógico 00:09:38
de dos cosas 00:09:40
mayor o igual que 18 00:09:41
y menor o igual que 70 00:09:43
Luego, es una condición igual, pero identifico, ya solo con el hecho de decirlo yo de palabra, de mi viva voz, me di cuenta de que es una condición compuesta. 00:09:46
Entonces, será el compuesto de edad mayor o igual que 18 y, y como el i me han dicho que es el doble ampersand, pues yo lo pongo. 00:09:56
Y edad 00:10:13
Menor o igual que 70 00:10:15
Por ejemplo 00:10:18
Ponemos, por ejemplo 00:10:18
Porque si tú eres profe de universidad 00:10:21
Puedes trabajar hasta los 70 00:10:23
O de instituto 00:10:24
Podríamos estar aquí hasta los 70 00:10:31
Vale 00:10:36
Vale 00:10:39
Entonces 00:10:45
Ahora le decimos al tío 00:10:47
Puedes trabajar 00:10:49
Y ponemos el resultado de la condición 00:10:55
Pues sí 00:11:00
Puedes trabajar con 56 años 00:11:16
Vale 00:11:20
Vale, entonces 00:11:21
El operador AND está entendido 00:11:25
Sirve para unir dos condiciones 00:11:27
La global será cierta 00:11:30
Si lo son cualquiera de las dos 00:11:33
¿Vale? 00:11:35
El OR 00:11:37
Pues ya sabemos el sentido que tiene 00:11:38
La global será cierta si lo es una de las dos 00:11:40
Por ejemplo, vamos a poner la condición 00:11:42
Con la edad 00:11:54
Condición 1 00:11:57
Vamos a expresar que además le queremos decir al tío 00:11:59
Vale, pues vamos a expresar que 00:12:02
Eres niño 00:12:09
El OR es un operador 00:12:13
Que une un boolean con otro boolean 00:12:18
Claro, porque es o esto o lo otro 00:12:20
Entonces solamente puedes comprarlo 00:12:24
En condiciones 00:12:26
No, no, no 00:12:27
Son operadores lógicos 00:12:31
Que unen una condición con otra 00:12:33
Para hacer una gordota 00:12:35
Claro, entonces por ejemplo 00:12:36
Si pusiéramos la condición 00:12:38
Oye, ahora te voy a decir 00:12:39
si eres niño o centenario. 00:12:41
A ver si eres alguna de las dos cosas. 00:12:47
Pues podría ser esto. 00:12:50
Eres niño, menor o igual que 12 años, 00:12:52
o eres centenario, mayor o igual que 100. 00:12:55
Esta es otra condición válida. 00:13:02
Con el operador OR. 00:13:04
Esta se va a cumplir con el ALT-GR y el 1 en mi teclado. 00:13:05
el oro exclusivo 00:13:14
vale, pues a ver 00:13:17
este por ejemplo, ¿dónde está la flechita 00:13:19
aquí en el teclado? 00:13:21
el oro exclusivo, pero es que no lo encuentro en el teclado 00:13:27
a ver, podrán pasar 00:13:29
40 años más y jamás 00:13:33
usaré ese operador ni lo he usado 00:13:35
en los últimos 200 00:13:37
es que no lo encuentro 00:13:38
¿dónde está ese operador en el teclado? 00:13:40
el sombrerillo ese 00:13:45
Ah, joder, parezco tonta 00:13:47
Si está aquí 00:13:55
Vale, es que no lo usan en la vida ese operador 00:13:56
Vale 00:13:58
Este 00:14:01
Claro, es que no lo puedes usar con string 00:14:02
Es un operador 00:14:08
Es booleano 00:14:09
Claro, los que hemos visto aquí son todos lógicos 00:14:10
Que son 00:14:14
A partir de condiciones más sencillas 00:14:14
Es una condición más gorda. 00:14:17
Entonces, esta condición será cierta si es niño o si es centenario. 00:14:18
Una de las dos. 00:14:25
En este caso es que es imposible que sea las dos. 00:14:26
Con lo cual, poner esto y poner el oro es lo mismo. 00:14:28
Por ejemplo, vamos a cambiar esta condición a que sea entre 2 igual a 0. 00:14:32
Vale, pensad en esta condición que he puesto. 00:14:42
Vale. 00:14:45
imaginaos 00:14:47
a ver, esta condición 00:14:49
imaginaos que meto yo 00:14:52
como edad 00:14:54
12, condición que será 00:14:55
¿true o false? rápido 00:14:58
instantáneamente 00:14:59
¿false? 00:15:01
porque las dos son true 00:15:04
¿vale? 00:15:06
si le meto 17 00:15:07
¿qué me da esa condición? rápidamente 00:15:09
¿cómo que true? 00:15:12
¿False? Claro, si no es true o es false. 00:15:15
¿False? ¿Por qué? 00:15:18
Porque las dos son falses. 00:15:19
Las dos son falses. 00:15:21
Pues eso, esta es falsa y esta es falsa. 00:15:25
¿Vale? Con lo cual, el oro exclusivo me da falso. 00:15:29
El oro exclusivo me da falso con las dos true o falso con las dos falsas. 00:15:31
Entonces, si yo ahora le digo el 5, ¿qué me da? ¿True o falso? 00:15:37
True. 00:15:41
True, porque esta es cierta y esta es falsa 00:15:42
¿Vale? 00:15:47
Y si le doy el 24 00:15:48
¿Me da true o falsa? 00:15:51
¡No! 00:15:55
Me da true, porque esta es falsa 00:15:58
Y esta es true 00:15:59
Si le doy 24 00:16:00
Me da true 00:16:03
Si le doy 12, me da falsa 00:16:04
¿Vale? 00:16:07
O sea, entonces el piquito este 00:16:08
Es or 00:16:11
Oro exclusivo 00:16:11
Es decir, o una o la otra 00:16:13
Pero nunca ninguna 00:16:16
Pero no las dos a la vez 00:16:17
Colozón 00:16:18
Nunca jamás en vuestra vida lo vais a ver 00:16:21
Pero para qué lo preguntas 00:16:23
Bueno, pues ahora ya lo habéis entendido 00:16:27
Ese es el oro no exclusivo 00:16:30
Esa sí es más interesante 00:16:34
Esta 00:16:35
Esta ya sí tiene un sentido real 00:16:38
Cuando tú dices 00:16:43
O una o la otra 00:16:44
También te vale cuando son las dos 00:16:45
Esto ya tiene un sentido real 00:16:48
Esto es cierto 00:16:50
Si lo es una 00:16:52
O si es lo a otra 00:16:53
O las dos, ¿vale? 00:16:54
O sea, es al menos una de las dos 00:16:56
¿Vale? Esto 00:16:57
Si al menos una de las dos es cierta 00:16:59
El total es cierto 00:17:02
Que eso sí que tiene un sentido en la vida real 00:17:03
¿Vale? 00:17:05
normalmente no nos ponemos tan exclusivos 00:17:06
o esto 00:17:09
o esto otro 00:17:10
como sean las dos, no 00:17:11
o esto o esto otro, normalmente dices 00:17:14
me valen las dos cosas, me vale esta 00:17:16
me vale esta, pero me valdrían las dos también 00:17:18
es un sentido real 00:17:20
pues este es el 00:17:22
normal, entonces 00:17:24
si aquí le damos 00:17:26
24, me da true 00:17:28
si le damos 12, me da true 00:17:30
si le damos 7 00:17:33
me da true 00:17:35
¿Vale? 00:17:36
Pero si le damos 25 00:17:39
Me da falso 00:17:42
O sea, solo me daría falso 00:17:45
Para los impares mayores de 13 00:17:47
¿Verdad? 00:17:49
Para los impares mayores de 13 me da falso 00:17:51
Para el resto de números me da falso 00:17:54
Para los impares mayores de 13, falso 00:17:58
¿Vale? 00:18:01
¿Cómo, cómo, cómo que te he roto? 00:18:06
No puede ser 00:18:10
A ver, esta condición es cierta 00:18:11
Si el número es par, ¿verdad? 00:18:15
Luego el or 00:18:18
Solo será falso 00:18:18
Si son falsas las dos 00:18:20
Es decir, mayor que doce 00:18:22
E impar 00:18:25
Solo para eso son falsas las dos 00:18:26
Para cualquier otro caso 00:18:31
Una de las dos es true 00:18:33
Y con que una de las dos sea true 00:18:34
O las dos, por supuesto 00:18:37
Según que una de las dos lo sea, la total ya es true 00:18:38
¿Vale? 00:18:41
Entonces, and y or 00:18:43
Tienen el sentido normal 00:18:44
Dos condiciones unidas con el and 00:18:47
La total es cierta si lo son las dos 00:18:50
Con que una sea falsa 00:18:52
Falsa la total 00:18:53
Y el or 00:18:56
La total es cierta 00:18:57
Con que lo sea al menos una 00:19:00
Me da igual cuál de las dos 00:19:02
Con que lo sea al menos una 00:19:04
y por supuesto 00:19:05
si no son las dos 00:19:07
la total es cierta 00:19:08
¿vale? 00:19:10
claro 00:19:14
¿cómo averiguas tú si un número es par? 00:19:14
y a todo su resto dice 3-0 00:19:17
¿vale? 00:19:18
vale 00:19:31
ahora 00:19:32
antes de irnos 00:19:33
podemos irnos ya 00:19:35
a la pregunta natural 00:19:37
¿Y por qué hay dos variantes? 00:19:38
Vale 00:19:45
¿Estamos preparados para 00:19:46
Saberlo? 00:19:48
Dos variantes del AND y del OR 00:19:51
¿Vale? 00:19:53
Porque 00:19:56
Este programa 00:19:57
También lo puedo hacer yo 00:19:59
Con el operador AND 00:20:02
En su otra variante 00:20:05
Que sería este 00:20:07
¿Verdad? 00:20:09
Porque me han dicho 00:20:14
Que lo puedo usar 00:20:15
Con el doble y con el simple 00:20:17
De hecho si lo ejecutamos 00:20:19
Yo le meto 00:20:21
Introduce tu edad, 67 00:20:23
Puedes trabajar 00:20:25
Introduce tu edad 00:20:27
Puedes trabajar 00:20:31
¿Vale? 00:20:32
3, pues no puedes 00:20:35
Entonces, jolín, si es que hace lo mismo 00:20:38
¿Por qué hay dos variantes? 00:20:40
Vale, pues hay dos variantes. 00:20:43
Funcionan de forma distinta. 00:20:45
O sea, no tiene sentido que haya dos formas de hacerla. 00:20:46
Eso. 00:20:50
¿Para qué? 00:20:50
¿Para qué se va a inventar el lenguaje de programación? 00:20:51
¿Para qué se va a inventar dos símbolos si hacen lo mismo? 00:20:55
Es que no hacen lo mismo. 00:20:57
A ver, ¿cómo funciona el doble de arriba? 00:21:00
La máquina virtual evalúa la primera condición. 00:21:05
imaginaos que esta es falsa 00:21:08
porque yo he metido D 00:21:11
entonces cuando la máquina virtual ve que esta es falsa 00:21:15
la siguiente condición es que le da exactamente igual 00:21:19
porque la total va a ser falsa 00:21:22
porque el AND necesita que las dos sean true 00:21:25
con lo cual si la primera es falsa 00:21:27
esta ni la mira 00:21:31
la tira a la basura como si no existiera 00:21:33
y ya devuelve el resultado 00:21:35
falso, para condicionar. 00:21:38
Sin embargo, ¿qué hace 00:21:42
la máquina virtual 00:21:43
si se encuentra la versión con solo 00:21:44
un operador? 00:21:49
Pues, la estamos 00:21:51
obligando, aunque no le haga 00:21:53
ninguna falta, a evaluar 00:21:55
esta también. 00:21:57
Está perdiendo el tiempo. 00:21:59
Si solo se encuentra el operador, la máquina virtual 00:22:01
evalúa la primera. 00:22:04
Si es falso, 00:22:07
es que me da igual como sea la segunda 00:22:08
me da igual 00:22:10
pero no me queda más remedio 00:22:11
que evaluarla, porque me han puesto 00:22:14
el operador con un solo símbolo 00:22:16
entonces la evalúo 00:22:19
me da igual lo que me dé, por la otra más el pausa 00:22:20
entonces diré 00:22:22
¿y para qué narices? ¿qué sentido tiene 00:22:24
que le obliguemos a evaluar 00:22:26
una condición cuando el resultado 00:22:29
le va a dar lo mismo 00:22:31
si aquí es falso? 00:22:32
dejémosle siempre 00:22:35
con el doble operador y que no lo evalúe. 00:22:36
Vale, pues el sentido que tiene es 00:22:39
que a la vez que hacemos una condición, 00:22:41
podemos meter dentro, colar dentro, 00:22:48
una asignación, por ejemplo. 00:22:51
Es decir, imaginaos esta situación. 00:22:55
Yo quiero... 00:23:02
Claro, con el or lo mismo. 00:23:04
Tú tienes la doble barra. 00:23:09
Si la primera es true, le da igual lo que sea la segunda. 00:23:10
Pero si pones la barra simple, le obligas a evaluar la segunda. 00:23:14
Entonces, ¿en qué situaciones hay diferencia entre que evalúe y no? 00:23:18
Pues, por ejemplo, imaginaos esta situación. 00:23:23
Vamos a hacer aquí, a ver, voy a hacerlo en una clase distinta. 00:23:28
Simple operado. 00:23:45
Vamos a suponer un programa que pide dos edades, la edad del padre y del hijo 00:23:47
Y te tiene que hacer una condición para mostrarte si la edad del padre es múltiplo de la del hijo, por ejemplo 00:23:54
Vale, pues entonces, como vamos a leer por teclado, hacemos el escáner 00:24:03
Aquí la variable para guardar la edad del padre y aquí la variable para guardar la edad del hijo 00:24:40
Todavía no le vamos a dar valor 00:24:46
Se supone que es un valor que vamos a leer ahora con el escáner 00:24:49
Introduzca la del padre, introduzca la del hijo 00:24:51
Vale 00:24:53
Aquí vamos a dejar eso 00:24:54
Ahora de pedir la del padre y del hijo 00:24:57
Vamos a escribir primero la condición 00:24:59
Vale 00:25:01
Bueno, no, que sea múltiplo 00:25:09
Necesito que sea una que ligue dos 00:25:11
Que la edad del padre 00:25:13
Que el padre sea 00:25:16
La condición que vamos a poner es 00:25:18
Que el padre sea mayor de edad 00:25:20
Y que su edad 00:25:23
Sea múltiplo de la de su hijo 00:25:28
Venga, nos pueden 00:25:31
Quién sabe, puede haber una aplicación 00:25:33
Que le interese muchísimo esa condición 00:25:35
Y que su edad sea múltiplo 00:25:36
De la del hijo 00:25:41
Vale 00:25:43
Esa condición 00:25:44
Sería el 00:25:46
And de dos cosas, ¿verdad? 00:25:49
Porque son dos cositas 00:25:52
Esta y esta 00:25:53
Vamos una por una 00:25:54
La primera, padre mayor de edad 00:25:56
Facilísima 00:25:58
Padre mayor o igual que 18 00:26:00
Vámonos a la segunda 00:26:04
Pongo aquí el enter, la pongo abajo 00:26:07
Para que, como mi letra es muy grande 00:26:09
Edad del padre mayor o igual que 18 00:26:11
Que la edad del padre sea múltiplo de la del hijo 00:26:14
Es que el resto de dividir 00:26:19
La del padre es la del hijo, sea cero 00:26:21
Un número es múltiplo del otro 00:26:22
Si el resto de dividir entre otro es cero 00:26:23
Pues esa condición la podemos poner así 00:26:25
El resto de dividir 00:26:28
Edad del padre 00:26:30
Entre la del hijo 00:26:32
Igual a cero 00:26:33
Muy apiñado, me está quedando todo 00:26:35
¿Vale? 00:26:38
Esa sería la condición, me lo está poniendo en rojo 00:26:44
Porque me dice, oye, ojo, que edad del padre y edad del hijo 00:26:46
Está sin inicializar 00:26:48
No puedo evaluar la condición 00:26:50
Pero a falta de darle valor a la edad del padre e hijo 00:26:52
Que no se lo hemos dado 00:26:54
A falta de dárselo, la condición está bien puesta 00:26:55
el padre mayor de edad 00:26:58
esta edad es múltiplo de esta otra 00:27:01
vale, pero 00:27:05
¿el escáner se lo puedo poner a la padre 00:27:06
y a la vieja y ya la posibilidad de aplicar? 00:27:13
sí, sí, sí, podría ponerlo ahí 00:27:15
no lo he puesto ahí a propósito para 00:27:16
aplicar esto, vale, entonces está claro 00:27:19
que aquí el único error que 00:27:21
sale es porque no le he dado valor 00:27:23
a esas variables, no le he dado valor 00:27:25
bueno, pues resulta 00:27:26
que a la vez que yo uso una variable 00:27:28
en una condición, que aquí está 00:27:31
bien usada, a la vez que la uso 00:27:33
puedo aprovechar para darle valor. 00:27:35
Es como meter 00:27:38
una asignación dentro de 00:27:38
una condición. No pasa nada, puedo hacerla. 00:27:41
Es decir, a la vez 00:27:44
que uso la edad del padre, 00:27:45
a la vez puedo aprovechar y darle 00:27:47
valor. Entonces, primero recibe 00:27:49
el valor y luego ya 00:27:51
se evalúa la condición. Entonces, yo podría 00:27:53
aprovechar y darle el valor 00:27:55
aquí mismo, que es 00:27:57
el del scan. 00:27:59
Next, int. 00:28:01
¿Vale? 00:28:06
Entonces, yo podría hacer aquí. 00:28:08
Si la edad del padre, siendo la edad del padre, el resultado, haciendo esta asignación, es mayor o igual que 18. 00:28:11
Y aquí, la edad del padre ya se le ha asignado aquí. 00:28:22
Voy a aprovechar aquí, a la vez que uso la variable, voy a aprovechar y voy a hacer una asignación y le asigno valor. 00:28:25
edad del hijo 00:28:31
igual a 00:28:33
scan.nextint 00:28:36
¿vale? 00:28:38
esto es raro, pero esto sí que se hace 00:28:45
es decir, mi condición 00:28:47
involucra variables 00:28:49
está claro, pero es que 00:28:51
cada variable que yo involucre 00:28:53
ahí, si quiero 00:28:55
puedo aprovechar y ya de paso asignarle un valor 00:28:56
¿vale? ya aprovecho 00:28:59
pues es lo que he hecho 00:29:01
aquí, a esta variable he aprovechado 00:29:03
le he asignado un valor 00:29:05
y ya con ese valor asignado 00:29:06
ya evaluará la condición 00:29:08
aquí a este no hace falta 00:29:10
que se lo asignara porque ya se lo ha asignado 00:29:14
pero a este aprovecho que tengo que usar esta variable 00:29:16
para ya de paso asignarle un valor 00:29:18
y ya que una vez 00:29:20
asignado, evalúo 00:29:22
la condición 00:29:24
luego esto siempre lo puedo hacer 00:29:25
en una condición que usa variables 00:29:28
aprovechar y asignarle 00:29:31
un valor a esa variable 00:29:33
antes de que ya la use para la condición 00:29:34
Bueno, pues entonces aquí sí que es crítico el usar dos en situaciones como esta 00:29:36
Aquí ya sí que es crítico usar aquí el doble o usar el simple 00:29:47
¿Por qué? Vamos ahora a ejecutar esto 00:29:54
Imaginaos que el padre mete la edad y mete 13 años 00:29:59
pues entonces 00:30:03
trece años, lo primero que hace es la asignación 00:30:05
trece, ahora compara 00:30:08
padre trece menos dieciocho 00:30:10
falso, pues aquí ya 00:30:12
ni entra, porque es doble operador 00:30:14
luego aquí ni entra 00:30:16
luego al no haber entrado aquí 00:30:17
nunca hace esta asignación 00:30:19
cuando bajemos 00:30:21
por aquí abajo, edad del 00:30:24
padre tiene su valor, pero la del hijo 00:30:26
jamás nos la ha pedido 00:30:27
porque nunca jamás entró aquí 00:30:29
porque esto es un doble año 00:30:31
si hacemos una ejecución mañana 00:30:33
y edad del padre 00:30:36
27, ahora ya sí 00:30:38
27 mayor o igual que 18 es true 00:30:40
necesito entrar en la otra 00:30:42
porque ahora ya sí que dependiendo 00:30:44
de la otra será true o false 00:30:46
ya así nos pedirá la del hijo 00:30:48
¿vale? porque esta ha sido true 00:30:50
con lo cual ya sí que necesita 00:30:54
pero si yo meto la edad del padre falsa 00:30:56
nunca jamás nos pediría esta 00:30:58
nunca, luego el hijo se quedaría sin edad 00:31:00
que yo quiero 00:31:02
forzar a que meta 00:31:04
a la edad que meta, siempre 00:31:07
entre en la segunda parte para hacer este 00:31:08
scan 00:31:10
quito eso y dejo 00:31:11
un solo ampersand, vale 00:31:14
con un doble ampersand 00:31:16
solo va a hacer 00:31:21
la segunda parte si la primera es true 00:31:23
solo 00:31:25
con un simple ampersand va a hacer las dos 00:31:26
partes siempre, esa es 00:31:29
la diferencia entre el doble ampersand y el 00:31:31
uno, vale y de hecho lo podemos 00:31:33
comprobar con el doble, por ejemplo 00:31:39
Yo ejecuto esto 00:31:40
Qué prisas 00:31:43
Yo ejecuto esto 00:31:44
Se me queda aquí esperando la edad del padre 00:31:49
El programa ha terminado 00:31:56
Se ha quedado sin edad del hijo 00:31:58
Ya está 00:32:00
Pero por qué 00:32:01
Si no se da permiso para salir 00:32:04
Ni levantaros 00:32:06
¿Por qué? 00:32:07
No se da permiso para que os vayáis 00:32:10
Pues no se da permiso ni para respirar 00:32:12
Vale, entonces, yo he metido 12 y como veis el programa ha terminado y no me ha pedido la del hijo ni ha pedido nada. Ahora ejecutamos. Voy a ponerle 27. Ahora sí que se queda esperando la del hijo. Ahora ya sí se queda esperando la del hijo. 00:32:18
Porque he puesto un único ampersand 00:32:36
Ah, bueno, perdón 00:32:39
No porque lo haya puesto un único 00:32:41
Sino porque al haberle puesto 27 00:32:42
Esta es true 00:32:44
Con lo cual necesita la otra 00:32:44
Necesita la otra 00:32:47
Que pongo solo un ampersand 00:32:48
Me da igual que esta sea 00:32:52
False, me da igual 00:32:53
Va a entrar siempre en esta 00:32:55
Porque el ampersand te obliga a evaluar la otra 00:32:56
Luego, si yo le meto 12 00:32:59
La del hijo me la va a seguir pidiendo 00:33:01
Aunque no le hace falta 00:33:03
Porque esta ya es false, ¿vale? 00:33:04
Si yo le pongo aquí 12 con un simple ampersand, le pongo 12 y se queda esperando a la otra, aunque no le hace ninguna falta, ¿vale? 00:33:06
Le pongo esta y terminado. 00:33:18
Pues esa es la diferencia entre 1 y 2, ¿vale? 00:33:21
Materias:
Programación
Niveles educativos:
▼ Mostrar / ocultar niveles
  • Formación Profesional
    • Ciclo formativo de grado superior
      • Primer Curso
Subido por:
Raquel G.
Licencia:
Todos los derechos reservados
Visualizaciones:
3
Fecha:
30 de septiembre de 2025 - 18:57
Visibilidad:
Clave
Centro:
IES ROSA CHACEL
Duración:
33′ 26″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
639.93 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid