Saltar navegación

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

Clase 29-09-23 - 2 - 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 29 de septiembre de 2023 por Raquel G.

11 visualizaciones

Descargar la transcripción

Vale, pues ahora entonces que hemos visto esto de las cadenas, tan bonito, esto de aquí, ya sabemos concatenar cadenas y así podemos construir cadenas de manera un poquito más flexible, pues concatenando otras que tengamos, etc. 00:00:01
Bueno, pues entonces vamos a volver ahora con esta información adicional que tenemos, vamos a volver a este ejercicio de aquí, este de partida que nos ha gustado tanto. 00:00:18
Vale, para no meterle líneas demasiado adicionales, voy a quitar el boolean y voy a poner directamente la condición. 00:00:32
En este caso en concreto, yo creo que este programa queda más claro si no le ponemos un boolean intermedio. 00:00:47
Si no le ponemos un boolean, porque así el que ve el programa ya ve directamente, esto se me ha ido, ya ve directamente de qué depende darle un valor u otro. 00:00:54
Ya lo ve ahí, no tiene que irse a la línea de arriba para verlo. 00:01:08
Entonces, en este caso, pues queda más claro si lo metemos ahí la condición directamente, en lugar de un boolean. 00:01:13
Bueno, vamos a volver a él. 00:01:21
Pues vamos a, ahora con lo nuevo que hemos incorporado, vamos a pensar, ¿y cómo podríamos modificar esto? 00:01:22
Si, por ejemplo, para que en lugar de mostrarme, este programa me mostraba el mayor de los dos, vamos a olvidarnos por ahora que si son iguales, nos muestra el segundo. 00:01:30
vale, vamos a 00:01:42
si ejecutamos este programa 00:01:44
recordamos que lo que hacía era 00:01:46
uuuh 00:01:48
esto, lo que hacía era quedarse esperando 00:01:50
un número, quedarse esperando otro 00:01:56
y luego mostrarme el mayor 00:01:58
hasta ahí vale, pero es que jo 00:01:59
me muestra esto ahí a palo seco 00:02:01
un poquito feo 00:02:04
este 47, lo ideal sería 00:02:05
que me mostrara 00:02:08
el número 00:02:10
mayores 00:02:14
concatenado con 47 00:02:15
sería casi más bonito, ¿no? 00:02:18
vale, vamos a plantearlo 00:02:20
vamos a plantear esta modificación, entonces sobre este código 00:02:22
vamos a plantear esta modificación 00:02:24
vamos a poner el resultado 00:02:26
en una cadena 00:02:28
ahora que ya sabemos lo que es una cadena 00:02:29
vamos a decir, oye, el resultado 00:02:32
ahora no va a ser 00:02:34
el número tal cual 00:02:36
el resultado va a ser 00:02:38
un texto concatenado con el 00:02:40
número tal cual, vale 00:02:42
entonces mi resultado lo vamos a cambiar 00:02:43
y ahora va a ser 00:02:46
lo modifico aquí, va a ser un string 00:02:47
¿vale? y ahora como lo construyo 00:02:49
ese 00:02:52
resultado que ahora va a ser un string 00:02:53
lo construyo 00:02:55
poniendo, a ver 00:02:57
espera, estoy reutilizando aquí 00:02:59
int mayor 00:03:02
a ver, que estoy haciendo un poco de lío 00:03:05
pero ahora 00:03:06
y ahora concateno 00:03:07
El mayor es y lo concateno con esto, por ejemplo. 00:03:11
¿Vale? O sea, esta modificación la entendemos, ¿no? 00:03:20
Vamos a cambiar el programa para que lo que me muestre, el resultado final que me muestre, sea una cadena de texto. 00:03:24
Una cadena de texto que sea resultante de concatenar el texto, el mayor es, con el valor mayor de los dos. 00:03:31
¿Vale? Vamos a modificarlo para que el resultado 00:03:41
A mostrarse a una cadena 00:03:44
Luego como es una cadena 00:03:45
Yo el resultado por eso lo he declarado aquí como string 00:03:47
Porque va a guardar una cadena 00:03:49
¿Vale? Pues esa cadena que yo muestro aquí 00:03:52
Esa cadena que yo muestro 00:03:56
Le voy a asignar 00:03:57
Un valor que es 00:03:59
Fruto de la concatenación 00:04:01
El mayor es y un numerito 00:04:03
Y ahora este numerito 00:04:06
Si que lo tengo que obtener 00:04:08
con la expresión de antes, eso está claro 00:04:09
luego he añadido simplemente una variable 00:04:12
cadena, una variable string 00:04:18
para meter en ella el resultado 00:04:19
concatenando la cadena tal cual 00:04:21
el mayor es con el valor 00:04:24
con el valor que yo antes mostraba 00:04:25
directamente 00:04:28
la modificación que he hecho 00:04:28
está clara 00:04:32
vale 00:04:32
La modificación que he hecho está clara, vamos a probarlo 00:04:35
Introduzca el primer número, 65 00:04:42
Introduzca el segundo, 32 00:04:48
El mayor es 65, estupendo 00:04:51
Vamos a hacer el otro caso de prueba 00:04:52
Introduzco un número, 4 00:04:55
Introduzco otro número, 7 00:04:59
El mayor es 7, vale 00:05:00
Y como ya sabemos, porque ya lo hemos visto de antes 00:05:02
No nos hace falta hacer el caso de prueba de los dos iguales para ver que entonces aquí el programa estrepitosamente falla, porque si yo le pongo 6 segundos, 6, me va a decir el mayor es 6, el segundo de los dos, porque esta asignación funciona de tal forma que si esta condición es falsa, me asigna este, y si son iguales es falsa. 00:05:05
Entonces este programa, pues hombre, falla, obviamente si son iguales, falla estrepitosamente. 00:05:30
Bueno, pues entonces, ¿cómo podríamos arreglarlo? Vale, pues a ver, os voy a dar una información más sobre cómo va a dar este operador y lo pensáis en un rato, a ver cómo podríais arreglarlo. 00:05:38
vale, vamos a 00:05:56
meterlo en ejercicio no, porque vamos a estropear 00:06:00
en ejemplos charbulia, en ejemplos de lectura de datos 00:06:06
en ejemplos de variables numéricas, aquí estábamos viendo el operador de asignación 00:06:10
en esta clase es cuando vimos el operador de asignación 00:06:13
me parece condicionado 00:06:18
no era en esta 00:06:21
era ejemplo de lectura de datos 00:06:23
aquí era asignaciones condicionadas 00:06:26
vale 00:06:43
en esta clase vimos lo de asignaciones condicionadas 00:06:43
vale 00:06:48
la asignación condicionada todos la entendemos 00:06:49
la tenemos grabada en la cabeza 00:06:51
y ya sabemos que consiste en hacer una asignación 00:06:52
hacer una asignación 00:06:55
de un valor 00:06:57
u otro 00:06:59
dos únicas alternativas 00:07:00
una u otra 00:07:02
en función de una condición 00:07:03
en función de una condición 00:07:06
hasta ahí está claro 00:07:07
y la hemos usado aquí 00:07:10
ese operador lo hemos usado aquí porque nos ha sido 00:07:11
imprescindible, lo hemos tenido que usar 00:07:14
lo hemos usado aquí 00:07:16
este 00:07:18
lo teníamos ahí 00:07:18
vale, bueno 00:07:22
este operador 00:07:24
yo lo estoy llamando asignación condicionada 00:07:26
para que entendamos que es una asignación 00:07:28
condicionada, es lo que representa 00:07:30
pero tiene su nombre, su nombre técnico 00:07:32
y su nombre técnico se le llama operador 00:07:34
ternario, ese nombre 00:07:36
no nos dice nada, es un nombre muy feo, se le llama 00:07:37
ternario porque involucra tres cosas 00:07:39
involucra la condición 00:07:41
el primer valor posible 00:07:43
y el segundo valor posible 00:07:46
por eso se le llama ternario, pero bueno 00:07:47
es un nombre muy feo, vale 00:07:49
pero ahora sí que voy a incorporarlo aquí 00:07:51
ahora que ya sabemos manejarlo 00:07:53
se llama 00:07:55
oficialmente 00:07:56
oficialmente 00:07:59
operador 00:08:01
ternario 00:08:03
un nombre muy raro y poco explicativo 00:08:04
sin embargo una asignación 00:08:08
condicionada nos dice más 00:08:09
bueno 00:08:11
pues 00:08:13
este operador ternario 00:08:14
podemos hacerle incluso más útil 00:08:17
podemos hacerle incluso más útil 00:08:19
y es anidándolo, vamos a ponerlo así 00:08:21
el operador 00:08:25
ternario 00:08:27
se puede anidar 00:08:29
y vamos a ver un ejemplo 00:08:34
¿vale? 00:08:36
por ejemplo, nosotros a una variable 00:08:39
a la variable número 1 00:08:41
le queremos asignar 00:08:43
un valor 00:08:49
entre dos posibilidades 00:08:51
como es el caso de arriba 00:08:53
entonces, hacíamos esto 00:08:54
¿verdad? 00:08:57
si se cumple esta condición, pagado 00:08:58
si se cumple esta condición, esta era una condición 00:09:01
estará un boolean, me da igual de donde salga 00:09:03
este boolean, me da igual 00:09:05
o sea, ahora estamos viendo el funcionamiento 00:09:07
del operador 00:09:09
entonces aquí se pone una condición 00:09:10
entonces 00:09:13
la condición se da 00:09:16
se le asignaba un valor 00:09:19
y si no se da, se le asignaba 00:09:21
otro, ¿verdad? vamos a ponerlo así 00:09:23
valor 1 00:09:25
valor 2 00:09:27
¿no? o sea, esto lo estoy poniendo 00:09:29
ahora lo voy a modificar, claro 00:09:31
se le asignaba ese valor 1 00:09:34
el que fuera 00:09:36
y si no, se le asignaba este valor 2 00:09:36
el que fuera, el que yo quiera poner ahí 00:09:39
igual que aquí tengo puesto 0 y 1, el valor que fuera 00:09:41
¿vale? así funcionaba 00:09:43
vale, pero yo puedo anidarlo 00:09:45
y puedo decir, vale 00:09:47
que la condición se cumple, estoy en este lado 00:09:48
de los dos puntos 00:09:52
que la condición no se cumple, estoy en este otro lado 00:09:52
de los dos puntos 00:09:56
pero a su vez, en uno de los lados 00:09:56
a su vez puedo condicionarlo según otra condición, por ejemplo, que esta condición se cumple, que está pagado, pues ahora puedo decidir aquí entre a su vez otros dos valores, 00:09:59
que significa estando pagado, vale, está pagado, imagínate que hay otra variable que sea IVA, que significa que además el IVA también está pagado, 00:10:12
Vamos a imaginarnos que hubiera otro boolean por aquí, otro boolean, por aquí cualquiera, que fuera pagado también el IVA, por ejemplo. 00:10:22
Le asignamos cualquier cosa, le asignamos cualquier cosa. 00:10:36
Para que no me diga que no está inicializada, le asignamos cualquier cosa. 00:10:40
Tenía yo aquí dos variables, número 1 menor que número 2, cualquier chorrada. 00:10:46
es por darle una condición 00:10:50
para inicializar pagado IVA con una condición 00:10:57
la que sea 00:10:59
bueno, pues entonces 00:11:00
yo aquí me hago la pregunta 00:11:02
¿está pagado este Boolean Strew? 00:11:04
a número 1 se supone que le asignaría 00:11:07
lo que ponga aquí 00:11:09
que no, que esa condición es falsa 00:11:10
se supone que le asignaría lo que ponga ahí 00:11:13
se supone, vale 00:11:15
pero lo que estábamos diciendo 00:11:16
a su vez, cualquiera de estos dos lados 00:11:18
a su vez, lo puedo volver a desglosar 00:11:21
Y decir, vale, ¿está claro? Está pagado. Luego estoy aquí, está claro. Pero a su vez voy a hacerme ahora una segunda pregunta anidada. Una segunda pregunta. Y es, vale, ¿pero está pagado con IVA? Pues entonces un valor y si no, otro. 00:11:24
Y me vuelvo a hacer otra pregunta 00:11:37
Diferente, otro boolean entre paréntesis 00:11:40
¿Vale? 00:11:42
¿Pagado con IVA? 00:11:44
Vale, pues entonces 00:11:46
En ese caso 00:11:47
Vamos a suponer que en ese caso le doy un 0 00:11:52
Y si no, le doy un 1 00:11:55
Y esto 00:11:57
Estaría anidado 00:12:00
Aquí dentro, ¿vale? 00:12:02
Y me falta aquí la interrogación 00:12:05
entonces 00:12:07
los dos valores que están 00:12:11
en los dos puntos, los puedo 00:12:13
a su vez, si quiero 00:12:15
desglosar tantas veces como quiera 00:12:16
volviendo a anidar a su vez 00:12:19
aquí para que me quite el orden de compilación 00:12:21
voy a ponerle un valor que exista 00:12:24
un valor, esto mismo 00:12:25
entonces esto me dice 00:12:27
primero te haces la pregunta de si está apagado 00:12:29
es la primera que te haces 00:12:31
que esto es falso, asignas 00:12:32
lo que hay aquí, ya está, 3 00:12:35
número 1 se quedaría con 3, no hay duda 00:12:37
que pagado es true, se va aquí 00:12:39
y ahora aquí en lugar de tener el valor 00:12:42
directamente, en lugar de tenerlo tal cual 00:12:44
a su vez me está diciendo que te hagas otra pregunta 00:12:45
¿vale? pues a su vez 00:12:47
te haces otra pregunta 00:12:50
oye, me hago la pregunta, ¿pagado con IVA? 00:12:50
00:12:55
pues entonces ya le asigno esto 00:12:55
pues entonces ya le asigno esto 00:12:59
y con esta regla podemos ir anidando 00:13:01
hasta el infinito 00:13:04
y podríamos decir, vale, en el caso de que no está pagado 00:13:04
de nuevo quiero volver a dividir 00:13:08
que además de no estar pagado se cumple esto 00:13:10
le asigno este valor 00:13:14
que además de no estar pagado no se cumple eso 00:13:15
le asigno este otro 00:13:18
podríamos aquí dividir hasta el infinito 00:13:19
poniendo otra condición 00:13:21
otra condición cualquiera 00:13:24
y preguntándonos 00:13:27
oye, ¿se da esta condición? 00:13:29
pues le asignas el 7 00:13:32
que no le asignas el 9 00:13:33
así podríamos ir anidando hasta el infinito 00:13:35
poniendo aquí con direcciones 00:13:37
a su vez 00:13:39
aquí podría volver a dividirlo 00:13:40
ya no tienes normalmente 00:13:43
una situación en la que 00:13:44
tengamos que dividir tanto, quizás está mal planteada 00:13:47
de partida, pero la herramienta 00:13:49
está, la posibilidad está 00:13:51
yo ahí podría volver a dividirlo otra vez 00:13:52
y sería, ¿está pagado? sí 00:13:55
pues me voy a la primera parte 00:13:56
ahora, ¿además está pagado 00:13:58
con IVA? sí, pues me voy a la primera parte 00:14:01
Y ahí en lugar del valor directamente 00:14:03
Podría haber a su vez otra pregunta 00:14:05
Y además esta patata 00:14:07
Pues voy a la primera parte, que no a la segunda 00:14:08
¿Vale? Podríamos ir desglosando así 00:14:11
¿Sí? 00:14:13
¿Entendido? 00:14:17
Bueno, pues entonces, esta posibilidad 00:14:20
La podemos usar 00:14:22
Cuando queramos 00:14:24
Voy a quitar aquí esto para no tener error de compilación 00:14:26
Cuando queramos 00:14:29
Porque veamos que nos es útil 00:14:30
Entonces 00:14:32
¿Qué me ha abierto esta posibilidad? 00:14:33
Pues la posibilidad, fijaos, hiper mega interesante de que número uno ahora tenga hasta tres posibilidades diferentes de asignación. O cero, o uno, o tres. Hasta tres posibilidades. 00:14:37
Número 1 ahora tiene tres posibilidades distintas. 00:14:54
Si está pagado y pagado con IVA, el 0. 00:14:59
Si está pagado y pagado y no pagado con IVA, el 1. 00:15:02
Y si no está pagado, el 3. 00:15:05
Luego he podido programar ahí un caso en el cual una variable recibe uno de tres posibles valores. 00:15:08
Y si siguiera dividiendo, podría programar el caso de que una variable reciba uno de siete posibles valores. 00:15:15
o de 15, o de los que fueran 00:15:23
podría programar esa situación 00:15:25
sin más que ir haciendo las divisiones 00:15:28
de los casos que yo contemplo 00:15:31
bueno, pues dicho esto entonces, ahora 00:15:33
cosa difícil que os planteo 00:15:37
pues anda claro, pues este ejercicio es justo lo que nos faltaba 00:15:42
lo que nos pasaba 00:15:45
lo que nos pasa es que el resultado final 00:15:46
no son solo dos posibilidades 00:15:49
el mayor es el número 1 00:15:53
o el mayor es el otro 00:15:55
este resultado o el mayor es el dato 2 00:15:57
hay hasta una tercera posibilidad 00:16:00
y es que me diga 00:16:02
son iguales 00:16:04
pues entonces me doy cuenta 00:16:06
de que este programa mío 00:16:08
esta variable resultado 00:16:09
tiene tres posibilidades 00:16:12
tres posibles valores 00:16:14
el mayor es el dato 1 00:16:15
el mayor es el dato 2 00:16:18
o son iguales 00:16:20
tiene tres posibilidades 00:16:21
a, pues voy a ver si usando esta operación 00:16:22
de asignación condicionada, puedo 00:16:27
asignar a resultado como variable string, un valor string que varía 00:16:30
entre tres posibles, lo dejo así planteada la idea, muy por encima 00:16:35
pues venga, a ver en un rato que os saldría, la idea es cambiar este programa 00:16:41
y que ahora sea resultado 00:16:45
esto ya nos olvidamos de él, la idea que yo os doy 00:16:48
de partida es que ahora sea resultado 00:16:53
el que se le asigne una cosa u otra 00:16:55
en función de las condiciones que queráis anidar y poner 00:16:59
se le asigne una cosa u otra 00:17:03
y así resultado tendrá una de varias posibilidades 00:17:05
en este caso de tres 00:17:09
y una vez que el resultado ya está construido 00:17:10
ya se puede mostrar 00:17:14
¿vale? 00:17:16
venga, pues a ver que 00:17:17
Subido por:
Raquel G.
Licencia:
Todos los derechos reservados
Visualizaciones:
11
Fecha:
29 de septiembre de 2023 - 13:41
Visibilidad:
Público
Centro:
IES ROSA CHACEL
Duración:
17′ 23″
Relación de aspecto:
1.78:1
Resolución:
1280x720 píxeles
Tamaño:
331.91 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid