Saltar navegación

20251001-ProgEstr-EjemplosOpLogicos - 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 1 de octubre de 2025 por Raquel G.

2 visualizaciones

Descargar la transcripción

Vale 00:00:00
El documento era este 00:00:02
Sí, vale, vamos a 00:00:05
Dejarlo aquí más claro 00:00:07
Vale, lo que hemos decidido escribir 00:00:10
Si tenemos los dos datos de entrada 00:00:13
Que son 00:00:19
La edad 00:00:21
Que este ya se ha rellenado 00:00:22
Decimos de donde sea 00:00:25
Y el Boolean, permiso 00:00:26
que este es un boolean 00:00:28
porque para permisos 00:00:30
solo hay dos posibilidades 00:00:34
si se tiene o no, no se tiene 00:00:35
solo hay dos posibilidades 00:00:38
para edad sin embargo hay tantas como números enteros 00:00:39
bueno, pues una vez dados los datos 00:00:42
hemos llevado hasta la conclusión 00:00:44
que para que 00:00:46
entremos se tiene que dar 00:00:48
o una cosa o la otra 00:00:50
desde el momento en que ya 00:00:52
lo enunciamos en nuestras propias palabras 00:00:54
o pasa esto o pasa lo otro 00:00:56
pues entonces ya plantamos esto 00:00:58
ahora ya nos vamos a ver 00:01:01
qué pasa a cada lado 00:01:02
bueno, pues, o bien soy mayor de edad 00:01:04
que esa es sencillísima de poner 00:01:07
edad 00:01:08
mayor o igual de 18 00:01:10
o bien 00:01:13
soy mayor o igual que 16 00:01:14
y tengo permiso 00:01:17
eso a su vez son dos cosas con un an 00:01:18
dos cosas juntas con un an 00:01:20
luego aquí pongo paréntesis 00:01:22
para que quede claro 00:01:24
esas dos cosas serían 00:01:26
edad mayor o igual de 16 00:01:28
y me habéis dicho vosotros 00:01:32
permiso igual a true 00:01:34
esto es lo que me habéis dicho 00:01:37
vale, entonces 00:01:41
los paréntesis hay que ponerlos 00:01:43
porque si no ponemos paréntesis 00:01:45
la máquina virtual 00:01:46
va evaluando esta condición 00:01:48
de izquierda a derecha 00:01:51
¿vale? 00:01:52
y entonces 00:01:54
esta condición 00:01:55
quedaría, si edad es mayor o igual que 18 00:01:57
o edad es mayor o igual que 16 00:02:00
entonces con que una de estas dos sea cierta 00:02:02
ya sería cierta, ¿vale? 00:02:06
entonces lo dejamos claro con los paréntesis 00:02:09
así lo dejamos más clarito, ¿vale? 00:02:12
si edad es mayor o igual que 16 y permiso igual a true 00:02:23
entonces esta se puede dejar así y está bien 00:02:25
esto lógicamente es conmutativo 00:02:28
podríamos haber puesto antes esta, ¿vale? 00:02:31
Pero bueno, mejor poner primero la sencilla, porque ya sabemos que si ponemos la doble barrita, que fue con lo que nos quedamos ayer, en cuanto esta sea true, aquí ni entra, porque ya sabe que la total es true, porque un or, en cuanto una sea true, la otra es. 00:02:34
Entonces, la máquina virtual, si ve 37, esta ni la evalúo. 00:02:56
Entonces, ahorramos tiempo de ejecución del código. 00:03:01
Son ciclos de memoria que nos ahorramos. 00:03:04
¿Vale? 00:03:07
Recordad de ayer que, sin embargo, 00:03:07
si hubiéramos puesto solo una barrita, 00:03:11
aunque la máquina virtual vea que esta es true, 00:03:14
porque le hemos dado 37, va a evaluar esto igualmente. 00:03:17
Es una pérdida de tiempo. 00:03:20
Evaluarlo. 00:03:21
¿Vale? 00:03:23
solo hay una razón en la cual no es una pérdida de tiempo 00:03:23
que fue la que dijimos ayer 00:03:26
y es que cuando una condición 00:03:27
además de usar las variables para hacer cosas 00:03:31
además aprovecha y les da valor 00:03:35
aquí por ejemplo 00:03:38
permiso, la estamos usando para ver si es igual a true 00:03:40
a lo mejor en este momento podríamos leerla 00:03:45
del teclado, con un next lo que fuera 00:03:47
leer un boolean en este caso es raro 00:03:50
pero bueno, con la sentencia que fuera 00:03:53
entonces, si en el momento de usarla 00:03:54
para ver si es igual a true 00:03:57
además le asignamos un valor 00:03:59
el valor que sea 00:04:01
que podemos hacerlo, ¿verdad? 00:04:02
además de usarla, le asigno un valor 00:04:05
y luego ya la comparo 00:04:08
pues entonces, si ponemos las dos barritas 00:04:10
si esta es true 00:04:13
nunca jamás entraría aquí 00:04:15
luego no llegaría a hacer esta asignación, nunca 00:04:17
entonces por eso es 00:04:20
con lo que nos quedamos ayer, con lo que vimos ayer 00:04:23
que si yo pongo 00:04:25
dos barras, tengo que 00:04:27
tener cuidado de que la segunda 00:04:29
cláusula, o sea las partes de una condición se llaman 00:04:31
cláusulas, de que la segunda cláusula 00:04:33
no haga ninguna asignación a una variable 00:04:34
a la vez que la compara 00:04:37
porque si 00:04:39
lo hace y yo entro en una ejecución 00:04:41
en la cual aquí no tiene por qué 00:04:43
entrar, pues esa asignación se queda sin 00:04:45
entrar, se queda sin entrar 00:04:47
¿Vale? Que era el ejemplo de ayer 00:04:48
No es lo habitual 00:04:50
Depende, salvo cuando hacemos entrada y salida 00:04:52
Por ficheros, que ahí sí 00:04:54
No es lo habitual cuando tú haces una condición 00:04:55
Y usas una variable para compararla 00:04:58
No es lo habitual que a la vez 00:05:00
Que la usas para compararla, en ese momento 00:05:02
Le des un valor 00:05:04
No es lo habitual porque, bueno, complica un poco el código 00:05:05
Pero en algunos casos 00:05:08
Podemos hacerlo porque nos ahorra líneas 00:05:10
¿Vale? Pues en ese caso, aquí sí 00:05:12
Que hay trascendencia 00:05:14
Pero bueno, en nuestro ejemplo 00:05:15
como tenemos las variables 00:05:18
leídas de antes 00:05:20
con lo cual no le asigno 00:05:21
ningún valor a permiso ni a nada 00:05:24
en el momento de 00:05:26
pues 00:05:27
lo dejo así 00:05:29
con la doble 00:05:33
lo dejo 00:05:35
con la doble barra y listo 00:05:39
vale, entonces 00:05:41
repito 00:05:42
aunque esto es conmutativo, lógicamente 00:05:45
da igual en el orden que lo ponga 00:05:47
esta cortita la pongo la primera 00:05:48
porque así si es mayor o igual que 18 00:05:50
ya esta larga ni entra 00:05:52
si lo pongo al revés 00:05:53
va a evaluar siempre esta 00:05:55
que es un poquito más larga 00:05:58
que la otra 00:06:01
entonces en general 00:06:02
aunque da un poco igual 00:06:04
como las ponga 00:06:05
a efectos del resultado final 00:06:07
la condición es true o false 00:06:09
igualmente 00:06:11
aunque evalúe una primera o la evalúe después 00:06:12
Pero nos ahorramos ciclos de memoria 00:06:15
Si dejamos las cláusulas más grandes 00:06:18
Al final 00:06:20
Porque solo va a entrar en ellas 00:06:21
Cuando lo necesite 00:06:23
Porque esta se false, ¿vale? 00:06:26
Bueno, todo esto es lo de ayer 00:06:28
Está más o menos claro, ¿no? 00:06:29
Vale, entonces esta condición así estaría bien 00:06:33
Salvo que 00:06:35
Qué redundantes estamos siendo 00:06:36
Con lo de permiso igual a true 00:06:38
Qué feo es esto 00:06:40
A ver, está bien 00:06:42
permiso igual a true 00:06:43
pero es que permiso 00:06:46
ya es un boolean en sí mismo 00:06:49
permiso ya es una condición 00:06:50
entonces no sería mucho mejor 00:06:52
poner permiso a palo seco 00:06:55
¿vale? en lugar de poner esto 00:06:57
permiso igual a true, poner edad 00:07:01
mayor o igual que 16 y 00:07:02
and permiso 00:07:04
porque cuando permiso sea true 00:07:05
el and es con el true 00:07:09
de permiso y cuando permiso 00:07:10
sea false, el and es con el false 00:07:12
de permiso, es decir 00:07:14
poner permiso y poner 00:07:16
permiso igual a true 00:07:18
son dos 00:07:20
condiciones idénticas 00:07:22
es lo mismo, son 00:07:24
la misma condición, pero esta es 00:07:26
más larga de escribir y más fea 00:07:28
¿vale? esto es como decir 00:07:30
llueve o decir 00:07:32
que está lloviendo 00:07:34
es verdad, yo no digo 00:07:36
que está lloviendo es verdad 00:07:38
digo llueve 00:07:40
¿vale? pues aquí estoy diciendo 00:07:41
¿tienes permiso? 00:07:43
y aquí digo, que tengas permiso 00:07:45
es verdad 00:07:48
que forma más rara de hacer la pregunta 00:07:48
tú no dices que tengas tu permiso es verdad 00:07:51
no, tú dices, tenés permiso 00:07:53
y el propio permiso ya 00:07:56
o es true o es false, la propia variable 00:07:57
ya es true o es false 00:08:00
no tengo a su vez que compararla con true o compararla con false 00:08:00
estoy volviéndose de lo mismo 00:08:04
una y otra vez 00:08:06
¿vale? 00:08:07
Entonces cuando usamos una variable boolean 00:08:09
Como condición 00:08:12
Esa propia variable es que ya es la condición 00:08:12
No tenemos que además decir 00:08:16
Igual a true 00:08:17
Bueno, entendido que permiso y permiso doble igual true 00:08:18
Es la misma idea 00:08:28
Es exactamente la misma condición 00:08:28
Lo mismo, ¿no? 00:08:30
Llover o llover está pasando 00:08:32
Es lo mismo 00:08:34
Venga, pues la siguiente 00:08:35
Claro 00:08:40
Pues por ejemplo 00:08:47
Claro, pero eso ya es bullying 00:08:50
Pero eso ya es una condición 00:08:52
Venga 00:08:54
Vale, pues a ver 00:08:55
Estas condiciones de aquí 00:09:01
Esta ya la hemos hecho 00:09:04
Fuera 00:09:10
Vale 00:09:10
Pues por ejemplo 00:09:18
Aplicación 00:09:19
Que 00:09:21
Te piden 00:09:22
Para sacar 00:09:24
Para decirte si has aprobado 00:09:26
o no has aprobado, ¿vale? 00:09:29
Entonces, y además de decirte si has aprobado o no has aprobado, 00:09:34
luego tenemos una condición que sería aprobado, 00:09:42
que es nuestro resultado. 00:09:46
La condición que tenemos que reflejar 00:09:48
es la condición aprobado, 00:09:54
porque eso es lo que te dice el programa. 00:09:57
Te dice si estás aprobado o si no lo estás, ¿vale? 00:09:59
Vale, ya está pegando. 00:10:03
Vale, vale. 00:10:22
He dicho que sí. 00:10:25
Mejor no preguntamos. 00:10:27
Entonces, la condición que te tiene que sacar 00:10:29
este programa es si estás aprobado o no. 00:10:31
Si estás aprobado 00:10:35
será true y si no, falso. 00:10:36
Y además este 00:10:37
te saca otra condición 00:10:38
que es 00:10:41
aviso. 00:10:42
Que aviso se pondrá true. 00:10:45
Cuidado, tenías que recuperar 00:10:48
y no lo hiciste. 00:10:50
O a falso en caso contrario. 00:10:50
Luego el resultado de esta aplicación 00:10:53
Serían dos condiciones 00:10:55
¿Estás aprobado? 00:10:57
Te aviso 00:11:01
True o no te aviso, false 00:11:02
De que tenías que recuperar y no lo hiciste 00:11:04
¿Vale? 00:11:07
Ese es el resultado, decir si estás aprobado o no 00:11:09
Y tenías que recuperar 00:11:11
Y no lo hiciste, vale, entonces 00:11:14
Datos de entrada 00:11:17
Las dos notas 00:11:18
La nota, son dos exámenes 00:11:20
la nota del examen 1 00:11:22
y la nota de la recuperación. 00:11:24
Entonces, tú 00:11:31
metes la nota del examen 1 00:11:32
y la nota de la recuperación. 00:11:34
Si no tenías, 00:11:37
si tú no te presentaste 00:11:38
a recuperación, si no te presentaste, 00:11:40
aquí pones menos 1. 00:11:43
¿Vale? Tú pones aquí 00:11:45
tu nota del examen, pones aquí 00:11:46
tu nota de recuperación. Puedes 00:11:48
no haberte presentado. 00:11:50
Si no te has presentado, menos 1. 00:11:52
Vale, pues ya el programa coge esos dos datos, nota examen, nota recuperación, con ese matiz de que habrás puesto menos uno si no te presentaste y te da dos resultados, aprobado, true o false o avisado, true o false. 00:11:53
aprobado significa si has aprobado o no 00:12:11
y avisado significa 00:12:14
si tenías que haber recuperado 00:12:16
y no lo hiciste o no 00:12:17
pues venga 00:12:19
¿cómo sería la primera condición? 00:12:21
¿y cómo sería la segunda condición? 00:12:24
la primera es si 00:12:26
te presentaste 00:12:33
si leemos 00:12:34
no, si te presentaste no, o sea yo lo que quiero es que me decís 00:12:35
la primera condición es 00:12:39
¿estás aprobado? si aprobaste 00:12:40
el primer examen 00:12:43
O bien, si hiciste los dos y la media te da mayor o igual que 5. 00:12:44
Bueno, pues ¿cómo escribimos eso? 00:12:51
Claro, esto es el or de dos cosas. 00:12:55
O una cosa o la otra, otra vez. 00:12:57
Pues será el or de dos cosas. 00:12:59
Claro. 00:13:03
Estás aprobado si nota examen mayor o igual que 5 00:13:06
nota 00:13:12
entre paréntesis 00:13:15
dividido 00:13:21
exacto, nota 00:13:22
recuperación entre 2 00:13:24
esto es igual 00:13:27
mayor o igual que 5 00:13:28
¿no? vale 00:13:31
esto será true 00:13:35
si efectivamente 00:13:36
se cumplen esas condiciones 00:13:38
que te dije 00:13:41
pero puede ser que tuvieras 00:13:42
que presentarte a recuperación y no 00:13:45
lo hicieras 00:13:47
entonces te avisa 00:13:48
¿vale? si tienes que presentarte a recuperación y no lo hiciste 00:13:50
pues aquí habrá 00:13:54
un menos uno, lógicamente, con lo cual es 00:13:55
imposible que te dé aprobado 00:13:57
y... pero al menos el programa 00:13:59
te avisa y te dice, oye, es que no hiciste 00:14:03
la recuperación, ¿cómo sería esta 00:14:05
condición? 00:14:07
bueno, pero eso, esta condición 00:14:13
así sin más 00:14:15
doble igual menos uno, no refleja 00:14:16
Que tenías que haberte presentado y no lo hiciste 00:14:21
Simplemente que no te presentaste a recuperación 00:14:23
Pero es que igual no tenías que presentarte porque habías aprobado 00:14:25
¿Eh? 00:14:36
A ver 00:14:46
Es que no sé qué me estás diciendo 00:14:47
Sí, a ver 00:14:49
Lo que pasa es que esa nota de aprobado 00:14:56
Ya cuenta la de recuperación 00:14:58
Entonces, tenías que haberte presentado a recuperación 00:14:59
Se basa solo en esto 00:15:02
Es más fácil 00:15:04
Que eso que dices tú, en realidad 00:15:05
¿No? Es decir 00:15:07
nota examen menor que 5 00:15:09
y doble ampensado 00:15:11
exacto, esta condición sería 00:15:14
nota examen menor que 5 00:15:16
nota rec 00:15:20
igual a menos 1 00:15:21
esta sería la condición de aviso 00:15:25
suspendiste y no te presentaste 00:15:28
a recuperación 00:15:30
¿vale? 00:15:31
y ya está 00:15:33
vale, y vamos a por la última 00:15:35
así de repasito 00:15:41
Vale, estamos otra vez 00:15:43
En la puerta de una discoteca 00:16:02
O ya no existen las discotecas 00:16:05
Ya no existen 00:16:08
¿En serio? 00:16:10
¿Y ahora que existen? 00:16:13
Ahora existen 00:16:14
Qué triste, ¿no? 00:16:15
Bueno, pues no 00:16:22
Vale, pues estamos en la puerta 00:16:23
De una 00:16:26
de vuestro dormitorio 00:16:27
o del fortnite 00:16:30
vale, ¿se permite el acceso? 00:16:31
dime 00:16:34
¿eh? 00:16:34
bueno, lo podemos luego poner en el eclipse 00:16:41
para ver cómo funciona 00:16:43
¿estos mismos te refieres? 00:16:45
sí, podemos luego escribirlo para comprobar 00:16:47
que lo estamos haciendo bien 00:16:49
vale, este de aquí 00:16:50
estamos en la puerta de donde sea 00:16:52
y solo se permite 00:16:55
entrar a mayores de 18 00:16:57
a personas mayores de 21 00:17:01
que acompañen a un menor de edad 00:17:03
entonces, aquí 00:17:05
este enunciado está un poco más raro puesto 00:17:06
el tema es 00:17:09
las entradas, ¿cuáles son? 00:17:11
¿vale? pues entonces 00:17:14
aquí las entradas serían 00:17:15
como no podemos hacer un bucle para 00:17:16
aquí en este programa 00:17:21
generalizado, es que te llega 00:17:23
un grupo de personas, pero habría que ir en bucle 00:17:25
para decirle a cada uno, puedes, puedes, puedes 00:17:27
entonces no podemos hacerlo todavía con bucle 00:17:29
aquí llegan dos personas 00:17:31
los datos de entrada son 00:17:33
edad 1 00:17:35
y edad 2 00:17:38
llegan dos personas 00:17:40
y ahora 00:17:41
el resultado de mi programa es 00:17:43
a la venga, va dentro las dos 00:17:46
tú sí y tú no 00:17:49
es decir, vamos a poner 00:17:52
tres condiciones 00:18:00
que serían, entran las dos 00:18:01
Porque luego entra la primera y entra la segunda 00:18:11
Esas dos condiciones ni las pongo 00:18:16
Porque entra la primera sería edad mayor o igual 1 que 18 00:18:18
Entra la segunda edad mayor o igual 2 que 18 00:18:23
Eso no nos importa 00:18:25
Vamos a poner la condición de que entren las dos 00:18:26
Vale, entra 00:18:28
¿Cómo pondréis esa condición? 00:18:30
Pues edad 1 00:18:34
Edad 1 00:18:35
Mayor o igual que 18 00:18:40
Y la segunda también 00:18:43
o sea, las dos mayores 00:18:46
¿que somos dos personas? 00:18:48
sí, sí, sí, entonces 00:18:59
la respuesta es, entran las dos 00:19:00
o no entran las dos 00:19:02
en ese caso podría entrar una de ellas 00:19:04
pero eso no nos importa, la condición que quería 00:19:06
yo reflejar aquí es que entran las dos 00:19:08
cuando los datos de entrada son sus edades 00:19:10
si pasa esto, está claro que entran las dos 00:19:13
pero habrá más situaciones 00:19:16
en las que también entran las dos 00:19:18
luego ahí habrá honor, ¿no? 00:19:20
Con esta está claro, si las dos son mayores de edad 00:19:22
Las dos entran 00:19:25
Pero también en otra situación 00:19:26
Luego ahí falta un or 00:19:28
Vale, pues ¿qué pondríais? 00:19:30
Pues edad 00:19:33
Edad 1 mayor igual que 21 00:19:34
Y seguro que 00:19:41
Bueno, sí, me vale 00:19:48
Con uno de ellos 00:19:56
¿Te vale con una de ellas? 00:19:58
Claro 00:20:01
o, ¿verdad? 00:20:01
Si no son mayores de edad las dos, 00:20:12
con que una de las dos 00:20:15
sea mayor que 21, ya va a entrar la otra. 00:20:16
Con lo cual, 00:20:19
asumiendo que no son mayores de edad 00:20:20
las dos, entonces 00:20:22
o bien si es la 00:20:23
primera mayor de 21, o bien si es la 00:20:26
segunda, ya entra. 00:20:28
Pero la segunda no es como 00:20:35
redundante de la primera, 00:20:37
porque si la primera es más difícil, obviamente es 00:20:39
la que más grande es. 00:20:41
Claro, pero es 00:20:44
No, pero no es redundante porque tú aquí entras si esta es falsa y esta será falsa si alguna de las dos, no sabemos cuál, es menor de edad. O sea, si las dos fueran mayores de edad, aquí ni entras. 00:20:45
pero si una de las dos 00:20:58
no sabemos cuál ya falla 00:21:01
aquí 00:21:03
el AND es falso y ya entraría 00:21:04
entonces no sabemos cuál de las dos 00:21:07
ha fallado, pero sí sabemos 00:21:09
que si la primera es mayor o igual que 21 00:21:11
o si la segunda 00:21:13
es mayor o igual que 21 00:21:15
va a entrar la otra 00:21:16
claro, tienes que reflejar 00:21:17
todo lo que te dice el enunciado 00:21:23
entonces aquí no hay forma de quitar nada 00:21:25
vale, nada, esto no lo puedes 00:21:27
simplificar más 00:21:29
Creo que sería edad 2. 00:21:30
Sí, perdón, perdón. 00:21:35
Perdón. 00:21:38
Creo que se puede simplificar mucho. 00:21:40
Bueno, a ver. 00:21:42
¿Cómo? 00:21:45
¿Qué estás pensando? 00:21:47
Edad 1 mayor o igual que 21. 00:21:48
Sí, o sea, más que simplificar, cambiar el orden, efectivamente. 00:21:51
Podríamos poner si edad 2 es mayor o igual que 21. 00:21:56
O edad 2 es mayor o igual que 21. 00:21:58
O ahora ya es. 00:22:00
Es decir, podemos cambiar el orden y poner estas dos al principio. 00:22:02
Entonces, más que, o sea, me refiero a simplificar en cuanto a código, 00:22:06
no, va a aparecer todo. 00:22:11
Pero cambiando el orden, lo que puedes conseguir efectivamente 00:22:12
es que la ejecución termine antes. 00:22:16
Porque ya, en cuanto vea esta, ya está. 00:22:19
También es cierto que si la haces mayor o igual que 21, bueno, sí, 00:22:23
va a tener que evaluar las dos siempre obligatoriamente. 00:22:27
Entonces sí, se optimiza ya la ejecución 00:22:30
Si lo cambiáramos de orden 00:22:33
Vale, vamos a escribirlas 00:22:34
Para que 00:22:36
Queden más claro entonces 00:22:38
Una tercera opción 00:22:40
¿Dónde? 00:22:47
Ahora cuando la escribimos a ver si lo vemos más claro 00:22:48
Pero ahí entra 00:22:51
O sea, si uno es mayor de 21 00:22:57
La edad del otro no importa 00:22:58
Vale, pues aquí teníamos precisamente 00:22:59
El programita de 00:23:19
Boolean 00:23:21
El programita de Boolean 00:23:24
Donde 00:23:29
Pusimos ayer el ejemplo 00:23:31
De la diferencia entre poner 00:23:35
Doble ampersand 00:23:38
O el simple 00:23:41
¿Vale? 00:23:43
Vale, a ver 00:23:50
Venga, pues vamos a poner aquí 00:23:52
Ejemplos de 00:23:59
Condiciones, los que hemos visto 00:24:01
Antes 00:24:03
Pues la primera, mayor de edad y permiso 00:24:04
O mayor de 16 y permiso 00:24:08
Aquí 00:24:11
Esta era 00:24:12
Mayor de edad o mayor de 16 con permiso 00:24:15
Entonces, aquí los datos de entrada 00:24:23
Los datos de entrada son dos 00:24:26
La edad y el permiso 00:24:31
Entonces, la condición sería esta 00:24:37
Eres mayor de edad 00:24:55
O en el caso de que no seas mayor de edad 00:24:57
O en el caso de que no lo seas 00:25:09
Al menos eres mayor o igual de 16 00:25:10
Y siendo mayor o igual de 16 00:25:14
Tienes permiso paterno 00:25:22
¿Vale? Esta sería la condición 00:25:26
Aquí si se nos ha puesto en rojo 00:25:31
Es porque dice, oye, que Daz y Permiso no tienen valores 00:25:33
Claro, habría que darle a Daz y Permiso 00:25:36
Pues los valores que fueran 00:25:38
Por teclado, por donde fuera 00:25:40
¿Vale? Eso ya 00:25:41
Entonces 00:25:42
No pasa nada 00:25:59
Porque sobre en paréntesis 00:26:03
Si dejan las cosas claras 00:26:05
No pasa nada si sobre en paréntesis 00:26:07
¿Vale? 00:26:09
Aquí está claro que es el or 00:26:11
O de esta cosa de aquí 00:26:13
O de esta otra 00:26:15
Entonces por eso ponemos un paréntesis 00:26:16
Para que quede claro que es una o otra 00:26:19
Es que está amontonando 00:26:21
A mí me han recomendado que me lo tome 00:26:27
Ya, pues entonces haber bajado después de haber comido 00:26:33
Haber subido 00:26:36
Después de haber comido 00:26:38
Como que no pasa nada 00:26:39
Claro que pasa 00:26:42
No pasa nada, dice 00:26:42
Ay, Dios mío 00:26:45
¿Tenéis un morro en general? 00:26:49
Tremendo. 00:26:55
Vale. 00:26:56
Entonces, no pasa nada porque sobre en paréntesis 00:26:58
y dejan las cosas claras. 00:27:01
¿Vale? 00:27:03
Aquí está muy claro que es una cosa o la otra. 00:27:04
Entonces, mejor que lo dejamos con paréntesis. 00:27:08
En general, los operadores OR y AN 00:27:11
son como si fueran sumas sin multiplicación, 00:27:15
sumas, estos 00:27:18
como si fueran sumas 00:27:20
y estos como si fueran multiplicaciones. 00:27:22
Entonces, 00:27:26
ahora lo vamos a comprobar, porque 00:27:29
eso no lo recuerdo muy bien. 00:27:30
En principio, como esto es como si fuera 00:27:33
multiplicación, tendría más 00:27:34
prioridad. Entonces, aunque yo quito el paréntesis 00:27:36
no pasaría nada. 00:27:39
Pero no es buena práctica. Es decir, 00:27:40
imaginaos que yo quito 00:27:43
aquí este paréntesis. 00:27:44
Quito aquí el paréntesis y dejo aquí la condición esta 00:27:46
Vale 00:27:50
Entonces 00:27:52
Si la máquina virtual 00:27:54
Ahora ya al no ver paréntesis 00:27:57
Empezara 00:27:59
A trabajar de izquierda a derecha 00:28:00
Esta condición ya habría perdido su sentido 00:28:02
Completamente, habría perdido su sentido 00:28:05
¿Edad mayor igual que 18? 00:28:07
Tengo un or, tengo que seguir 00:28:10
¿Edad mayor igual que 16? Uy sí, quiere 17 00:28:12
Ya tiene un true 00:28:15
con lo cual como ya tiene un true 00:28:17
¿vale? 00:28:19
pero claro, es que tiene un and detrás 00:28:21
y el and 00:28:23
vamos a confirmarlo ahora 00:28:24
yo siempre uso paréntesis, es como un más 00:28:26
entonces tiene prioridad respecto al or 00:28:29
entonces se haría primero esto 00:28:31
¿vale? pero 00:28:33
en general siempre es 00:28:35
muchísima mejor práctica 00:28:37
para que quede todo más claro y no nos confundamos 00:28:39
con el paréntesis 00:28:41
cuando tengamos claro lo que queremos hacer 00:28:42
y así nunca jamás va a haber un problema. 00:28:45
No dependemos 00:28:47
de la prioridad de los operadores 00:28:48
porque a lo mejor no conocemos al dedillo 00:28:50
la prioridad o no la recordamos. 00:28:53
Este es el ejemplo 00:28:56
de cuando le pedimos a HGPT 00:28:56
el chorizo es horroroso de cosas 00:28:58
y no acertamos ni una 00:29:00
porque al final recordar 00:29:02
exactamente la prioridad en la que hacen las cosas 00:29:05
es complicado. ¿Cómo arreglas eso? 00:29:06
Pon paréntesis siempre 00:29:09
para clarificarle las cosas a la máquina 00:29:11
virtual. Si pones un paréntesis 00:29:13
le dices, cuidado que esto va junto 00:29:15
haz esto primero 00:29:17
y luego ya puedes hacer el or con el 00:29:18
ya estamos 00:29:21
y luego ya puedes hacer el or con el otro 00:29:23
¿vale? 00:29:25
entonces paréntesis 00:29:28
mejor que sobren que no que falten 00:29:29
pero dicho esto, vamos a confirmarlo 00:29:30
porque ahora mismo no estoy seguramente segura 00:29:33
el and como es como una multiplicación 00:29:35
creo que tiene prioridad 00:29:37
respecto al or que es como una suma 00:29:39
entonces aunque quitaramos el paréntesis 00:29:41
creo que haría 00:29:43
primero esto antes de 00:29:44
juntarlo al otro, pero vamos a comprobarlo 00:29:46
¿vale? en cualquier caso, lo haga o no lo haga 00:29:49
no olvidéis los paréntesis 00:29:51
siempre 00:29:53
vamos a 00:29:53
comprobarlo, vamos a ejecutar este 00:29:55
programita 00:29:59
de aquí, poniendo 00:30:03
como edad 17 00:30:05
entonces, y con permiso 00:30:06
falso 00:30:11
con estos dos datos 00:30:11
y con los paréntesis 00:30:14
me va a dar falso 00:30:17
Lo siento, pero no puedes entrar donde sea. 00:30:18
Me va a dar permiso falso. 00:30:25
Porque aunque la edad es mayor o igual que 16, 00:30:27
y esto es true, al hacer el and con permiso, 00:30:30
que permiso es falso, pues el and es falso. 00:30:32
Luego me queda falso or falso falso. 00:30:36
Vamos a comprobar que esto me da falso. 00:30:40
Efectivamente me da falso. 00:30:51
Vale. 00:30:52
Ahora resulta que yo no he puesto los paréntesis. 00:30:55
porque estoy confiando 00:30:58
en que el operador AND 00:31:00
es prioritario frente al OR 00:31:03
entonces va a hacer esto 00:31:05
antes de hacer el OR 00:31:08
luego me da igual 00:31:09
poner paréntesis que no 00:31:11
entonces en este caso 00:31:12
me debería salir false también 00:31:14
si resulta que el AND no es prioritario 00:31:16
que yo creo que sí 00:31:18
es lo que vamos a comprobar 00:31:19
tendríamos un problema 00:31:20
porque con edad 17 00:31:22
sería false OR true 00:31:24
Ya tendríamos el true 00:31:27
¿Vale? 00:31:28
Ah, no, no, claro, vale, vale, vale, perdón, perdón 00:31:35
Claro, tendríamos el true aquí, efectivamente 00:31:37
Pero luego llegaría el and 00:31:39
O sea, aunque no sea prioritario, saldrá bien 00:31:41
Luego llegaría el and 00:31:43
Que es con permiso false 00:31:45
Y me diría false, ¿vale? 00:31:47
Entonces esto, independientemente de la prioridad 00:31:49
Este ejemplo en concreto 00:31:51
Este ejemplo me va a salir false 00:31:52
Independientemente 00:31:55
De que haga primero 00:31:58
¿Vale? 00:31:59
Porque con 17 esto me sale true. 00:32:03
Pero luego ya viene el and detrás. 00:32:06
Y ese and ya me dice un permiso falso. 00:32:09
Luego, en este caso concreto, me da igual. 00:32:13
Poner paréntesis que no. 00:32:17
¿Vale? 00:32:19
Porque en el otro ejemplo, si ponemos aquí un true. 00:32:23
No, en este ejemplo en concreto, es que da igual. 00:32:31
Porque aunque no tuviera prioridad y haciéndolo en línea. 00:32:34
¿Vale? 00:32:37
esto le daría 00:32:37
false, esto le daría 00:32:40
true, con lo cual el total 00:32:42
sería true, pero es que ahora le falta 00:32:44
un and, con lo cual ahora dependemos de lo que viene 00:32:46
después, ahora dependemos de permiso 00:32:48
entonces si permiso es false va a ser false 00:32:50
igualmente 00:32:52
claro, aunque el anterior sea true 00:32:53
entonces, si permiso 00:32:56
fuera a ver 00:32:58
si hay alguna, es que esta como es muy 00:33:00
sencilla, a ver si hay alguna combinación de variables 00:33:02
en las cuales, o sea si permiso 00:33:04
es true y edad 00:33:06
claro 00:33:11
si edad es 15, es que esta es muy sencilla 00:33:14
con lo cual da igual la prioridad 00:33:16
porque si edad es 15 y permiso 00:33:17
es true, tenemos 00:33:20
false or 00:33:22
false, false 00:33:24
y ahora false and cualquier cosa 00:33:25
seguiría siendo true 00:33:28
entonces aquí si hacemos la tabla 00:33:29
de verdad de estas condiciones 00:33:32
y la tabla de verdad 00:33:34
en función 00:33:36
de todas las combinaciones posibles 00:33:39
que me sale 00:33:41
pues aquí me da igual poner paréntesis 00:33:41
que no, que por la condición 00:33:45
que tengo 00:33:46
siempre el resultado va a ser 00:33:48
true o false correctamente 00:33:50
¿vale? 00:33:53
pero siempre es buena práctica 00:33:54
porque las condiciones pueden ser más complejas 00:33:57
que 00:33:59
agrupeis en paréntesis 00:34:00
para tener muy claro las cláusulas de vuestra 00:34:02
condición. Que luego una vez que tenéis la condición escrita, veis que el paréntesis 00:34:05
sobra, lo podéis quitar. Pero es que no molesta. 00:34:09
O sea, un paréntesis no molesta en un código. Al contrario, cuanto más 00:34:13
paréntesis, bueno, siempre y cuando no anides mil, pero cuanto más claro dejes un código 00:34:17
mejor. ¿Vale? 00:34:21
La otra condición que habíamos dicho. 00:34:24
Vale, voy a parar para que no se salga. 00:34:29
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:
2
Fecha:
1 de octubre de 2025 - 17:28
Visibilidad:
Clave
Centro:
IES ROSA CHACEL
Duración:
34′ 32″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
661.04 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid