20251014 ProgEstr-SentSwitch - 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, para introducir otra forma de hacer decisiones vamos a hacer el 30, por ejemplo, el 30, que sería, a ver, que es una tontería, pero nos permite introducir otra sentencia para hacer los códigos que involucran decisiones un poquito más bonitos, nada más.
00:00:00
Bueno
00:00:21
Sí, pero
00:00:22
Dentro de sentencia de decisión
00:00:24
Tenemos if, el se if
00:00:27
Pero nos falta otra
00:00:30
Forma de hacer decisiones
00:00:31
De escribirlas
00:00:33
Pues venga, vamos a poner
00:00:34
Ejer 30
00:00:37
Esto dice
00:00:41
Pedir una nota y mostrarla
00:00:47
De la siguiente forma, 0, 1, 2
00:00:50
Como si fuera en cadena
00:00:52
O podríamos poner suspenso
00:00:53
Por ahora vamos a ponerla 0, 1, 2
00:00:54
Vale, entonces este programa se convertiría en esto
00:00:57
Bueno, primero vamos a, como tenemos que pedir un numerito
00:01:02
Pues vamos a esto
00:01:06
Ala, pedimos la nota
00:01:10
Venga, introduzca nota numérica
00:01:25
introduzca
00:01:42
nota
00:01:46
entre 0 y 10
00:01:47
a la introduzca
00:01:51
nota entre 0 y 10
00:01:53
ahí tenemos la nota
00:01:54
ahora, ¿qué tiene que hacer el programa?
00:01:55
mostrarme la nota
00:01:58
traducida a cadena para que yo la entienda
00:02:00
mejor
00:02:03
para imprimirla en un boletín, para lo que sea
00:02:03
0, 1, 2
00:02:06
con lo cual, este es un programa
00:02:07
no hay nadie
00:02:09
Este es un programa con un montón de ramas
00:02:10
Porque me puede mostrar 0
00:02:14
O bien 1, o bien 2, o bien 3
00:02:16
Así hasta 10
00:02:19
Este es un programa con un montón de ramas
00:02:20
Luego
00:02:21
Esto
00:02:23
Que optaríamos por un if else if
00:02:24
Porque si lo hacemos con el if else básico
00:02:27
Haríamos algo de este estilo
00:02:31
Si nota igual a 0
00:02:32
Pues entonces
00:02:35
cero
00:02:40
¿pero qué pasa si la nota no es igual a cero?
00:02:42
pues si la nota no es igual a cero
00:02:48
entonces me voy a preguntar
00:02:50
¿nota igual a uno?
00:02:52
y pondría aquí
00:02:56
uno
00:02:58
estoy no poniendo llaves
00:02:59
porque dentro del if solo hay una sentencia
00:03:04
y dentro del else solo hay una compleja
00:03:06
que es la if
00:03:09
¿pero qué pasa si la nota no es uno?
00:03:09
que hay en este else de aquí
00:03:12
dentro de este if
00:03:14
pues no lo sé
00:03:15
vamos a mirar a ver si ahora fuera
00:03:17
2
00:03:20
vale, y hasta aquí está bien la broma
00:03:21
pero es que si tenemos que
00:03:30
seguir considerándonos
00:03:32
¿y qué pasa si la nota no es 2?
00:03:33
¿qué pasa si es 3?
00:03:36
pues si yo sigo las reglas de un código
00:03:38
elegible, elegante, todo esto
00:03:40
aquí se me quedan unos anidamientos
00:03:42
tremendos, ¿vale?
00:03:44
por eso hacíamos la sentencia if
00:03:46
ELSEIF, que me permitía compactar esto
00:03:48
cuando hay IF dentro de ELSE.
00:03:50
¿Vale? No porque
00:03:53
el programa haga algo
00:03:54
distinto. Si la máquina virtual va a hacer
00:03:56
lo mismo. Es otra forma de escribirlo.
00:03:58
Entonces, en nuestro caso,
00:04:01
como rápidamente vemos que nuestro programa
00:04:02
tiene un montón de ramas. O mostrar
00:04:04
cero, o mostrar uno, o mostrar dos, o mostrar tres.
00:04:06
Pues pienso cuál es la condición
00:04:08
para cada uno de ellas, la pienso y lo
00:04:10
planto en un IF, ELSEIF, ELSEIF, ELSEIF.
00:04:12
Lo que explicamos el otro día, ¿no?
00:04:14
pues entonces no voy a seguir aquí hasta el infinito
00:04:16
con el save note igual a 3
00:04:19
porque esto sería muy feo
00:04:20
aunque el programa estaría bien hecho
00:04:22
sería muy feo y digo, a ver
00:04:23
espérate
00:04:26
esto tiene varias opciones, ¿no?
00:04:27
si se cumple la condición 1
00:04:31
hará una cosa
00:04:32
la que sea
00:04:34
pero
00:04:36
si se cumple
00:04:37
la condición 2
00:04:42
vale, si se cumple la condición 2
00:04:45
entonces haces otra cosa
00:04:50
esta era la sintaxis del if, el save
00:04:54
que es lo mismo que hemos escrito antes
00:04:58
y así puedo poner todas las ramas que a mí me den la gana
00:05:00
todas las que yo quiera, cada una asociada a una condición
00:05:13
y entra en esta rama si la condición que se cumple
00:05:15
es la correspondiente a su rama
00:05:19
Podemos acabar con un else
00:05:21
Al cual entrará
00:05:24
Al cual entrará
00:05:26
Si no se cumple nada de los anteriores
00:05:32
Esto era el if, el save
00:05:33
Era la representación de un programa
00:05:35
Con varias ramas
00:05:38
Cada rama asociada a una condición
00:05:39
Solo se va a ejecutar una de ellas
00:05:41
Solo una, la correspondiente a la condición cierta
00:05:44
Si ninguna es cierta, se ejecuta el else
00:05:47
Si hay dos que son ciertas
00:05:50
Y si me decís, oye, y si se cumple esta y esta
00:05:53
La primera que encuentre
00:05:55
Porque esto iba en secuencia
00:05:57
Miro la primera, que se cumple, hago esto
00:05:59
Punto pelota
00:06:01
Me voy, se acabó
00:06:02
Que no se cumple, miro la siguiente
00:06:04
Podría ser que se cumpliera esta y esta
00:06:06
Pero es que a esta no llegaría a mirarla nunca
00:06:10
Porque como ya se ha cumplido esta
00:06:12
Ha entrado aquí y se ha pirado
00:06:14
¿Vale?
00:06:15
No tienen por qué ser excluyentes
00:06:18
Lo que pasa es que, hombre, este programa
00:06:19
esta estructura tiene sentido cuando tú quieres
00:06:22
condiciones excluyentes
00:06:24
y para cada una de ellas hacer una cosa
00:06:27
bueno pues
00:06:28
esto es exactamente
00:06:29
la estructura de lo que nos están pidiendo
00:06:31
varias posibilidades 0, 1, 2
00:06:34
hasta 10 y en cada una de ellas hago una cosa
00:06:37
es justo lo que me están diciendo
00:06:38
se adapta a esto perfectamente
00:06:40
pues venga se trata de reflejar eso
00:06:42
si nota es igual a 0
00:06:44
pues entonces
00:06:47
Entonces, pon cero.
00:06:49
Y así no vamos a ponerlas todas porque es un montón.
00:06:55
Si nota es igual a uno, pon uno.
00:07:01
Y vamos a poner la última, aunque habría que poner todas.
00:07:09
Si nota es igual a tres, pues pon tres.
00:07:15
Sí, porque es que no las voy a poner todas que me vuelvo loca.
00:07:28
Pero vamos.
00:07:31
Vamos a ver, lo podemos dejar así
00:07:33
Dos
00:07:35
Y si no
00:07:37
Pues podríamos poner nota no válida
00:07:41
Aquí iría en el resto
00:07:44
Del save, ¿vale? Que no los pongo
00:07:52
El save, nota igual a
00:07:54
Tres, dos, ¿vale?
00:08:01
Pues nos queda un programa más legible que si yo
00:08:03
Voy anidando, voy anidando, pero es lo mismo
00:08:05
Hace lo mismo
00:08:07
¿Vale? Entonces si ejecutamos esto
00:08:08
Pues
00:08:11
Si le pongo el dos, pues me saca el dos
00:08:12
pero si le pongo
00:08:17
el 6, pues nota no válida
00:08:21
porque no tengo esa contemplada
00:08:23
vale
00:08:25
sí que tenía yo aquí cosas abiertas
00:08:26
madre de Dios
00:08:37
vale, bueno
00:08:38
pues
00:08:45
cuando la situación
00:08:46
es exactamente esta
00:08:49
yo identifico que tengo que hacer un programa
00:08:50
que tiene varias
00:08:53
ramas de actuación
00:08:55
y de qué depende que haga una cosa o haga otra
00:08:56
pues si yo identifico que depende
00:08:59
del valor de una variable
00:09:01
entonces puedo poner otra condición
00:09:02
que hace que el código sea más claro
00:09:05
que es el switch case
00:09:07
esta es una genérica, yo aquí puedo poner
00:09:08
cualquier condición
00:09:11
esta en particular, la condición
00:09:12
era que la variable fuera igual a un valor
00:09:15
pero aquí podría haber sido una condición muy compleja
00:09:16
y aquí podría haber sido una muy compleja
00:09:19
y aquí también
00:09:21
pero en el caso concreto
00:09:22
de que estas condiciones
00:09:24
sean que una variable
00:09:27
sea igual a algo
00:09:29
esto lo puedo poner con
00:09:31
otra sintaxis
00:09:33
de la sentencia de decisión
00:09:35
si las condiciones
00:09:36
son todas
00:09:43
que muy mal expresado
00:09:46
que una variable tome
00:09:49
un valor
00:09:53
pues entonces
00:09:54
podemos hacerlo
00:09:57
con esta
00:09:59
sentencia
00:10:01
suite
00:10:02
una sentencia que existe en todos los lenguajes de programación
00:10:05
vale, pues como es la sintaxis
00:10:10
de esta sentencia
00:10:14
primero se pone switch
00:10:14
como no podía ser de otra manera
00:10:17
y entre paréntesis
00:10:18
se pone
00:10:22
la variable
00:10:24
entre paréntesis
00:10:25
la variable que
00:10:28
en función de su valor yo hago una cosa u otra
00:10:29
tiene que ser una única
00:10:32
variable
00:10:33
vale, pues este programa en función
00:10:34
del valor de nota yo hago una cosa o hago otra
00:10:37
pues aquí pongo nota
00:10:40
y ahora aquí distingo
00:10:42
cada una de las posibilidades
00:10:45
que yo contemplo para esa variable
00:10:48
y las distingo cada una en un case
00:10:50
case nota que sea cero
00:10:54
dos puntos y lo que yo quiero que se haga
00:10:58
cuando sea cero, pues mostrar cero
00:11:01
y ya he terminado con esta rama
00:11:05
¿Qué quiero otra rama?
00:11:08
Pues en el caso de que sea 1
00:11:12
Pues 1
00:11:14
¿Y qué quiero yo en el caso de que sea 2?
00:11:18
Pues 2
00:11:26
Entonces esta es más bonita
00:11:27
Que un if, el se if, el se if
00:11:31
Cuando las condiciones que mandan
00:11:33
Es que una variable sea igual a un valor
00:11:36
¿Vale? Aquí de hecho
00:11:38
Por ejemplo voy a poner algunas más
00:11:41
La 3
00:11:48
La 4
00:11:50
3, 4
00:11:53
hay un else
00:11:58
que es
00:12:03
y si no es ninguno de los anteriores
00:12:04
ese else se llama
00:12:07
default
00:12:09
nota no válida
00:12:10
y ahí acabaría el switch, vale
00:12:17
esto ahora tiene un montón de matices que tenemos que incorporar
00:12:22
vale
00:12:25
pero primero
00:12:26
repetimos
00:12:29
recordad que
00:12:30
esta sentencia es
00:12:32
la sentencia que usamos cuando un programa
00:12:34
tiene varias posibilidades
00:12:37
varias ramas de actuación
00:12:39
y de qué depende que haga una rama
00:12:41
o haga otra
00:12:43
del valor que tome una variable
00:12:44
del valor que tome una variable
00:12:47
ese es un caso particular
00:12:49
el if, el save es más general
00:12:50
el if, el save tiene un montón de ramas
00:12:53
pero yo aquí puedo poner las condiciones
00:12:56
que me den la gana
00:12:58
no tiene que ser que una variable tome un valor
00:12:58
la condición que yo quiera
00:13:02
pero el switch case es un caso
00:13:04
particular de programa con varias ramas
00:13:07
donde lo que define
00:13:09
a qué rama me voy es el valor
00:13:11
que tome una única variable
00:13:12
una única variable
00:13:15
si identifico esa situación
00:13:16
pongo un switch case y queda más bonito
00:13:18
y queda más claro
00:13:20
vale, entonces ¿cómo funciona el switch case?
00:13:21
pues tiene un funcionamiento raro
00:13:25
¿cómo funciona?
00:13:26
la máquina virtual llega aquí
00:13:31
coge esta variable
00:13:32
y empieza, mira su valor y empieza a compararlo
00:13:33
con cada uno de los case.
00:13:40
¿El valor es cero?
00:13:42
Uy, sí, es cero.
00:13:43
Pues entra y hace lo que hay aquí.
00:13:45
Pero a diferencia del if, el save, no se pira,
00:13:47
sino que a partir de ahí empieza a hacer
00:13:50
todo lo que hay a continuación.
00:13:54
Me da igual que no sea uno o sea dos, me da igual.
00:13:56
Es decir, en cuanto encuentra un valor que coincide con la variable, es como decir, arranca desde aquí y ya coge carrerilla para todo.
00:14:02
Entonces, eso a veces puede que encaje, pero en este caso no.
00:14:12
Si la variable es cero, queremos que muestre cero y que salga, no queremos que haga nada más.
00:14:16
Pues para eso hay que poner una sentencia después, que es la que suele acompañar al switch case.
00:14:21
A ver, ¿por qué estáis tan revolucionados?
00:14:27
¿Qué es break?
00:14:32
Entonces es lo habitual
00:14:33
Tener que poner break
00:14:35
En cada case cuando acabo
00:14:37
Lo que
00:14:40
Simplemente para que se salga ya
00:14:40
Y no ejecute el resto
00:14:46
En cada uno
00:14:47
Hay que ponerlo en cada uno
00:14:50
Hay que ponerlo en cada uno
00:15:01
Si queremos
00:15:03
Que cuando encuentre el valor que coincide con la variable
00:15:03
Haga eso
00:15:07
Y termine y se vaya del switch case
00:15:08
Y siga por aquí, claro
00:15:11
Si queremos que funcione así
00:15:12
Que es lo habitual
00:15:13
Lo habitual es que queremos que funcione así
00:15:15
Si no ponemos el break
00:15:17
Esto se interpreta de otra manera
00:15:20
Y es que en cuanto encuentra ese valor
00:15:22
Empieza a partir de ahí
00:15:25
Vale, vamos a ejecutar esto
00:15:27
Este if, el save
00:15:38
Que ya sabemos que funciona
00:15:40
Voy a poner en comentarios para no liar
00:15:41
Esto lo voy a poner todo comentado
00:15:43
Todo esto está comentado
00:15:45
Mi programa se ha quedado
00:15:47
¿Cómo lo he comentado todo a lo bestia?
00:15:49
Control 7
00:15:51
Seleccionáis, control 7
00:15:52
Se comenta todo a lo bestia
00:15:56
Y lo podéis volver a descomentar
00:15:57
De la misma manera
00:16:00
Control 7, descomento
00:16:00
Si lo queréis comentar todo a lo bestia
00:16:07
Control 7, comentáis
00:16:10
Vale, bueno pues nos ha quedado
00:16:11
Esto
00:16:14
El default sería como el ELSE
00:16:15
Si no es ninguno de los anteriores
00:16:19
Entonces vamos a ejecutarlo
00:16:23
Callao
00:16:26
Venga, si yo le pongo el 0, muy bien, 0
00:16:28
Si lo vuelvo a ejecutar y le pongo el 3
00:16:34
Muy bien, 3
00:16:37
Si le pongo el 7, que el 7 no lo tenía contemplado
00:16:39
Nota no válida, vale
00:16:43
Imaginaos que se me ha olvidado poner el break aquí
00:16:44
lo voy a poner ahí en comentarios
00:16:49
si encuentra el 1
00:16:52
va a entrar en el 1 y como no hay un break
00:16:54
va a seguir haciendo lo demás
00:16:56
hasta que se encuentre el siguiente break
00:16:58
imaginaos que se me había ponido este break
00:16:59
pues que que más da
00:17:02
no, pero que lo haga no significa que entra a evaluar
00:17:05
sino que ya
00:17:08
lo hace todo de carrerilla
00:17:09
ya ni mira el valor ni mira nada
00:17:11
ni mira el valor ni mira nada
00:17:13
entonces yo le pongo el
00:17:16
espera, es que no era el 0
00:17:19
era el 1, donde se me había olvidado ponerlo
00:17:22
el break
00:17:24
entonces yo le pongo el 1
00:17:24
pues me hace el 1
00:17:27
y me hace el 2 también
00:17:29
porque como no hay un break aquí, ya sigue
00:17:31
sigue hasta que se encuentre un break
00:17:34
hasta que se encuentre un break
00:17:36
claro
00:17:37
desde que entra
00:17:40
porque ha encontrado la variable
00:17:42
que el valor que coincide desde que entra
00:17:43
empieza a hacer ya todas las sentencias
00:17:45
ya ignorando los case.
00:17:47
Los ignora, empieza a hacerlo todo
00:17:49
hasta que se encuentre un break.
00:17:50
¿Vale?
00:17:53
Entonces, esto se hizo así
00:17:54
antes de que se hiciera cierta incorporación
00:17:56
porque la sentencia switch case
00:18:00
ha tenido actualizaciones
00:18:03
según Java se ha actualizado.
00:18:04
Por ejemplo,
00:18:06
antiguamente no se podía poner ahí
00:18:08
una variable que fuera string
00:18:10
y aquí poder stringar así.
00:18:11
Ahora lo comprobamos.
00:18:13
Pero, por ejemplo,
00:18:14
¿para qué me puede a mí ser útil
00:18:15
que no haya break?
00:18:16
Pues, imaginad que en lugar de poner 0, 1, 2, queremos poner aprobado, suspenso, notable.
00:18:17
Pues, yo podría jugar de esta manera.
00:18:24
Quito aquí el 0.
00:18:27
Quito aquí el break.
00:18:29
Quiero poner suspenso.
00:18:30
Quito aquí todos los break.
00:18:33
Quiero poner suspenso hasta el 4 incluido.
00:18:34
Pues, entonces, pongo aquí ya, por ejemplo, quito todos estos system out.
00:18:37
Los quito todo.
00:18:45
Perdón.
00:18:53
quito esto así, lo dejo esto así,
00:18:53
y aquí en este x4 ya pongo el siso este,
00:19:09
suspenso, y aquí ya sí que pongo un break.
00:19:13
Entonces, ¿qué va a pasar?
00:19:18
Que tanto si es 0, como si es 1, como si es 2, como si es 3, como si es 4,
00:19:19
lo que va a ejecutar es esto.
00:19:24
Porque si es 0, entra aquí, no hace nada,
00:19:25
pero como no hay un break, se pone de corrido hasta que llega el break,
00:19:29
con lo cual haría esto.
00:19:33
Si es un 2, entra aquí
00:19:33
Y ya se pone a hacerlo todo de corrido
00:19:36
Hasta que se encuentre un break
00:19:39
Que no lo encuentra hasta aquí
00:19:40
Entonces, ahora
00:19:41
Imaginaos el 5 y el 6
00:19:44
Que es aprobado
00:19:47
Es el valor
00:19:49
De la variable
00:19:53
Que si coincide, entra ahí
00:19:54
Este sería bien
00:19:55
Y aquí ya si pondríamos un break
00:19:59
Vamos a poner
00:20:03
Case 7
00:20:04
Y case 8
00:20:08
Este sería notable
00:20:13
Y case 9
00:20:15
Y case 10
00:20:25
Sobresaliente
00:20:30
Vale, sobresaliente
00:20:32
Pues jugar con los break
00:20:37
Nos permite hacer cosas como esta
00:20:39
Por ejemplo
00:20:41
Hay 5 valores diferentes
00:20:43
que yo quiero que salgan por el mismo lado
00:20:45
pues les quito el break
00:20:47
los dejo en blanco
00:20:49
y me da igual por cual entre
00:20:50
porque desde el momento en que entra en 1
00:20:52
porque esta variable nota es 1
00:20:54
o es 2 o es 3
00:20:57
ya empieza a hacer todo de corrido hasta el break
00:20:58
luego me da igual por donde entre
00:21:00
si entra porque es 0 o porque es 1
00:21:02
va a hacer todo de corrido hasta el break
00:21:03
que es hacer suspenso
00:21:04
y ahí ya se va
00:21:05
porque es un break
00:21:07
pero que pasa si es un 5 o un 6
00:21:08
entonces no entra en ninguna de estas
00:21:10
no entra pero aquí si que entra
00:21:12
O aquí sí que entra
00:21:13
Entonces, me da igual que entre aquí
00:21:15
Que entre aquí, hace todo de corrido
00:21:17
Que será el bien
00:21:19
Y aquí ya sale, porque hay un break
00:21:21
Con el 7 y el 8 igual, con el 9 y el 10 igual
00:21:22
Entonces, jugar con los break me permitía
00:21:25
Hacer esto, de ahí venía lo del break
00:21:27
¿Vale?
00:21:29
¿Entendido hasta aquí?
00:21:32
Pero claro
00:21:33
Esto era hasta que no sé qué momento
00:21:34
Llegó
00:21:37
Una versión de Java que te permitía
00:21:39
Poner varios valores
00:21:41
en el mismo case separados por coma
00:21:43
que antes no
00:21:45
no se hasta que versión, no fue hace mucho
00:21:46
entonces, antes
00:21:49
este programa se hubiera hecho así
00:21:51
y todavía se podría
00:21:53
encontrar así, y lo podréis encontrar
00:21:55
así en
00:21:57
pero ahora ya no hace falta
00:21:58
hacerlo así, porque ahora
00:22:01
ya podríamos hacer, en el caso de que sea
00:22:03
0, 1 o 2
00:22:05
o 3 o 4
00:22:06
vale, entonces ahora ya hago lo que
00:22:08
sea, verdad
00:22:11
ahora ya las versiones de Java
00:22:12
me permiten completar varios
00:22:19
luego
00:22:22
esto que ha tenido como herencia
00:22:25
que ahora el break lo ponemos siempre
00:22:27
y se ha quedado ahí como sentencia fea
00:22:29
esto es una de las cosillas que
00:22:31
bien heredadas
00:22:33
de las actualizaciones
00:22:35
que se han tenido que ir
00:22:38
compatibilizando con lo anterior
00:22:40
luego
00:22:41
en los años en los que estamos
00:22:43
2026, ¿con qué nos quedamos
00:22:45
del switch case, nos quedamos
00:22:48
¿qué?
00:22:50
es una
00:22:51
me da igual
00:22:52
me da igual, los espacios
00:22:56
los parsea
00:22:58
el compilador
00:23:00
vale, ahora ya
00:23:01
en la versión del año 2026
00:23:04
de Java
00:23:06
¿con qué nos quedamos?
00:23:06
nos quedamos con que el switch case es una sentencia
00:23:09
que plantamos ahí
00:23:12
cuando tenemos un programa
00:23:13
que puede hacer varias
00:23:15
cosas, tiene varias posibilidades
00:23:17
y de qué depende
00:23:19
cada una de esas posibilidades
00:23:21
del valor de una única variable
00:23:22
si identificamos eso
00:23:24
switch case, y ahora
00:23:27
¿cuál es su sintaxis? pues switch
00:23:28
la variable que sea
00:23:31
que puede ser cualquier primitiva o también un string
00:23:32
también un string
00:23:35
y aquí yo voy poniendo en los case
00:23:36
los valores posibles
00:23:38
que para varios valores quiero hacer lo mismo
00:23:39
los pongo separados por comas
00:23:42
y para esos valores entrará en cualquiera
00:23:44
de ellos que tome y hará lo mismo
00:23:47
y ahora en cada
00:23:48
switch
00:23:51
hago un break
00:23:53
en cada case, perdón
00:23:54
hago un break porque si no lo hago
00:23:56
si no lo hago
00:23:59
una vez que entre
00:24:02
va a ir hasta el final
00:24:03
y ese es un efecto que normalmente
00:24:06
no queremos
00:24:10
normalmente no queremos
00:24:11
pero bueno, hay que saber cómo funciona, claro
00:24:13
vale
00:24:18
El valor del case puede ser
00:24:30
Una variable
00:24:42
¿Te puedes creer que me haces dudar?
00:24:43
Porque normalmente casi nunca se usa
00:24:48
En ese
00:24:50
Con ese
00:24:52
Estándar
00:24:54
No, es que
00:24:55
No, lo tienes que poner 9
00:25:02
No puede ser una variable
00:25:05
¿Vale? Es que me hacías dudar
00:25:06
Porque claro, en la vida lo había visto
00:25:09
a, bueno, espérate
00:25:11
a ver si n igual a
00:25:13
no, bueno ya, pero a ver
00:25:15
tiene sus usos, sus valores concretos
00:25:19
una variable, una serie
00:25:21
de valores concretos, pues
00:25:23
tiene su mercado
00:25:25
interesante
00:25:26
¿no le puedes poner del 1 al 4?
00:25:28
¿ves? tiene que ser un valor constante
00:25:32
perdón
00:25:34
¿no le puedes poner del 1 al 4?
00:25:36
no
00:25:40
para esas pijerías
00:25:40
Python
00:25:44
¿Vale?
00:25:45
Pero luego a cambio
00:25:49
Tiene muchos otros problemas
00:25:50
¿Vale? Pues este programa
00:25:51
De dada un valor numérico
00:25:54
Dada una nota
00:25:56
Ponerla en literal, pues podría ser así
00:25:58
Por ejemplo, no es el
00:26:00
30 en particular, pero bueno, lo hemos aprovechado
00:26:02
¿Vale? Pues ya todos
00:26:04
Sabemos el switch case y sus
00:26:06
Detalles
00:26:08
Que son los que he dicho, nada más
00:26:10
Claro
00:26:12
Imaginaos, claro, por ejemplo
00:26:14
Si
00:26:17
Voy a cambiar
00:26:19
La
00:26:26
Versión de Java
00:26:28
Java compiler
00:26:31
Por ejemplo
00:26:35
21
00:26:39
La 1.8
00:26:56
Fijaos
00:26:57
En cuanto he bajado
00:27:01
he bajado
00:27:03
a la versión de Java
00:27:05
1.8, que en realidad
00:27:07
es una de las que más se usan
00:27:08
porque es la más estable
00:27:11
pues en cuanto bajo la versión de Java 1.8
00:27:12
esto ya no me deja
00:27:15
hacerlo, me dice, para esa versión
00:27:17
de Java, que es una de las más
00:27:19
utilizadas de hecho, esto
00:27:21
no, porque esto fue una incorporación que he sido posterior
00:27:23
tendríamos que desglosarlo a 0, 1
00:27:25
2, 3, 4, 5
00:27:27
para que lo tengáis ahí presente
00:27:29
Entonces me voy a volver a la versión que estaba
00:27:34
Bueno, pues a ver
00:27:37
¿Qué otros ejercicios podemos hacer?
00:27:54
¿Qué otro ejercicio
00:27:57
O
00:27:58
O llama la atención, ¿eh?
00:27:59
Venga
00:28:06
Vamos al 7 a ver que nos sale
00:28:07
Bueno, sí
00:28:12
Pero el último día es hoy
00:28:21
Ah, no, el lunes
00:28:22
¿Por qué?
00:28:24
el switch, no, por eso no
00:28:27
me viene nada
00:28:29
vale, dime
00:28:30
jolín, con lo char
00:28:32
no, no lo sé, pero vamos
00:28:35
que será lo que estamos haciendo aquí en los ejercicios
00:28:37
si lo hemos repetido
00:28:40
un montón de veces
00:28:41
ejer 7, ah, vale, pero que el ejer 7 ya lo teníamos
00:28:42
pero he hecho
00:28:48
ah, vale
00:28:48
un segundito, a ver
00:28:52
el ejer 7 lo teníamos hecho así
00:28:53
Y tú planteas hacerlo de otra manera
00:28:56
¿Vale? ¿Qué manera?
00:28:58
¿Querías una variable que se llama
00:29:02
Número mayor?
00:29:04
Este va a ser nuestro resultado
00:29:05
El máximo
00:29:07
Este va a ser el resultado
00:29:08
Y ahora
00:29:11
Lo declaras desde primeras como número uno
00:29:12
Sí, y vas recorriendo los otros
00:29:15
Max N1
00:29:19
Y ahora
00:29:20
¿Lo haces?
00:29:21
O lo hacemos con el ternario
00:29:24
Si no, o bueno, venga
00:29:25
con if. Si el número 2 es mayor que el máximo, máximo igual a n2, ¿verdad? Vale. Y ahora
00:29:27
te irías con el tercero. Si n3 es mayor que el máximo, el nuevo máximo igual a n3. ¿Vale?
00:29:38
Entonces, este es otro algoritmo con la ventaja que es generalizable si tenemos un montón
00:29:49
de números, no solo tres.
00:29:56
Porque sería copiar este if un montón
00:29:58
de veces.
00:30:00
¿Vale? Entonces,
00:30:02
esto
00:30:04
que hemos hecho aquí también lo habéis entendido, ¿no?
00:30:06
Habría que ordenar el del medio también, ¿no?
00:30:08
No, no hace falta. No, no estamos ordenando.
00:30:10
Es decir,
00:30:13
esta es una manera de calcular el máximo
00:30:14
que se orienta en lo siguiente.
00:30:16
Tienes un montón de números.
00:30:17
Tu mente, aunque uno no lo crea,
00:30:20
procesa en secuencia,
00:30:23
no procesa en paralelo.
00:30:24
lo que pasa es que nos parece que es un paralelo
00:30:25
pero cuando tú ves siete números a la vez
00:30:27
de golpe, ¿cuál es el mayor?
00:30:30
tú dices, el doce
00:30:32
pues no lo has visto de golpe
00:30:33
ha sido uno por uno
00:30:36
y has cogido el primero
00:30:38
lo has comparado con otro
00:30:39
has dicho, oye, este primero yo creo que es el mayor
00:30:41
pero de repente ha aparecido este
00:30:44
ah, no, no, no, que este otro es mayor
00:30:46
pues ahora tengo un nuevo mayor
00:30:48
y te vas con el siguiente
00:30:50
el siguiente es más pequeño, paso de él
00:30:51
ah, no, el siguiente es mayor
00:30:54
pues me lo quedo y tengo un nuevo mayor
00:30:55
es el algoritmo que realmente hacemos
00:30:57
nos quedamos con un candidato
00:30:59
primero a mayor
00:31:01
vamos explorando los otros y si hay alguno
00:31:02
que lo supera, ese es el nuevo ganador
00:31:05
y si no lo supera, se va a la basura
00:31:07
pues este es el algoritmo
00:31:09
mi ganador
00:31:11
el primero, a ver si hay alguno que me supere
00:31:12
¿tú me superas?
00:31:15
sí, eres el nuevo ganador
00:31:17
ya está
00:31:19
tengo un nuevo ganador, sigo con los que me quedan
00:31:20
N3, tú me superas
00:31:23
eres nuevo ganador
00:31:25
y si me hubieran dado más números
00:31:26
pues yo podría hacer esto
00:31:29
un montón de veces
00:31:32
imaginaos que me hubieran dado N3
00:31:34
N4
00:31:40
N5
00:31:41
N6
00:31:44
N1, N2, N3
00:31:46
N4
00:31:48
¿vale?
00:31:58
silencio
00:32:02
entonces así lo podría fácilmente
00:32:03
generalizar, que me han dado
00:32:05
seis números, ¿cuál es el
00:32:07
máximo? asumo que es
00:32:09
el primero, oye tú
00:32:11
segundo me ganas, pues ahora eres tú
00:32:12
voy contigo, tú me ganas, pues ahora eres tú
00:32:14
ahora voy contigo, tú
00:32:17
me ganas, pues ahora eres tú
00:32:19
este algoritmo es más fácilmente generalizable
00:32:20
que el de
00:32:23
arriba, porque el de arriba
00:32:25
tendríamos varios el save
00:32:26
y cada el save con una condición muy grande
00:32:29
si tengo 6 números
00:32:31
esta condición
00:32:34
serían
00:32:35
5 cláusulas de LAN
00:32:37
sin embargo así queda como más claro
00:32:39
¿vale?
00:32:42
lo que pasa es que
00:32:44
lo ideal es meter esto en un bucle
00:32:45
y así no tengo que poner tantos saves seguidos
00:32:47
bueno, ya lo meteremos en un bucle
00:32:49
¡ala! pues venga, nos vamos
00:32:51
pero no me estoy haciendo ni puñetero caso
00:32:53
Estoy muy cansada de que no me hagáis ni caso.
00:32:55
- 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:
- 3
- Fecha:
- 19 de octubre de 2025 - 17:30
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 32′ 59″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 137.47 MBytes