Saltar navegación

20241007 ProgrEstruct-Decision-Ejer_4 - 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 7 de octubre de 2024 por Raquel G.

11 visualizaciones

Descargar la transcripción

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
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
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
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
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
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
Hacerlo con el operador condicionado 00:22:05
Intermedia 00:22:08
Centenas es distinto 00:22:09
De mayor 00:22:13
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
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
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
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
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

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid