20251001-ProgEstr-EjemplosOpLogicos - 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:
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
Es
00:00:12
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
O
00:11:00
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
O
00:11:13
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
o
00:13:11
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
y
00:15:18
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
o
00:16:59
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
o
00:17:48
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
18
00:18:42
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
Y
00:19:48
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
El
00:23:36
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
No
00:28:10
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
es
00:33:10
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
es
00:33:36
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