Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

Clase 6-10-23 - 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 6 de octubre de 2023 por Raquel G.

10 visualizaciones

Descargar la transcripción

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

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid