Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Clase 6-10-23 - 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:
Venga, ¿podéis hacerme caso? Vale, bueno, pues aquí la condición que tenemos que trasladar a Java, la que habéis pensado es al menos dos mayores de edad. Bueno, pues ahora ya, llevado al mundo Java sería tres personas, mayores de edad, mayor de 21.
00:00:01
Tres personas
00:00:23
Primero mayor de 21 y segundo mayor de 21
00:00:25
O primero mayor de 21 y tercero mayor de 21
00:00:28
O segundo mayor de 21 y tercero mayor de 21
00:00:33
Pues ya está, ya hemos trasladado la idea de al menos dos mayores de 21
00:00:37
Al lenguaje de operadores de Java que conocemos
00:00:42
Pues ya está, como ya lo hemos trasladado a eso lo podemos escribir
00:00:45
Y esto sería, que edad 1 sea mayor o igual que 21 y que edad 2 sea mayor o igual que 21.
00:00:49
Vale, voy a ir poniendo paréntesis para no liarnos.
00:01:06
Si se cumple esto, la condición total ya es true, pero la condición total además se puede cumplir si pasa esa otra cosa.
00:01:14
luego ahí me falta un or, es, vale, si las edades que son simultáneamente mayores de 21 son la del primero y el tercero, también, y me falta el último or,
00:01:20
si las edades que son mayores o iguales de 21 son la del segundo y el tercero, bueno, pues tenemos que habituarnos a este proceso,
00:01:37
que es algo que en lenguaje natural es inmediato, al menos dos.
00:01:49
Al menos dos de tres, a Java no le dice nada.
00:01:53
A Java lo que le dice es el primero simultáneamente con el segundo,
00:01:57
o el primero simultáneamente con el tercero, o el segundo simultáneamente con el tercero.
00:02:01
Eso sí le dice algo a Java, porque lo podemos expresar en operadores lógicos.
00:02:08
Pero el al menos dos, eso no le dice nada a Java, tenemos que traducirlo.
00:02:14
Pues ya está. Esta es una condición formada por la combinación con un OR de tres condiciones más sencillas y cada una de ellas a su vez está formada con la combinación con un AN.
00:02:18
Entonces, o simultáneamente estas dos, o simultáneamente estas dos, o simultáneamente estas dos.
00:02:34
¿podemos simplificar esa condición
00:02:38
y expresarla de otra manera?
00:02:41
pues a mí no se me ocurre otra manera
00:02:43
de simplificarla para expresar esa idea
00:02:45
de forma más sencilla
00:02:47
¿vale? esa la recoge
00:02:48
claramente
00:02:50
o son simultáneamente los dos mayores o iguales de 21
00:02:52
o son simultáneamente
00:02:56
primero y tercero o son simultáneamente los dos mayores o iguales de 0
00:02:57
¿qué pasa si son los tres mayores de 21?
00:02:59
si son los tres mayores de 21
00:03:01
esta ya será true, obviamente
00:03:02
como esta ya es true, no evalúa ninguna de las demás
00:03:04
Y el resultado es true
00:03:07
Claro, es que si los 3 son mayores de 21
00:03:08
Se cumple esto
00:03:10
Se cumple que al menos 2
00:03:11
Entonces, pues ya está
00:03:13
¿Vale?
00:03:15
Vale, entonces, repito
00:03:19
Lo que se expresa en lenguaje natural
00:03:20
Java no lo entiende
00:03:22
El al menos 2 no lo entiende
00:03:23
Pues se traduce a lo que tenemos
00:03:24
Y lo que tenemos es
00:03:27
Combinación de condiciones sencillas
00:03:28
Del tipo ser mayor que, ser menor que, ser igual que
00:03:31
Y combinadas con
00:03:34
Y es y con o es
00:03:36
con an y con or, eso es lo que tenemos
00:03:37
pues combinando todo eso
00:03:39
tenemos que poder expresar cualquier idea
00:03:41
y a lo mejor una idea sencilla
00:03:43
se queda muy larga
00:03:46
porque expresada con
00:03:47
relaciones de mayor, menor o igual
00:03:49
y con an y con or se queda muy larga
00:03:51
bueno, pues se queda muy larga
00:03:53
a lo mejor luego resulta que hay otra forma
00:03:54
de encontrar ahí una condición
00:03:58
más sencilla, como lo sé
00:04:00
en este caso, a mí ahora mismo
00:04:01
no se me ocurre otra forma de expresarlo
00:04:03
¿vale? entonces
00:04:05
con que cualquiera de las dos sea cierta
00:04:10
ya la total es cierta, porque esto es uno
00:04:12
vale
00:04:14
bueno, vamos al que estábamos
00:04:15
al de los triangulillos
00:04:18
venga, pues al de los triangulitos
00:04:20
este ya se complica
00:04:25
un pelín
00:04:27
aquí, primera cosa por la que se complica
00:04:27
porque tengo
00:04:47
tres posibilidades, o sea, aquí está claro
00:04:48
que el final del programa
00:04:50
es mostrar
00:04:53
un mensajito
00:04:55
es mostrar un mensajito
00:04:55
¿Vale? Un mensajito
00:04:57
Vamos a poner esto ya
00:05:01
Y como vamos a leer tres lados
00:05:03
Me voy a adelantar y voy a hacer un copia y pega
00:05:05
Ya de todo esto, pues vamos a leer tres lados
00:05:07
Ya me voy a adelantar
00:05:09
Pero esto en lugar de D1
00:05:11
Pues se va a llamar lado 1
00:05:13
Aquí, refactor
00:05:14
Rename
00:05:17
Rename
00:05:18
Ahí, quédate
00:05:36
Así más
00:05:47
ahora, lado 2
00:05:50
y ahora
00:05:57
esta variable de aquí
00:05:59
bueno, ya adelanto
00:06:01
a ver, hacedme caso
00:06:18
vale, ya adelanto
00:06:20
y como voy a tener que pedir 3 lados
00:06:25
pues ya
00:06:27
dejo este código ya hecho de pedir 3 lados
00:06:28
Lado 1, lado 2 y lado 3
00:06:31
Relax
00:06:32
Bueno, pues el resultado final del programa
00:06:36
Sabemos que he mostrado una cadena
00:06:39
Pero aquí ya tenemos la primera complicación
00:06:41
La primera complicación es
00:06:43
Que lo que yo voy a mostrar
00:06:46
Es uno de tres posibles mensajes
00:06:48
No uno de dos
00:06:50
Entonces ya tenemos la primera complicación
00:06:51
Antes lo que me iba a mostrar es
00:06:53
Si o no
00:06:55
Entonces era más sencillo
00:06:56
Porque yo ponía aquí
00:06:58
El resultado puede que sea sí o puede que sea no, tengo dos posibilidades y en función de que va a ser sí o no, pues bueno, voy a pensar la condición.
00:06:59
Esta es nuestra situación, pero es que ahora tenemos tres posibilidades, aquí puede ser que el resultado sea equilátero, que sea isósceles o que sea escaleno, tenemos tres opciones.
00:07:13
Entonces tenemos que anidar operadores ternarios
00:07:26
Con la primera condición
00:07:30
La idea es que yo pueda discernir
00:07:31
Si es equilátero o no
00:07:33
No pongo tilde porque sale mal
00:07:35
Bueno, da igual, la voy a poner que así queda más feo
00:07:40
Vale
00:07:42
Con esta condición
00:07:43
La idea es que yo ponga aquí una condición
00:07:46
Para poder ya discernir si es equilátero
00:07:47
Pero si no es equilátero, si no lo es
00:07:49
De nuevo se me abren dos posibilidades
00:07:52
De nuevo se me abren dos
00:07:54
entonces aquí de nuevo
00:07:56
en la rama del no
00:07:58
se me abren dos, pues aquí de nuevo
00:07:59
habrá otra condición
00:08:01
y esta condición ya sí que me debería
00:08:04
poder discernir entre isósceles
00:08:06
adiós
00:08:08
y escalero
00:08:09
vale, ahora ya
00:08:11
al revés, ¿por qué?
00:08:18
bueno, depende de cómo pongas las condiciones
00:08:23
depende de cómo las pongas, pero bueno
00:08:25
yo hago, el programa siempre uno plantea
00:08:27
va planteando un esqueleto con cajas negras
00:08:29
y luego lo va rellenando
00:08:31
y en las sucesivas iteraciones
00:08:32
pues ya lo puede ir reformulando
00:08:34
pero uno va partiendo de una estructura
00:08:35
un punto de partida que le ayude
00:08:38
entonces aquí hay tres posibilidades
00:08:40
que sea equilátero, isósceles y escaleno
00:08:42
pues lo podemos plantear así
00:08:44
una primera condición
00:08:46
me puede hacer ver si es equilátero
00:08:48
pero si no lo es
00:08:50
tengo todavía dos posibilidades
00:08:51
si no lo es todavía se me abren dos
00:08:53
vale, vamos a ver si este esquema
00:08:55
que hemos planteado en caja
00:08:58
yo puedo
00:09:00
yo tengo una condición
00:09:01
que pueda construir a partir de los lados
00:09:03
que me permita decir si un triángulo
00:09:06
es equilátero o no
00:09:08
¿la tengo? ¿cuál sería?
00:09:10
claro, pero eso en Java
00:09:13
¿cuál sería?
00:09:14
y lado 2 igual a lado 3
00:09:20
¿vale? efectivamente
00:09:22
tenemos una condición
00:09:24
pero es que no es transitivo
00:09:25
ya la otra va a ser true siempre
00:09:27
si las dos anteriores lo son
00:09:29
Entonces, tenemos una condición que expresa si es equilátero, pues vamos a ponerla, lado 1 igual a lado 2 y además, simultáneamente a esto, lado 2 igual a lado 3, ¿verdad?
00:09:30
y no hace falta poner
00:09:52
y lado 1 igual a lado 3
00:09:55
porque si esas dos son true
00:09:57
la tercera lo va a ser
00:09:58
a ver, podríamos ponerla y no estaría de más
00:10:00
pero ¿para qué vamos a ponerla?
00:10:03
si esta es verdad
00:10:05
y simultáneamente esta es verdad
00:10:06
es que entonces va a ser verdad obligatoriamente
00:10:08
que lado 1 sea igual a lado 3
00:10:11
porque ser igual a A cumple la propiedad transitiva
00:10:13
¿no?
00:10:15
bueno, pues entonces la condición
00:10:17
que me permite a mí discernir
00:10:19
cernir, si es equilátero
00:10:21
ya la tengo
00:10:23
vale, pues vamos a partir ahora
00:10:24
de la base, de que no sea
00:10:27
equilátero, entonces si hemos llegado aquí
00:10:29
si hemos llegado aquí es porque no lo es
00:10:31
no son los tres lados iguales
00:10:33
¿puedo yo poner aquí
00:10:35
si he llegado yo aquí, ya partiendo de esa base
00:10:37
¿puedo expresar ahí con una
00:10:39
condición de seis ósteles?
00:10:41
¿cómo podría expresarlo?
00:10:44
¿y eso en Java
00:10:48
cómo lo podríamos poner?
00:10:49
con el or, si lado 1 igual a lado 2, o lado 2 igual a lado 3, o lado 1 igual a lado 3,
00:10:51
ahí sí que tengo que poner las tres cosas, porque es un or.
00:10:59
Vale, pues la condición de isósceles también la puedo expresar, de esa manera,
00:11:02
la condición de isósceles podría ser, si lado 1 es igual a lado 2,
00:11:08
si eso se cumple ya es isósceles, equilátero no es, porque estoy en la rama
00:11:16
de que no era equilátero, si lo fuera había entrado arriba
00:11:21
pero si esa no se cumple
00:11:23
aún así puede seguir
00:11:25
siendo isósceles porque
00:11:27
lado 1 sea igual
00:11:29
a lado 3
00:11:31
adiós, vale
00:11:32
y si esa tampoco se cumple
00:11:36
puede seguir
00:11:40
siendo isósceles porque los que
00:11:42
sean iguales sean lado 2
00:11:44
y lado 3, también puede seguirlo siendo
00:11:46
aquí sí que tengo que poner las 3
00:11:48
porque se puede dar sólo una
00:11:50
de ellas y no las otras
00:11:52
Lado 1, perdón, lado 2
00:11:53
Igual a lado 3
00:11:57
Entonces, si se da esta
00:12:00
Hasta luego, o se da esta
00:12:04
O se da esta, con cualquiera de las dos que se dé
00:12:06
Ya sé que es isósceles
00:12:09
¿Vale? No van a ser iguales los tres
00:12:11
Porque es que estoy ya en la salida
00:12:14
En la que no eran iguales
00:12:18
Porque si hubieran sido iguales los tres
00:12:21
habría entrado aquí y habría acabado ya
00:12:22
entonces, si esto se da
00:12:25
si esta condición se da
00:12:27
pues isósceles
00:12:28
y ahora ya, si esa tampoco se da
00:12:30
ya puedo concluir que es caleno
00:12:33
¿verdad?
00:12:35
porque no ha sido equilátero
00:12:36
y ha venido por aquí
00:12:38
no ha sido isósceles
00:12:40
pues no le queda más remedio que ser escaleno
00:12:42
ahí ya no hay que evaluar ninguna condición
00:12:45
porque o es equilátero o es escaleno
00:12:46
no hay más posibilidades para un triángulo
00:12:49
hay más posibilidades
00:12:50
que no lo sea
00:12:52
a ver si
00:12:53
funciona
00:12:55
si meto lados que cumple la condición
00:12:57
de poder formar un triángulo
00:12:59
que no todos lo cumplen
00:13:00
a ver yo tengo
00:13:03
que va, no tiene nada que ver
00:13:03
no, no, no, míralas, están ahí
00:13:09
claro
00:13:11
ah, ya decía yo
00:13:14
vale, vale, vale, sí, sí, sí
00:13:18
vale, entonces
00:13:19
esta condición funciona
00:13:22
si yo meto
00:13:23
Los lados del triángulo
00:13:25
Vamos a
00:13:27
Yo meto aquí
00:13:28
Uy, claro, es que no he cambiado el mensajito
00:13:33
Lado 1, 3, lado 2, 3
00:13:34
Lado 3, 3
00:13:37
Es equilátero, vale
00:13:39
Voy a meter un isósceles
00:13:40
2, 5 y 2
00:13:42
Isósceles
00:13:44
Voy a meter un isósceles pero con los otros 2
00:13:45
Adiós 2, 3 y 3
00:13:49
Isósceles
00:13:51
Voy a meter ahora un escaleno
00:13:52
1, 4 y 2, escaleno
00:13:54
no sé si hemos cubierto todas las combinaciones posibles
00:13:57
para hacer todos los casos de prueba
00:14:00
pero bueno, tiene pinta de que sí que
00:14:01
vale, el único caso de prueba
00:14:04
de hecho que no hemos metido es que si hay sósteles
00:14:07
porque sean iguales, el primero y el tercero
00:14:08
creo
00:14:11
no sé si ese es el único caso de prueba que no hemos metido
00:14:11
ese es el que no había metido
00:14:15
¿verdad?
00:14:19
entonces si uno quiere hacer las pruebas completas y en condiciones
00:14:20
pues le faltaría
00:14:22
este caso de prueba y también
00:14:25
¿Vale? Entonces aquí hemos tenido que anidar el operador porque teníamos tres posibilidades, o equilátero y sóstelos o escaleno, ¿vale?
00:14:26
Bueno, pues con esto hay que trabajar, familiarizarse con la construcción de condiciones con esos operadores y ya está.
00:14:40
Venga, vamos a dejarlo aquí, así me da tiempo a subir.
00:14:53
- Subido por:
- Raquel G.
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 10
- Fecha:
- 6 de octubre de 2023 - 14:27
- Visibilidad:
- Público
- Centro:
- IES ROSA CHACEL
- Duración:
- 14′ 56″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1280x720 píxeles
- Tamaño:
- 284.97 MBytes