Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Clase 29-09-23 - 2 - 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, 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
00:02:09
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
si
00:09:14
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
Le
00:11:51
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
sí
00:12:55
pues entonces ya le asigno esto
00:12:55
no
00:12:58
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