20241007 ProgrEstruct-Decision-Ejer_4 - 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, pues vamos allá entonces, ejercicio 8
00:00:00
Vale, los pasos que nunca nos saltamos
00:00:04
obviamente, primero, leerlo, ese no nos lo saltamos nunca
00:00:09
Vale, segundo, ver si lo hemos
00:00:13
entendido, yo creo que lo hemos entendido, ¿no?
00:00:17
El número mayor posible con las
00:00:22
tres cifras, pues hombre, entendemos que se referirá a poner la
00:00:25
mayor de las tres cifras como la más
00:00:29
significativa, la segunda
00:00:31
como las decenas
00:00:33
y la más pequeñita como las unidades
00:00:35
claro, pero si el número
00:00:36
tuviera como fuera menor que cero
00:00:39
lo hacemos al revés
00:00:41
¿vale? y ya está
00:00:43
bueno, entonces ya sabemos que eso es lo que tenemos que hacer
00:00:44
¿verdad? entonces ahora ya
00:00:47
entramos en la parte de diseño, en cómo lo diseñamos
00:00:48
y todavía no tenemos
00:00:51
por qué escribir nada ni hacer nada
00:00:53
primero nos organizamos en la cabeza
00:00:54
y a mí de buenas a primeras, lo primero que se me ocurre
00:00:56
luego a lo mejor eso me puede dar un código
00:00:59
largo, corto y una vez que lo he escrito
00:01:00
me doy cuenta, ah mira, lo podía haber hecho
00:01:02
más fácil, pero bueno, si
00:01:05
yo ya elaboro un diseño
00:01:07
en mi cabeza, tiro con él
00:01:08
y me funciona, pues ya he hecho bastante
00:01:11
que luego digo, jodín, pues lo fácil
00:01:12
que lo podía haber hecho, vale, eso ya es ideal
00:01:14
entonces, a mí de buenas a primeras
00:01:16
lo primero que se me ocurre
00:01:18
es
00:01:20
como el número va a ser la concatenación
00:01:22
El resultado final, yo siempre tengo que pensar,
00:01:25
antes de empezar un diseño, es
00:01:27
¿cuál es mi resultado final?
00:01:29
¿Cuál es lo que el programa va a sacar?
00:01:31
Pues mi resultado final en este caso va a ser
00:01:33
la concatenación de tres cifras, ¿verdad?
00:01:35
La concatenación de tres.
00:01:39
Entonces a mí el de buenas a peor,
00:01:41
el peor que se me ocurre es
00:01:42
crearme tres variables para esas tres cifras.
00:01:43
Tres variables.
00:01:47
Una la puedo llamar mayor, mediana y pequeña.
00:01:48
y ahora ya me cojo
00:01:51
el número, el dato de entrada
00:01:54
divido sus cifras
00:01:56
y me hago el ejercicio anterior
00:01:58
la mayor de las tres, la menor de las tres
00:01:59
y la otra que me queda la entremedia y lo asigno
00:02:02
y una vez que las tengo asignadas
00:02:05
ya pongo el orden de concatenación
00:02:06
no sé si más o menos me he explicado
00:02:08
es la idea, que así de buenas a primeras
00:02:10
la que a uno se le pasaría por la cabeza yo creo
00:02:11
sacar centenas, decenas de unidades
00:02:14
claro, y una vez que tienes
00:02:16
las tres cifras por separado
00:02:18
las tres cifras, sacas la mayor
00:02:19
de ellas, la menor de ellas
00:02:22
y la que te queda, que es la intermedia
00:02:24
y ahora ya las concatenas
00:02:26
entonces el programa en este caso sería
00:02:27
como tres partes
00:02:30
primera parte
00:02:31
dividir las cifras
00:02:33
unidades, decenas y centenas
00:02:36
primera parte
00:02:37
segunda parte
00:02:38
decidir cuál es la mayor, cuál es la intermedia
00:02:40
y cuál es la pequeña
00:02:43
y tercera parte concatenarlas
00:02:44
Ya, pero es que esta parte
00:02:48
Pero también hay signos
00:02:52
Claro, pero es que la parte de concatenarlas
00:02:53
Ahí ya te haces un if
00:02:56
Si el número es negativo, las concateno
00:02:57
Del sentido inverso
00:02:59
Claro, si el número es
00:03:01
Menos 320
00:03:05
El número negativo
00:03:07
Mayor
00:03:10
Es el que tiene la cifra más pequeñita
00:03:11
La primera
00:03:14
0, 2 y 3
00:03:15
Sería el 23, el menos 23
00:03:17
Tienes que cambiar el orden
00:03:19
320, la mayor
00:03:22
320, efectivamente
00:03:24
Vamos, debería ser mejor
00:03:25
571
00:03:27
Si el número es positivo
00:03:30
571, tendríamos que formar
00:03:32
751
00:03:34
Pero si el número fuera menos
00:03:36
571, tendremos que formar
00:03:38
Menos 157
00:03:41
Pero eso ya es un if a la hora de
00:03:43
concatenar al final
00:03:44
yo creo que sí
00:03:45
estáis a tiempo
00:03:53
claro
00:03:53
y ahora cuando lo hagamos
00:03:58
lo vamos haciendo por partes y nos tiramos un rato
00:04:00
que luego a lo mejor dices
00:04:02
pero si es que me estoy complicando mucho la vida
00:04:04
pues fenomenal, pero esa es una segunda parte
00:04:06
ahora mismo, ya
00:04:08
el haber entendido lo que hay que hacer
00:04:09
y el haberse dado cuenta de que el programa en realidad
00:04:11
son tres partes
00:04:14
separar las cifras
00:04:15
asignar cada, decidir cuál es mayor
00:04:17
cuál es no sé qué y colocarlas
00:04:20
y ya haber dado cuenta
00:04:23
de que son tres partes
00:04:24
ya hemos hecho
00:04:25
lo más difícil del ejercicio
00:04:27
y ahora ya
00:04:29
en este punto ya podemos
00:04:31
empezar a programar, pero ya en este punto
00:04:34
en el que estoy, no antes
00:04:36
no empiezo a programar antes
00:04:37
empiezo a programar cuando tengo clarísimo
00:04:39
lo que quiero hacer, en qué partes
00:04:41
cómo lo voy a dividir, etcétera
00:04:44
si en la cabeza se me hace un embrollo
00:04:45
pues me lo escribo por ahí
00:04:47
ya, cuando tengo eso claro
00:04:49
me voy
00:04:51
bueno, pues venga, vamos a hacer nuestra clase
00:04:52
con esas tres partes, a ver que
00:04:56
que tipo de pifostio raro nos sale
00:04:57
por aquí, luego ya una vez
00:05:00
que uno se hace su versión, pues ya lo pruebe
00:05:02
vale, pues hay errores, hay que arreglarlo
00:05:03
bueno, sí o sí
00:05:05
vamos a leer del teclado
00:05:08
y el dato de entrada
00:05:09
sí o sí es un número
00:05:20
Que lo leemos
00:05:21
Vale
00:05:26
Bueno, yo voy a ir tirando así sobre la marcha
00:05:32
No sé qué programa me va a salir
00:05:36
Imagino que parecido al vuestro
00:05:37
Muy feo, muy bonito, no lo sé
00:05:39
Vamos a ver lo que nos sale, así es como trabajamos
00:05:41
Vamos a ver lo que nos sale
00:05:43
Luego ya pues lo podemos ir arreglando, depurando
00:05:44
Qué escándalo entre unas cosas y otras
00:05:47
Qué ruidosos sois
00:05:49
Así mejor
00:05:50
Vale
00:05:52
Vale, venga, paz
00:05:53
Bueno, pues lo primero
00:05:56
Hemos dicho que nos interesa
00:05:57
Tener las tres cifras por separado
00:06:01
Pues venga, yo me voy a hacer
00:06:03
Mayor, menor
00:06:05
E intermedia, yo que sé
00:06:09
Yo creo que la saqué con
00:06:11
Centenas, decenas, unidades
00:06:17
Porque al final lo que viene es el número que le dan
00:06:19
Entonces luego si lo ordenas
00:06:21
De mayor, menor, intermedia
00:06:23
Bueno, si es el nombre que le demos
00:06:24
en realidad como cada uno se interprete
00:06:27
ahí es donde voy a colocar
00:06:29
claro, las, vale
00:06:30
y
00:06:32
vale, ahora vamos a sacar
00:06:33
las
00:06:37
ahí es donde yo voy a colocar las cifras
00:06:38
para luego mi resultado final
00:06:41
mi resultado final luego va a ser este
00:06:42
va a ser
00:06:44
sin número
00:06:46
me lo he puesto desde ya para
00:06:47
visualizar el resultado final y tener claro
00:06:50
donde quiero ir a parar
00:06:53
entonces
00:06:53
Si número es mayor que cero, entonces mi resultado final va a ser mayor más concatenado con intermedia concatenado con menor.
00:06:55
Y si no, si el número fuera negativo, si el número fuera negativo, pues entonces es el signo menos, ¿dónde lo tengo?
00:07:14
El signo menos concatenado con menor, intermedia, intermedia, como si fuera un primer boceto, ¿vale?
00:07:32
Pero luego, luego de esto hay muchas variantes. Cuando tengamos ya una primera versión hecha, miramos muchas variantes porque vosotros habréis hecho variantes distintas. Vale, habéis hecho variantes distintas. Vale, entonces, yo mi objetivo, mi blanco objetivo de la aplicación sería rellenar estas variables para hacer esto, ¿no? Vale.
00:07:51
ahora me sale rojo porque está sin inicializar
00:08:15
pero pese a eso
00:08:18
¿alguno no te causa
00:08:19
problema esto y me lo va a decir?
00:08:22
tú por ejemplo, que ya has levantado la mano
00:08:24
vale
00:08:25
entonces, estamos
00:08:30
mi objetivo es conseguir
00:08:31
dar valor a esto como la cifra
00:08:34
más grande, la cifra intermedia
00:08:36
y la cifra menor, conseguir dar valor
00:08:38
porque cuando tenga valor a eso
00:08:40
el número mayor será la
00:08:41
concatenación en este sentido y el número menor
00:08:44
será la concatenación en esto
00:08:46
ahora vendría aquí mi parte para
00:08:47
sacarlo, vale, pero aún así antes de hacer
00:08:50
esta parte
00:08:52
a ninguno le da repelús
00:08:53
y se está poniendo nerviosísimo
00:08:56
al ver que yo he planteado mi resultado
00:08:58
final como que lo voy a hacer así
00:09:00
seguro que sí
00:09:01
a que te perturba
00:09:03
te perturba porque esto no va a ser
00:09:07
la concatenación, va a ser la suma
00:09:10
imaginaos que me he dado 3, 2 y 1
00:09:12
me va a mostrar
00:09:15
3 más 2 más 1, 6
00:09:15
eso, tengo que asegurarme
00:09:17
porque yo lo que quiero aquí es concatenar
00:09:20
concatenar
00:09:23
no quiero hacer la suma
00:09:24
claro
00:09:25
eso, o bien
00:09:28
ahora sí
00:09:31
ahora ya sí
00:09:33
que va a concatenar
00:09:34
¿vale?
00:09:36
ahí te da un problema
00:09:38
tú si haces eso
00:09:39
con un número negativo
00:09:42
te va a poner por ejemplo
00:09:43
menos 9 menos 2
00:09:45
no, aquí la mía no
00:09:47
porque estoy concatenando
00:09:49
en mi versión no
00:09:50
o sea, a mí lo que me falta
00:09:52
te sobra el espacio
00:09:55
de las comillas últimas
00:09:57
ahora lo quito
00:09:58
el espacio te sobra
00:10:01
ay sí, perdón, vale
00:10:02
me sobra el espacio
00:10:05
de las comillas últimas, este
00:10:07
vale, ahora ya sí que me va a hacer
00:10:09
la concatenación de los tres números, vale
00:10:11
a ver
00:10:13
Ahora ya sí
00:10:14
Me va a mostrar el número
00:10:16
Vale, lo que pasa es que otra cosa
00:10:17
Esto así me vale
00:10:20
Porque el resultado final
00:10:23
Es mostrarlo por consola
00:10:26
Pero si me dijeran
00:10:27
El resultado final
00:10:30
Guardan una variable entera
00:10:31
Tengo que reconstruir el número
00:10:32
Tengo que reconstruirlo
00:10:33
Multiplicando
00:10:35
Esto por 100 más esto por 10
00:10:36
Más esto
00:10:39
Pero bueno, eso lo hacemos ahora después
00:10:40
Cuando ya veamos que este programa no funciona
00:10:42
Ahora mismo, este objetivo final
00:10:43
es lícito, ¿verdad?
00:10:46
Yo tengo que sacar tres numeritos.
00:10:48
El más grande de las tres cifras,
00:10:50
el intermedio de las tres cifras
00:10:52
y el menor.
00:10:54
Y cuando tenga esos tres numeritos,
00:10:55
esto realmente me va a mostrar el mayor de los tres,
00:10:57
tanto si es positivo
00:11:01
como negativo.
00:11:02
Claro, porque lo marcamos con i y tal, ¿no?
00:11:03
¿Cuál es el menor?
00:11:05
Claro, es que nos falta.
00:11:06
Nos falta, estamos viendo el programa.
00:11:08
¿Vale?
00:11:10
Entonces, vale.
00:11:11
Esta es la que me falta aquí.
00:11:12
Vamos a darle valor a esto.
00:11:15
Bueno, pues vamos por partes.
00:11:18
Venga.
00:11:20
Lo primero, sacamos las cifras de NUM.
00:11:21
¿Vale?
00:11:31
Recordad que nosotros nos habíamos estructurado el programa en tres partes.
00:11:32
Vamos a la primera parte.
00:11:36
Vamos a sacar las cifras del numerito.
00:11:38
Vale, aquí tenemos dos posibilidades sobre todo, la numérica y la de string.
00:11:41
Vamos a hacer las dos para que no perdáis los string y los char en mente.
00:11:49
Vale, vamos a hacer la versión numérica.
00:11:53
Forma con números, yo qué sé, cualquier cosa ponemos ahí.
00:11:59
Vale, las centenas, ¿qué va a ser?
00:12:04
Pues las centenas ya sabemos que serán.
00:12:06
Las centenas ya sabemos que va a ser
00:12:09
El numerito en un
00:12:14
Dividido
00:12:16
El cociente de dividirlo entre 100
00:12:17
¿Verdad?
00:12:20
Esas van a ser las centenas seguro
00:12:21
Las unidades ¿Cuáles van a ser?
00:12:22
El resto de dividirlo entre 10
00:12:28
¿Verdad?
00:12:31
Unidades
00:12:34
Es que me he ido a lo fácil primero
00:12:35
Que es el resto de dividirlo
00:12:36
Entre 10
00:12:40
Y ahora las decenas
00:12:41
Va a ser
00:12:44
Unidad
00:12:46
Decenas
00:12:48
Esto lo puedo sacar
00:12:50
El número
00:12:52
Me saco el cociente
00:12:54
De dividirlo entre 10
00:12:56
Que me da 62
00:12:59
Y lo vuelvo a dividir entre 10 otra vez
00:13:00
No, no, no, no estoy haciendo mal
00:13:03
No, no, perdón, me hago el resto y dividirlo entre
00:13:04
El resto y dividirlo entre 10
00:13:06
Esto si serían
00:13:08
Las decenas
00:13:10
¿Verdad? Decenes
00:13:12
Las decenas
00:13:13
620
00:13:15
Si lo divido entre 10
00:13:18
Me va a dar 62
00:13:20
Y me haga el resto y lo divido entre 10
00:13:22
Ya me da 2
00:13:24
En otro ejercicio ya lo habíamos hecho
00:13:24
Vale, pues ya tengo las 3 cifras
00:13:28
Esa parte primera ya está
00:13:32
Segunda parte
00:13:34
Yo lo hice mucho más complicado
00:13:37
Porque dice todo eso
00:13:39
Cada vez en cada uno
00:13:40
Claro
00:13:43
Claro, ahora vamos a
00:13:44
Ver cuál es la mayor
00:13:49
Y la que sea mayor aquí
00:13:51
La que sea menor aquí, la que sea intermedia aquí
00:13:53
Y ahora aquí esto es lo que ya se vuelve
00:13:55
Un poco lío de if
00:13:57
Aquí tenemos
00:13:59
Tres posibilidades
00:14:02
Para el mayor tenemos tres posibilidades
00:14:04
Que sea esta
00:14:06
Que sea esta o que sea esta
00:14:07
Yo hice ese cálculo pero luego directamente
00:14:09
para mostrarlo, iba poniendo un
00:14:11
si esta, esta, esta. Claro, lo ibas toda
00:14:13
entonces te quedaba más lioso.
00:14:15
Claro, exacto. ¿Vale?
00:14:17
Entonces
00:14:20
obtenemos
00:14:21
la mayor
00:14:23
de ellas.
00:14:26
Vamos así. Venga, para obtener
00:14:28
la mayor, aquí nos centramos
00:14:29
¿cuántas posibilidades
00:14:31
tiene mi programa?
00:14:33
Tres. Que la mayor sea
00:14:35
centenas, que la mayor sea unidades o que la mayor sea decenas.
00:14:37
Entonces, que mi programa tiene tres
00:14:40
posibilidades, un solo bucle
00:14:41
no, perdón, una
00:14:43
sola decisión, un solo if no
00:14:45
entonces, esto seguramente
00:14:47
se pueda plantear
00:14:50
con un if
00:14:52
ay
00:14:53
leche, jodía, porque es
00:14:56
no me, ah, es que no lo estoy
00:14:59
tabulando bien, claro, porque
00:15:02
ahí, vale
00:15:03
me he ido a un espacio ahí, no sé por qué
00:15:06
vale, con un
00:15:08
vale, o sea
00:15:10
como mi programa tiene
00:15:16
esta pregunta que yo me voy a hacer
00:15:18
tiene tres respuestas, pues seguramente
00:15:22
se adapte a un if, el seif
00:15:24
yo ahora digamos que estoy funcionando
00:15:26
como muy cuadriculada
00:15:28
adaptando a lo que sabemos
00:15:29
porque en principio partimos
00:15:32
de que estamos completamente espesos y verdes
00:15:34
a elaborar algoritmos
00:15:36
entonces de alguna forma estoy tratando de dar
00:15:37
pautas cuadriculadas
00:15:39
para que uno tenga un punto de partida
00:15:42
pero muchas veces pues esto se ve
00:15:44
de manera menos rígida, ¿vale? No hace falta
00:15:46
hacerse las preguntas una por una, como las
00:15:48
que yo estoy haciendo, que es
00:15:50
¿cuántas posibilidades tengo?
00:15:51
Tres distintas. Si tengo tres,
00:15:53
un solo if no me va a servir porque un if
00:15:56
solo me da dos posibilidades.
00:15:58
Con lo cual voy a necesitar dos if,
00:16:00
uno anidado dentro del otro.
00:16:02
Un if, el se if, ya son dos if,
00:16:04
uno anidado dentro del otro. Vamos a tirar de aquí a ver si nos sale.
00:16:05
Vale. En este
00:16:08
if voy a poner la condición de que la mayor
00:16:10
sean las centenas, por ejemplo.
00:16:12
La condición de que la mayor de las
00:16:14
3 y a las centenas las expresar
00:16:16
si esta condición
00:16:18
podría ser
00:16:19
si centenas es mayor que unidades
00:16:21
y
00:16:23
y
00:16:25
centenas es mayor
00:16:26
que decenas
00:16:29
ala, pues esto ya
00:16:31
me permite concluir
00:16:33
que mayor
00:16:35
es igual a
00:16:37
centenas, me permite
00:16:39
concluir eso, vale, pero puede que eso
00:16:41
no sea verdad, entonces puede
00:16:43
que no sea verdad
00:16:45
entonces, si no es verdad, ¿qué otra
00:16:46
pregunta me hago? pues voy a hacerme la pregunta
00:16:49
a ver si es decenas la mayor
00:16:51
si decenas es mayor
00:16:53
que unidades
00:16:57
y
00:17:01
como veis, por sistema siempre
00:17:06
planto el doble ampersand
00:17:08
porque ¿para qué voy a forzar a la máquina
00:17:10
virtual a evaluar las segundas si ya esta es falsa?
00:17:13
y las decenas
00:17:17
es mayor también que
00:17:18
las centenas
00:17:20
pues alá
00:17:21
ahí ya tengo otra conclusión
00:17:24
y es que la mayor
00:17:26
es las decenas
00:17:27
si no se cumplen
00:17:31
una de las anteriores
00:17:34
entiendo que la mayor es la que queda
00:17:35
¿vale?
00:17:38
entonces estoy
00:17:42
para no meter más if y más todo
00:17:43
estoy asumiendo que los tres números son distintos
00:17:47
¿vale?
00:17:49
porque si hubiera dos números iguales
00:17:50
por ejemplo hubiera 3, 3 y 1
00:17:52
Ninguna de estas dos sería cierta
00:17:54
Entonces entraría aquí
00:17:57
Y diría que el mayor es unidades, que es uno
00:17:59
¿Vale?
00:18:01
Entonces yo creo que
00:18:04
Poniendo aquí mayor o igual
00:18:05
Ya contemplamos, pero vamos a
00:18:06
Hacer
00:18:09
La prueba asumiendo que son todas
00:18:10
Distintos para no
00:18:13
Porque así lo vemos más claro, si no son
00:18:14
Iguales lo vemos ahora mismo más claro y no nos
00:18:17
Complicamos con
00:18:19
Vale, pues ya está, ya tengo la mayor
00:18:20
y para obtener la menor
00:18:22
pues me puedo hacer lo mismo
00:18:25
y luego
00:18:26
para
00:18:28
de nuevo, para la menor, ¿cuántas opciones
00:18:33
tengo? pues tengo tres posibilidades
00:18:36
un if, solo no me vale
00:18:38
será un if el 6, pues puedo repetir
00:18:40
lo mismo
00:18:42
puedo repetir lo mismo
00:18:42
y a ver si esto
00:18:45
se me va
00:18:52
a ver, esto hay una forma
00:18:54
para
00:19:02
que me lo, así
00:19:02
Vale
00:19:04
Ah, no, no, no, lo he cortado
00:19:10
Yo lo que quería era
00:19:16
Formatearlo
00:19:18
Vamos a ver
00:19:20
Bueno, pues así
00:19:21
Vale, obtenemos la menor
00:19:23
Vale, pues venga
00:19:31
Para obtener la menor, pues justo al revés
00:19:37
Si centenas es menor que unidades
00:19:39
Y centenas es menor que decenas
00:19:41
Entonces la menor
00:19:43
es centenas, si decenas es menor que unidades
00:19:45
y decenas es menor que centenas
00:19:50
entonces la menor es decenas
00:19:52
y si no, la menor es la que queda
00:19:57
vale, unidades
00:20:01
vale, y ahora, ¿cuál nos falta? la que no es ni la mayor
00:20:03
ni la menor, la que quede
00:20:13
¿y el resto?
00:20:15
¿y cómo se os ocurre alguna forma?
00:20:18
¿alguna forma para ya asignar
00:20:22
aquí la intermedia de alguna manera
00:20:23
con la que no he asignado
00:20:25
antes?
00:20:27
se puede poner lo que tú quieras
00:20:31
si lo programas, ¿cómo programas eso?
00:20:33
tú quieres a intermedia
00:20:35
asignarle una cifra
00:20:36
que no esté ni en menor
00:20:38
ni en mayor
00:20:41
a ver, estoy yo también pensando en voz alta
00:20:41
no es que tenga ya la idea en la cabeza
00:20:54
habrá muchas formas de hacer esto
00:20:56
ahora quiero, la que no he usado
00:20:57
yo vengo de estos if-else-if
00:21:02
y sé que he usado dos, pero no sé cuáles
00:21:03
porque no sé en qué parte he entrado
00:21:06
entonces quiero
00:21:07
una idea de código, una idea que tengamos en la cabeza
00:21:09
para la que yo no haya
00:21:12
usado aquí
00:21:14
por donde yo no haya entrado
00:21:15
pues asignarse a la que queda
00:21:17
asignarse a la intermedia, la que quede
00:21:19
la que no haya usado
00:21:21
a ver
00:21:21
aquí
00:21:33
asignaremos centenas a la intermedia
00:21:35
si es diferente de la mayor
00:21:38
y diferente de la menor
00:21:40
asignaremos unidades a la intermedia
00:21:41
si es diferente de la mayor y diferente de la menor
00:21:44
y asignaremos decenas a intermedia
00:21:46
Si es diferente de la mayor y diferente de la menor
00:21:48
Esa es la primera idea que se me ocurre a mi
00:21:50
Sobre la marcha
00:21:52
Vale, pues como podemos
00:21:53
Programar eso
00:21:56
Vale, pues podemos
00:21:57
Programar
00:22:01
Venga, vamos a lanzarnos
00:22:01
A
00:22:05
Hacerlo con el operador condicionado
00:22:05
Intermedia
00:22:08
Centenas es distinto
00:22:09
De mayor
00:22:13
Y
00:22:14
Y centenas es distinto de la menor
00:22:15
Entonces es centenas la intermedia
00:22:29
Centenas
00:22:32
Me falta la interrogación
00:22:35
Vale
00:22:37
¿Vale?
00:22:41
Está claro, ¿no?
00:22:42
Si centenas no es ni la menor ni la mayor
00:22:43
Va a la intermedia
00:22:46
Centenas
00:22:47
Si no es centenas la intermedia
00:22:48
o es decenas
00:22:52
o es unidades, pues voy a hacerme la misma pregunta
00:22:54
con una de las dos
00:22:56
y entonces si se cumple será esa
00:22:57
y si no la que me queda
00:23:00
entonces me voy a bajar aquí a hacer la pregunta abajo
00:23:01
para que
00:23:04
se vea mejor
00:23:06
decenas
00:23:07
decenas es diferente de la mayor
00:23:12
diferente de la menor
00:23:19
entonces es decenas la intermedia
00:23:20
y si no, no queda más remedio
00:23:23
que sea la otra
00:23:26
que es unidades
00:23:26
vale, pues en una única línea
00:23:28
un poco fea, pero no pasa nada
00:23:31
en una única línea ya tenemos la que queda
00:23:32
vale
00:23:34
esto lo podríamos haber hecho con
00:23:35
unif y else también, con unif
00:23:38
else if, porque esto no deja de ser
00:23:41
unif else if, se cumple esta condición
00:23:43
intermedia igual a centenas
00:23:44
else if esta otra, intermedia igual a
00:23:46
decenas, else, intermedia igual a
00:23:49
unidades, lo podríamos haber hecho con
00:23:51
unif else if también, porque son
00:23:52
tres caminos posibles
00:23:55
Pero bueno, lo hacemos así y se acabó
00:23:56
Vale, pues
00:23:59
Si no nos hemos equivocado
00:24:01
Ya hemos obtenido
00:24:02
La menor, la mayor y la intermedia
00:24:05
¿Vale?
00:24:07
Vale, pues a ver
00:24:27
Así nos lanzamos a probar la serobestia
00:24:28
A ver si tenemos suerte a la primera
00:24:32
Que he hecho mal
00:24:33
A mí no
00:24:37
Será a ti
00:24:41
A ver
00:24:41
Vamos a ver qué me pasa a mí
00:24:44
Vale, a ver, consola, ¿dónde estás?
00:24:47
Ahí estarás
00:24:53
Vale, estáis esperando el numerito
00:24:54
Venga, 567
00:24:56
Esta prueba al menos la he hecho
00:25:00
Voy a hacer una prueba con uno negativo
00:25:04
Menos...
00:25:07
849
00:25:11
Ah, claro, es verdad
00:25:17
Creo que esto yo lo habías dicho tú, Pablo
00:25:21
Que se publicaba Pablo de la OZ
00:25:22
¿No eres tú, Pablo?
00:25:25
Claro, eso es lo que habías dicho
00:25:27
Tú te referías a esto, que al sacar las cifras
00:25:28
El número negativo, las cifras salen con el negativo
00:25:30
Claro, claro, claro, efectivamente
00:25:33
Hay que multiplicarlo por menos
00:25:34
Claro, vale, vale
00:25:35
Es que, claro, yo creía que te referías
00:25:38
Claro
00:25:41
Sí, sí, sí
00:25:42
Yo estaba mirando esta línea
00:25:45
Creía que te referías a que
00:25:47
Vale, vale, que aquí faltaba
00:25:49
Vale, entonces si el número es negativo
00:25:50
Estas efectivamente salen en negativo
00:25:53
Entonces
00:25:56
Aquí siempre podíamos poner
00:25:57
Num
00:25:59
Es mayor
00:26:00
Que cero
00:26:03
Num es mayor que cero
00:26:05
Pues entonces
00:26:08
Todo esto
00:26:11
No, esto así
00:26:13
Y si no
00:26:17
todo esto multiplicado por menos uno
00:26:19
eso
00:26:23
todo esto
00:26:24
para que se vea así
00:26:26
menos uno
00:26:30
por, ya está
00:26:33
vale, a ver
00:26:35
si el número es negativo
00:26:39
en este caso
00:26:40
por ejemplo, el número es negativo
00:26:43
entonces al sacar las decenas
00:26:45
me salía menos ocho
00:26:47
al sacar, perdón, menos ocho
00:26:49
Al sacar las decenas, menos cuatro
00:26:51
Y al sacar las unidades, menos nueve
00:26:53
Y yo quiero trabajar con los valores absolutos
00:26:55
Porque luego los estoy concatenando
00:26:58
Valores absolutos, ¿vale?
00:26:59
Por eso, vale
00:27:01
Eso, eso, eso
00:27:02
Sí, espera que lo
00:27:05
Vale, entonces
00:27:08
Esto mismo
00:27:10
Para que esta cifra de centenas
00:27:11
Si el número es negativo
00:27:17
Espera, espera que lo complete
00:27:19
En todas partes
00:27:23
Vale, a ver
00:27:24
Esto mismo, menos 1
00:27:27
Por
00:27:30
Todo esto
00:27:31
Ahí
00:27:34
Y ahora
00:27:39
Y aquí lo mismo
00:27:41
Vale, y entonces si el número
00:27:42
Es negativo, es
00:27:51
Menos 1 por todo esto
00:27:52
Por todo esto de aquí
00:27:55
Para que le cambie el signo
00:27:57
Vale, a ver si ahora
00:27:59
Nos pasa la prueba, vale
00:28:01
La fase de pruebas
00:28:03
Es importante precisamente por esto
00:28:05
Porque hay muchas cosas que a uno se le han escapado
00:28:07
A veces nos han escapado más cosas
00:28:09
Estamos aquí esperando
00:28:11
Venga, menos no sé qué
00:28:14
Vale, ahora sí
00:28:17
A ver, estoy pasando unas pruebas
00:28:20
Muy guarripés
00:28:22
Lo normal es que uno pase más pruebas
00:28:24
Y si se los doy todo en
00:28:26
En orden inverso
00:28:27
Pues sí, ahí también lo hace
00:28:30
Y si se lo doy no sé qué
00:28:32
Y bueno no haría pruebas
00:28:35
No hacemos la prueba de números iguales
00:28:37
Porque ya sabemos que eso nos va a salir mal
00:28:39
Vale ya sabemos que nos va a salir mal
00:28:42
Pero luego
00:28:44
Vale
00:28:44
¿Qué parte?
00:28:49
He multiplicado
00:28:56
A ver aquí ya directamente no he puesto los paréntesis
00:28:57
Porque como estos operadores
00:28:59
Tienen todos la misma prioridad
00:29:01
Da igual el orden que los haga
00:29:02
pero vamos que igual
00:29:04
lo veis más claro dejando los paréntesis
00:29:06
aunque no afecta en este caso a la operación
00:29:09
a lo mejor lo veis más claro
00:29:11
poniendo los paréntesis
00:29:13
para que se vea más claro simplemente
00:29:14
pero en este caso como todos los operadores son de misma prioridad
00:29:17
bueno pues esta versión
00:29:19
ya está, ya funciona
00:29:21
se puede hacer mil veces mejor
00:29:22
se puede hacer, ahora miremos a ver como lo hace
00:29:24
el chat GPT
00:29:27
con métodos
00:29:27
bueno pues le decimos
00:29:30
que no uses en una única clase, sin métodos
00:29:32
y si usa cosas que no sabemos
00:29:35
decimos, no uses esto
00:29:37
Bueno
00:29:38
Bueno, a lo mejor
00:29:41
hoy se ha levantado de otra manera
00:29:43
Vamos a ver cómo lo hace
00:29:44
Sí, esta vez sí, porque me está cogiendo una tirria
00:29:45
ya
00:29:49
No, continuamente
00:29:49
Ay, discúlpame, lo siento, lo hace todo el rato
00:29:59
Vale, a ver, pero antes de eso, antes de preguntarle, a ver,
00:30:02
cuando he dicho sacamos las cifras de número, hemos dicho la forma con números,
00:30:08
vamos a sacarlo como si trabajáramos con string, que también puede ser, vale, vamos a trabajarlo, ¿vale?
00:30:14
Entonces
00:30:20
Vale, a ver
00:30:22
Primero
00:30:26
Vamos a convertir el número
00:30:29
En formato cadena
00:30:31
Otra forma de sacar las cifras
00:30:33
Que igual algunos lo habréis planteado así
00:30:37
Para que no se nos olvide
00:30:41
Trabajar con string, con char
00:30:42
Vamos a ver que nos sale
00:30:44
Yo estoy ahora mismo pensando en voz alta
00:30:45
No tengo nada en mente
00:30:46
Vale, pues venga
00:30:48
Vamos a convertir el numerito en string
00:30:50
Ahora mismo
00:30:52
Sabemos esta forma
00:30:53
Rápida y cómoda y fácil
00:30:56
De convertir un número
00:30:58
En la secuencia de dígitos
00:31:00
Que representa, ¿verdad?
00:31:02
Esto que no se nos olvide nunca
00:31:04
Ay, ¿por qué no lo habéis
00:31:06
Visto en casa otra vez?
00:31:08
Sí, esto
00:31:11
El último día lo dijimos
00:31:12
Está grabado
00:31:14
Por eso grabo las clases
00:31:16
Para que luego puedas decir
00:31:17
Está grabado
00:31:18
Bueno, tú faltaste una hora el otro día
00:31:19
Pero vamos, no
00:31:22
Vale, bueno, pues a ver
00:31:24
Uno a veces puede necesitar
00:31:26
Un numerito entero
00:31:28
Convertirlo a la cadena de caracteres ASCII
00:31:30
Que representa porque le viene bien
00:31:33
Porque lo necesita
00:31:35
Bueno, pues no es que sea la única forma
00:31:36
Pero un truco rápido de hacerlo
00:31:38
Es concatenarlo con una cadena vacía
00:31:40
Porque ya sabéis que el operador concatenación
00:31:43
Si una es cadena
00:31:45
fuerza la conversión del otro
00:31:47
a cadena, la fuerza
00:31:49
para hacer la concatenación, con lo cual
00:31:50
esto ya se ha quedado en cadena
00:31:52
pues lo guardo en un cadena y ya tengo el número como secuencia
00:31:54
y para hacer esa, el número entero ha desaparecido
00:31:57
vale, ¿para qué nos valdría
00:31:59
eso? ahora mismo nos vale
00:32:01
para tener las decenas
00:32:02
unidades y centenas
00:32:05
en char, pero
00:32:06
solo en char, pues yo ahora tendría
00:32:08
las centenas
00:32:11
las centenas
00:32:12
¿cuáles serían?
00:32:15
Num, cadena, punto, charat, cero.
00:32:17
Esas serían las centenas, pero en char, no en número como aquí, en char.
00:32:22
¿Vale?
00:32:26
Tienes toda la razón.
00:32:30
Es que los negativos yo paso de ellos.
00:32:32
Es como si yo estuviera en mi...
00:32:33
Hablar y pensar a la vez me cuesta.
00:32:35
Vale, entonces, efectivamente, efectivamente.
00:32:38
Porque si el número es mayor que 0, entonces sí, vale, vale, si el número es mayor que 0, pues ya tengo las centenas, centenas, las decenas, que sería numcadena en la 1,
00:32:41
y las unidades
00:33:12
numcadena en la 2
00:33:19
vale, pero efectivamente
00:33:24
estas son las cifras en char
00:33:27
las cifras en char
00:33:29
si
00:33:31
como la variable ya está
00:33:32
la voy a llamar así
00:33:35
estas serían las cifras en char
00:33:38
si
00:33:41
el número es negativo
00:33:42
perdón, positivo
00:33:44
sin embargo
00:33:45
si el número es negativo
00:33:48
no es mayor o igual que 0
00:33:51
pues esto cambia
00:33:52
a 1
00:34:01
a 2
00:34:04
y a 3
00:34:06
porque la 0 es el negativo
00:34:09
vale
00:34:10
y ahora es cuando
00:34:10
a la vista de esto, ahora mismo tengo las cifras
00:34:17
en chat, pero es cuando a la vista
00:34:19
de este código que he puesto yo aquí
00:34:21
alguno o más de uno
00:34:22
se vuelve a sentir incómodo
00:34:25
otra vez, a que sí, desasosegado
00:34:27
e inquieto
00:34:28
vale, a ver
00:34:30
si el número es positivo
00:34:34
si entiendes que el carácter en la posición 0
00:34:38
Jesús García
00:34:41
si el número es positivo, si entiendes que
00:34:42
el char en posición 0 es la centena
00:34:44
y si el número es negativo
00:34:46
esto lo entiendes, ¿no?
00:34:49
que en la posición 0 es el menos, el guión
00:34:51
con lo cual no queremos
00:34:53
Ahora mismo estoy sacando las
00:34:54
Cifras en char, sin más
00:35:01
Las cifras, es mi
00:35:03
Es la fase en la que estoy ahora, en esta
00:35:05
En sacar esto
00:35:07
Y luego yo una vez que lo tenga ya obtengo
00:35:08
Como lo he hecho antes
00:35:11
Estoy en la fase de sacar esto, a ver, el de la mano para arriba
00:35:13
Si lo llamas igual
00:35:16
No estarías
00:35:18
O sea, estarías poniendo una variable
00:35:19
En una variable o algo así
00:35:22
No, porque solo se ejecuta uno de los dos
00:35:23
Ah, ok
00:35:25
Pero si lo comentas es mejor porque ya está hecho el if
00:35:25
O sea, se puede comentar la versión
00:35:27
Y como ya está hecho el if
00:35:31
Pues no hay que volver
00:35:32
Sí, sí, sí, yo era solo para... Vale, pero
00:35:33
Antes que todo eso, repito
00:35:36
Algo de este código
00:35:38
Os tiene que estar alterando
00:35:40
Con nervios
00:35:42
Lo del char usar tanto if
00:35:43
No, no
00:35:46
Usar tanto if no
00:35:48
Los if hay que usarlos
00:35:49
si tú tienes que, o una cosa u otra
00:35:52
tienes que reunir, otra cosa es que lo que va a tener un niño
00:35:53
no, vale
00:35:56
ya
00:35:57
si, puedes
00:35:59
compactar el código, pero bueno, la máquina virtual
00:36:03
va a ejecutar, va a ejecutar
00:36:06
lo mismo, que lo tengas compactado en código
00:36:08
lo que pasa es que bueno, que ahora mismo
00:36:10
si lo estructuramos en partes
00:36:11
nos va a ser más fácil
00:36:13
entendiendo, bueno, a lo que yo voy
00:36:15
a lo que os tiene que incomodar
00:36:17
no voy a que el código esté
00:36:19
muy largo, muy corto. Voy.
00:36:21
No me decís,
00:36:24
¿pero cómo tienes una variable declarada dos veces?
00:36:25
Eso es lo que te he preguntado yo.
00:36:28
No te pongas así, por Dios.
00:36:30
Ah, ok.
00:36:32
No me has preguntado eso, me has dicho una cosa parecida.
00:36:32
Te he preguntado a mi manera.
00:36:35
A tu manera sí, a tu manera sí. Y por ahí van los tiros.
00:36:36
¿Vale? Ok, ok.
00:36:39
Entonces, así de buenas a primeras,
00:36:40
uno está viendo
00:36:43
que tengo una variable declarada
00:36:44
dos veces. ¿Eso cuándo se ha visto?
00:36:47
Eso jamás se ha visto
00:36:49
Ni se puede
00:36:52
No se puede que a una hora y a dos veces
00:36:53
Y el computador se ha quedado tan ancho
00:36:56
Se ha quedado tan ancho
00:36:58
Imaginaos que yo
00:37:01
Vuelvo a hacer aquí esto
00:37:02
En centenas
00:37:04
Que centenas ya existe
00:37:05
Centenas ya existe
00:37:09
Centenas ya existe
00:37:12
Esto está perfectamente bien
00:37:12
Entonces, ¿qué es lo que está ocurriendo aquí? Pues aquí, esto, a ver, y aquí entramos con lo del ámbito de las variables, que ahora mismo tampoco nos vamos a perder en ello, pero sí que tenemos, a ver, ¿recordáis cuando yo días A dije que hay una cosa, un concepto que se llama bloque, que es un trozo de código entre llaves?
00:37:19
nosotros antes de empezar
00:37:42
los if, antes de empezar los if
00:37:46
solo teníamos un bloque
00:37:48
que era este, que era el bloque
00:37:49
gordito de mi programa, este
00:37:52
el main, solo tenía uno, solo tenía
00:37:54
un bloque, entonces como
00:37:56
solo tenía un bloque
00:37:58
me podía olvidar de
00:37:59
todo, ahí está
00:38:02
vale, pero es que ahora
00:38:03
al introducir los if, ya tengo
00:38:05
un concepto, que es
00:38:08
un bloque dentro
00:38:09
de otro, entonces fijaos
00:38:12
lo que tengo aquí ahora
00:38:14
tengo este bloque
00:38:15
silencio
00:38:17
tengo este bloque
00:38:19
dentro del bloque main
00:38:21
¿vale? tengo un bloque dentro de otro
00:38:23
bueno, pues ¿qué implicaciones tiene?
00:38:26
¿qué implicaciones? bueno, pues las
00:38:27
implicaciones que tiene son
00:38:29
de cara a la declaración
00:38:31
de variables, punto pelota
00:38:34
es decir, cuando tú
00:38:35
declaras una variable
00:38:38
esa variable solo existe
00:38:39
dentro del bloque más pequeño en el que está declarado.
00:38:41
Luego, vamos a suponer que esto todavía no está.
00:38:46
Vamos a suponer que esto no existe todavía,
00:38:50
que mi programa está así.
00:38:52
Y yo lo he declarado así.
00:38:54
Vale, escuchadme que esto es importante.
00:38:55
Esto está aquí perfectamente bien declarado.
00:38:59
Vale, pues, ¿dónde he declarado yo esta variable?
00:39:01
La he declarado dentro de este bloque.
00:39:04
¿Qué significa eso?
00:39:07
que fuera del bloque esa variable no existe
00:39:08
y ha desaparecido, con lo cual, aunque yo le haya dado aquí un valor
00:39:12
si ahora intento aquí hacer algo con ella
00:39:16
intento hacer cualquier cosa con esa variable, centenas
00:39:18
char, lo que sea, mostrarla, me va a decir
00:39:24
¡eh! ¡ojo! que esta variable no la conozco, no tengo ni idea
00:39:28
no existe, y tú dirías, ¿pero cómo que no existe?
00:39:32
si está declarada
00:39:35
aquí arriba
00:39:37
¿cómo que no existe?
00:39:39
claro, es que no existe
00:39:41
porque una variable solo existe
00:39:43
en el bloque más pequeño
00:39:45
donde está declarada
00:39:47
y cuando salgamos de este bloque
00:39:48
porque el if ya terminó
00:39:50
esta variable ha desaparecido de memoria RAM
00:39:52
claro, esta variable
00:39:54
solamente la puedo usar aquí
00:39:57
porque cuando termine esta ejecución
00:39:59
de este bloque
00:40:01
el espacio de memoria voló
00:40:02
desapareció
00:40:04
entonces claro
00:40:05
que queremos
00:40:07
la declaramos fuera
00:40:07
y ya le damos
00:40:09
valor dentro
00:40:10
¿vale?
00:40:11
entonces
00:40:12
las declaraciones
00:40:13
las hago fuera
00:40:15
declaro la variable
00:40:16
fuera
00:40:23
declaro la variable
00:40:23
fuera
00:40:28
bueno sí
00:40:32
sí lo pensé
00:40:33
como estoy haciendo
00:40:34
copia y pega
00:40:34
como estoy haciendo
00:40:35
copia y pega
00:40:36
¿Vale? Y ahora ya aquí no la declaro
00:40:36
Vale, ahora ya
00:40:39
Puedo yo usar
00:40:45
Esto perfectamente aquí
00:40:47
Me sale el error pero por otra cosa
00:40:49
Ya no es el mismo
00:40:51
¿Vale? Entonces ahora ya están
00:40:52
Declaradas fuera
00:40:55
Yo ya aquí le doy valor, hago lo que quieras con ella
00:40:56
Hago lo que quiera, pero ya están
00:40:59
Visibles en todo el bloque main
00:41:01
¿Vale? Luego
00:41:03
Cuidado, cuidado, lo digo de que
00:41:05
Los errores pues pueden salir
00:41:07
cuidado ahora que ya usamos if
00:41:08
y por tanto empezamos a hacer bloques pequeñitos
00:41:10
cuidado porque las variables que declaréis ahí
00:41:14
fuera ya ni existen
00:41:17
entonces si yo esta variable la quiero usar fuera
00:41:19
como voy a querer usarla para hacer cosas con ella
00:41:22
la declaro fuera
00:41:24
y luego ya aquí le doy valor lo que me dé la gana
00:41:25
¿vale?
00:41:28
¿vale? entonces
00:41:31
¿vale?
00:41:32
bueno vamos a parar un momento
00:41:36
antes de seguir haciendo la versión esta
00:41:37
de sacar las cifras con...
00:41:39
- Subido por:
- Raquel G.
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 11
- Fecha:
- 7 de octubre de 2024 - 18:42
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 41′ 46″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 179.10 MBytes