20251201 ExamenSol_1 - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Vale, pues ¿qué es lo primero que hemos dicho después del ejercicio? Pues vamos a leer un número validando. Pues nada, ahí ya sabemos cómo hacerlo. Lo podéis haber organizado de muchas maneras, pero si este es el numerito que yo voy a leer, por ejemplo n, pues esto es una forma muy cómoda de hacerlo.
00:00:00
Mientras n, siendo n el resultado de leer por teclado un numerito entero, sea menor o igual que 1,
00:00:23
necesitábamos que fuera mayor que 1, entonces el número no va a valer.
00:00:37
Pues tienes que, ahí podríamos hasta dejarlo vacío, pero entonces, hombre, se queda sin mensaje.
00:00:45
Introduzca número.
00:00:54
este mensajito, mejor también
00:00:55
si lo ponemos fuera, porque si no para la primera
00:00:58
lectura
00:01:00
se queda ahí, vale
00:01:00
este me sobra
00:01:03
vale, pues ya está
00:01:06
entonces que nos acongoja
00:01:08
un poco lo de
00:01:11
en la expresión n menor o igual que
00:01:12
1 a la vez que hago la expresión
00:01:15
n menor o igual que 1 a la vez
00:01:17
asignar un valor
00:01:19
bueno, pues leemos el primer valor fuera
00:01:20
y no pasa nada, lo leemos fuera una primera
00:01:23
vez
00:01:25
Esto es lo más cómodo en realidad para escribir de código
00:01:26
Pero si esto nos
00:01:29
Lía un poquito
00:01:30
Bueno, pues no pasa nada, leemos el primer valor
00:01:33
¿Que ese primer valor es menor o igual que 1?
00:01:36
Pues entonces, ¿qué tendremos que hacer?
00:01:40
Mientras n sea menor o igual que 1
00:01:42
Pues vuélvelo a leer otra vez
00:01:44
Y así todo el rato
00:01:46
¿Vale? Este código que he escrito
00:01:48
Es el mismo idéntico que el anterior
00:01:52
Lo que pasa es que, bueno, que este me obliga
00:01:55
hacer la primera lectura afuera, en el anterior yo lo estaba haciendo aquí
00:01:58
tal cual cogía el valor n para compararlo
00:02:02
con el menor igual que 1, tal cual cogía ya le daba valor
00:02:06
con lo cual me ahorraba leerlo aquí y me ahorraba leerlo aquí
00:02:09
eso ya bueno, va en gustos relativos
00:02:14
si nos acostumbramos a hacer los programas cada vez más claros mejor
00:02:19
o en este caso este tendría que introduzca el número
00:02:22
tendría que ir aquí, lógicamente, si no queda un poco
00:02:26
raro el programa, vale
00:02:28
pues esta versión, o esto otro
00:02:32
que hemos dicho, que sería más bonito
00:02:34
que lo ponemos aquí en comentarios
00:02:36
Wailene
00:02:38
siendo en el resultado de
00:02:57
leerlo
00:02:59
si
00:03:00
perdón, que lo tenía que poner abajo
00:03:02
vale, pues
00:03:13
o este bucle tal cual
00:03:29
con el mensajito, primero
00:03:31
claro, ahí, a ver si lo dejo
00:03:33
ya bonito, vale, o esto
00:03:49
O si no os gusta, a la vez que usáis una variable dentro de una condición, a la vez que la usáis dentro de la condición, darle un valor en ese momento, pues bueno, podríamos hacerlo así, como digo aquí, ¿vale? Es lo mismo, es el mismo código, este código y este ejecutan exactamente la misma cosa, pero bueno, este mejor, más elegante, este de abajo, ¿vale?
00:03:51
bueno, pues entonces ya hemos hecho la validación
00:04:16
y ahora
00:04:19
vamos a generar
00:04:20
una secuencia de numeritos
00:04:22
partiendo del original
00:04:24
y cuántos
00:04:26
no lo sé, hasta que lleguemos a uno
00:04:28
como no lo sé, ahí nunca arrancaríamos
00:04:31
con un for, lógicamente
00:04:33
como no sé cuántos voy a tener que generar
00:04:35
pues aquí arrancamos
00:04:37
con un while
00:04:39
aquí arrancamos con un while
00:04:39
y aquí vamos a tener que mostrar
00:04:42
Los números, aquí lo que tenemos que hacer es
00:04:44
Mostrar
00:04:47
El número generado
00:04:48
¿Vale?
00:04:50
Esto lo habéis hecho más
00:04:53
Compacto, pero voy a hacerlo
00:04:54
Como a pasitos
00:04:57
Entonces el bucle que va a hacer
00:04:58
Mostrar un número que yo genero
00:05:00
¿Vale?
00:05:03
El número que yo genero, el número generado
00:05:04
Y ese número generado
00:05:06
¿Cómo va a ser?
00:05:08
¿Vale? Pues ese número generado
00:05:10
Depende
00:05:12
De si n es par o es impar.
00:05:13
Entonces, si n es par, ¿vale?
00:05:19
Si n es par, pues entonces el número generado que va a ser era n entre 2, creo, ¿no?
00:05:29
n entre 2.
00:05:37
Y si n fuera impar, el número generado es n por 3 más 1, n por 3 más 1, ¿vale?
00:05:39
Entonces, y mostramos el número generado, ¿vale?
00:05:57
Esto mientras el número generado sea mayor que 1, ¿verdad?
00:06:02
Mayor o igual que 1, porque hasta llegar a 1, vale.
00:06:12
Los que vas a ir mostrando, lo estoy haciendo como desglosado todo por partes,
00:06:19
entonces claro, ahora diríamos, el número generado,
00:06:24
o sea, lo estoy haciendo como el bucle, como si estuviéramos pensando todo despacito desde el principio.
00:06:28
Este bucle me va a mostrar números, ¿vale?
00:06:33
Entonces, esos números vienen de aquí
00:06:38
Como la condición
00:06:41
Número generado mayor o igual que 1
00:06:43
Está aquí, no lo puedo declarar aquí
00:06:46
Lo tengo que declarar fuera, lógicamente
00:06:48
Vale
00:06:50
¿Con qué valor tengo que inicializar
00:06:51
Número generado?
00:06:54
Pues con n, porque n es el primer número
00:06:55
De la secuencia, el número generado se inicializa
00:06:58
Con n
00:07:00
Y ahora
00:07:00
Este int ya se quita
00:07:03
Y ahora, ¿qué nos falta
00:07:05
por depurar aquí, que si yo he entendido bien
00:07:08
el ejercicio, cada número se genera
00:07:12
desde el anterior, desde el anterior, no desde el primero
00:07:15
luego aquí no será n, sino número generado, cada número
00:07:19
se genera desde el anterior, inicialmente se genera
00:07:24
desde n, por eso lo he inicializado, inicialmente se genera desde n
00:07:27
porque no estoy pensando en global, estoy pensando
00:07:31
como si yo no sé o sé poco
00:07:36
y lo voy haciendo como por partes
00:07:38
entonces voy a hacer un bucle que muestra números
00:07:40
pues este es mi número, luego ya según voy puliendo
00:07:41
pues ya me voy dando cuenta de las cosas
00:07:44
¿vale?
00:07:46
entonces, el número generado
00:07:47
se apoya
00:07:50
cada vez en el anterior
00:07:51
pues entonces aquí no va a ser en mayúsculas
00:07:53
sino que va a ser
00:07:56
número generado
00:07:57
número generado
00:08:00
¿vale? voy a bajarlo aquí abajo
00:08:02
para que se vea mejor
00:08:08
vale, pues ya tengo un bucle
00:08:09
que me genera una secuencia de números
00:08:20
empezando desde el número que me han dado ya validado
00:08:23
y me la va generando de esa manera
00:08:27
cada número se genera en función del anterior
00:08:30
de esta manera dependiendo de si es par o impar
00:08:33
vale, entonces generar la secuencia ya está
00:08:37
se van generando y así hasta llegar al 1
00:08:41
¿Vale?
00:08:44
Entonces, terminada esta primera parte
00:08:48
Efectivamente ya uno podría pensar
00:08:50
La verdad es que el n mayúscula
00:08:52
Perdón, la verdad es que la variable
00:08:54
Este número generado, pues me sobra
00:08:56
Podría reutilizar n
00:08:58
Y ya está, ¿no?
00:09:00
Puedo reutilizar n e irla cambiando de valor aquí dentro
00:09:01
Porque como no la vuelvo a usar
00:09:05
Como no la vuelvo a usar
00:09:06
Podría reutilizar esta propia variable n
00:09:07
¿Vale?
00:09:10
Pero bueno, hemos empezado desde 0
00:09:11
Pues así nos ha quedado por ahora
00:09:15
¿Vale? Entonces esta parte está clara
00:09:17
Un bucle que va generando números
00:09:19
Ese número lo tengo que guardar
00:09:21
En algún sitio
00:09:23
Pues me hago una variable para él
00:09:24
¿Por qué valor empieza?
00:09:26
Por el inicial
00:09:29
Y ahora, ¿cómo los voy generando?
00:09:30
¿Cómo me van saliendo del grifo?
00:09:32
Pues me van saliendo del grifo esos números
00:09:34
De esta manera, con esta fórmula
00:09:37
O con esta otra
00:09:39
Dependiendo de cómo sea
00:09:40
El número, el anterior
00:09:42
Apoyándome en el anterior
00:09:44
Pues apoyándome en el anterior
00:09:46
Según esta fórmula, genero el siguiente
00:09:48
¿Vale? Pues este es el grifo de números generados
00:09:50
Inicialmente el N mayúscula
00:09:53
¿Cuándo acaba ese grifo de números generados?
00:09:55
Cuando hayamos llegado a 1
00:09:57
Podríamos hacer la primera prueba
00:09:58
A ver si esto nos sale alguna cosa rara
00:10:00
O no nos sale algo raro
00:10:03
Vale, introduzca número
00:10:07
Entonces, si yo le pongo el menos 3
00:10:15
Pues me sigue pidiendo
00:10:17
Si le pongo el 1, me sigue pidiendo
00:10:18
le tengo que poner uno mayor que uno, vale, pues la parte
00:10:20
de la validación funciona
00:10:22
45, pues sí que tarda
00:10:23
¿no? es que está repitiendo el mismo
00:10:34
patrón una y otra vez
00:10:39
sí, ya, ya, ya voy, ya voy, que os está dando
00:10:40
talk, vale
00:10:44
vale
00:10:46
si el número generado
00:10:49
es par, se divide
00:10:53
por dos, si es impar
00:10:55
se multiplica por tres y se suma uno
00:10:56
yo he hecho lo que
00:10:58
me está diciendo, ¿no?
00:11:01
NUM generado va a ser
00:11:03
el generado entre 2 si es par
00:11:20
el generado por 3 más 1 si es impar
00:11:22
a ver
00:11:24
esto tiene una, que no nos importa
00:11:29
o sea que hay números para los que no termina nunca
00:11:32
nos da igual, o sea yo he hecho lo que hace
00:11:34
el ejercicio, solamente voy a revisar que he hecho
00:11:36
lo que está en el ejercicio
00:11:38
si es impar se multiplica por 3
00:11:39
y se suma 1
00:11:42
he hecho lo que me está diciendo
00:11:43
voy a volver a
00:11:45
si voy a probarlo
00:11:47
con otro
00:11:50
bueno pues interesante que hemos hecho mal
00:11:50
vamos a encontrarlo
00:11:59
mientras el número
00:12:00
sea mayor o igual que
00:12:05
uno, ¿no? Está bien, ¿no?
00:12:07
No un generado.
00:12:09
Ah, efectivamente. Muy bien
00:12:12
visto. Claro, porque si yo
00:12:17
me meto para el uno, es cuando ya
00:12:19
la lío otra vez.
00:12:21
Vale, vale, vale, vale, vale. Muy, muy, muy
00:12:23
bien visto. Vale.
00:12:25
Vale. Pues de ahí la importancia
00:12:27
de hacer unas pruebas intermedias.
00:12:29
Muy bien visto. Estaba yo obsesionada con el uno.
00:12:31
Vale. Ahora
00:12:34
ya... Sí.
00:12:35
Vale, pues entonces ya nos hemos dado cuenta de este errorcillo
00:12:37
Haciendo las pruebas, ¿hemos sacado el ejercicio?
00:12:42
No, nos falta mostrar aquí
00:12:44
Nos falta mostrar aquí
00:12:47
Cuántas veces, cuántos números se han generado
00:12:50
Y cuál ha sido el mayor
00:12:55
Eso es meter el algoritmo que ya sabemos de cuenta y de máximo
00:12:56
Venga, pues vamos a contar
00:13:00
Pues si vamos a contar un contador que se inicializa cero
00:13:02
Y lo incremento
00:13:06
Para cada número generado
00:13:09
Esa parte ya está
00:13:12
Es contar, no tenemos mayor problema
00:13:13
Se han generado
00:13:16
Dime
00:13:20
A ver
00:13:25
Lo puedes hacer, todo lo que esté bien hecho
00:13:41
Está bien hecho
00:13:43
Si tú dices usar un for y así no usas una variable
00:13:44
Aparte, por ejemplo
00:13:47
Bueno, es otra forma de escribirlo
00:13:48
Lo que pasa es que como el for suele tener
00:13:58
se asume o se asocia a usos muy específicos
00:14:00
que es recorrido de colecciones
00:14:03
recorrido de arrays, de colecciones de datos
00:14:07
con índices que indican posiciones
00:14:10
pues normalmente uno espera de un for que se use para hacer esas cosas
00:14:11
pero no es que esté mal
00:14:15
no es que esté mal ni bien
00:14:18
sino que se asocia sobre todo a ese tipo de códigos
00:14:21
entonces uno ve un for
00:14:24
y se espera una colección de datos que va recogiendo, recorriendo.
00:14:28
Aquí en realidad no hay una colección de datos, va generando un número,
00:14:32
pero bueno, que tampoco es que haya un criterio, está bien o está mal.
00:14:34
Vale, se ha generado con números.
00:14:38
Y ahora el máximo, el máximo.
00:14:40
Pues, ¿cómo hacemos algoritmo de máximo?
00:14:42
Pues ya lo hemos hecho muchas veces.
00:14:45
El máximo se hace.
00:14:48
Yo inicialmente asumo como máximo el primero de todos
00:14:50
o el menor valor posible
00:14:55
para que el primero se convierta
00:14:57
en el primer máximo.
00:14:59
Y para el máximo siempre hay un bucle
00:15:01
que me va soltando números.
00:15:02
Siempre hay un bucle que me va soltando números.
00:15:04
El bucle que aquí en este caso es este.
00:15:06
Y ahora, para cada número que me suelta,
00:15:08
cada número que me suelta,
00:15:11
¿es mayor que el máximo hasta ese momento?
00:15:12
Tengo nuevo máximo.
00:15:14
El máximo siempre implica que hay un bucle
00:15:16
que me va soltando las cosas.
00:15:19
Y yo cada cosa que me suelta
00:15:20
la comparo con el máximo hasta ese momento.
00:15:22
para ver si me toca reutilizar o no.
00:15:25
Aquí la clave es con qué valor inicializo máximo
00:15:28
para asegurarme de que el primer número
00:15:31
siempre se va a convertir en el máximo.
00:15:34
Esa es la clave.
00:15:36
Me tengo que asegurar inicializando el máximo actual
00:15:37
que el primer número siempre se va a convertir en el máximo.
00:15:40
Entonces, aquí los números van a ser todos mayor que 1, siempre.
00:15:43
Entonces, con que inicialice a 0, es suficiente.
00:15:47
Joder, ¿qué estoy haciendo?
00:15:52
Ahí, ya está
00:15:53
¿Vale? Con que lo inicialice a 0
00:15:59
El máximo actual
00:16:01
Ya tengo la garantía
00:16:02
De que la operación de máximo
00:16:04
Que la voy a hacer ahora
00:16:07
Si mi número generado
00:16:08
Es mayor
00:16:11
¿Vale?
00:16:15
Si mi número generado es mayor
00:16:21
Que el máximo
00:16:27
Hasta ese momento
00:16:29
Tengo nuevo máximo
00:16:30
Y ahora ya me falta mostrarlo
00:16:33
Y hemos terminado
00:16:41
el valor pico ha sido
00:16:42
más
00:16:48
actual
00:16:52
vale, bueno pues ahora ya si que
00:16:53
lo tengo completo
00:16:56
a falta de hacer alguna prueba
00:16:57
porque se me puede haber escapado
00:17:00
otro detalle
00:17:01
como el que
00:17:04
se me ha escapado antes del mayor o igual
00:17:05
vale, entonces
00:17:08
este ejercicio
00:17:10
pues nada, combinaba
00:17:11
cuatro cosas básicas
00:17:14
validar un número, un bucle
00:17:16
que está validando el número
00:17:19
ahora ya otro bucle
00:17:20
que va generando
00:17:22
numeritos, según una secuencia
00:17:24
los va generando
00:17:26
y tiene una condición
00:17:27
de finalización, la que sea
00:17:29
entonces yo a priori no sé cuántas
00:17:33
veces se va a ejecutar, pues
00:17:35
me pega más un for
00:17:36
¿vale?
00:17:37
y ahora, ¿qué tengo que
00:17:43
incorporar? una cuenta
00:17:44
que está ahí incorporada y una operación de máximo
00:17:46
que la operación de máximo siempre es así
00:17:49
cada valor que me va llegando comparo con el máximo actual
00:17:52
si lo supera tengo nuevo máximo y actualizo
00:17:56
y luego tengo que pensar bien el valor inicial del máximo
00:17:59
para asegurarme de que el primer valor
00:18:03
de la secuencia se va a convertir en el máximo
00:18:06
primero, vale, aquí con el
00:18:10
Bueno, pues esto más o menos
00:18:13
Estaría hecho
00:18:15
Y
00:18:17
Introduzca número 7
00:18:18
El valor pico ha sido 52
00:18:21
Esta prueba sí que la ha hecho bien por lo menos
00:18:25
Y se han generado 16
00:18:27
Podríamos seguir haciendo pruebas, pero bueno
00:18:28
Es de esperar que no hayamos cometido ningún error
00:18:30
Si he acertado en este
00:18:33
Vale, pues este ya estaba
00:18:35
Este era
00:18:41
En principio
00:18:43
el sencillo, o sea, esto
00:18:45
ya eran
00:18:48
tres puntos
00:18:50
si hacíais este ejercicio
00:18:52
y este ejercicio, pues sí que era
00:18:53
sota, caballo y rey, lo de clases
00:18:56
calcado, no tenía nada muy
00:18:58
extraño, ni muy de pensar, este era
00:19:00
entonces había que rascar dos puntos
00:19:02
en los otros siete, entonces yo creo que
00:19:04
hombre, que lo ha probado, creo que no era complicado
00:19:06
había que rascar dos puntos de los otros
00:19:08
siete para tener ya un aprobado
00:19:10
bueno, pues este, vale
00:19:11
Nos vamos con el segundo, que era un poquito más, podía ser más retorcido, en función de cómo lo planteara uno, podía ser más retorcido.
00:19:16
vale, pues este enunciado
00:19:23
leer una cadena
00:19:44
que dijimos que iba a tener siempre
00:19:50
el patrón de
00:19:53
unas cuantas letras
00:19:54
o caracteres, otros cuantos caracteres
00:19:56
otros cuantos caracteres, entre uno y varios
00:19:58
cada uno, pero que nunca se iban
00:20:01
a repetir, si yo ya había tenido
00:20:03
un pack de caracteres
00:20:04
ese carácter ya no iba a aparecer
00:20:06
en ningún otro pack, porque si no se podía complicar
00:20:08
más el ejercicio y no había necesidad
00:20:11
vale, pues entonces
00:20:13
entendiendo que
00:20:15
la cadena
00:20:16
de partida iba a ser esa
00:20:19
que no había ni que validarla ni que nada
00:20:20
asumimos que el usuario la introduce bien
00:20:23
en realidad cualquier cosa que introduce
00:20:24
bueno, sí, que la introduce bien
00:20:28
la convertimos en esto de aquí
00:20:30
y luego ya mostramos la convertida
00:20:32
a la original en función
00:20:35
de si la original es más corta
00:20:37
o más larga que la convertida
00:20:39
vale, pues entonces
00:20:41
vamos a arrancarlo
00:20:43
como leemos del teclado
00:20:45
pues
00:20:48
y ahora pedimos el dato
00:20:49
el único dato que hay
00:20:58
que es la cadena a convertir
00:21:00
vale, y ahora ya sí que
00:21:02
bueno, empezamos
00:21:21
uno ya antes de empezar a escribir
00:21:23
pues piensa más o menos cómo lo va a hacer
00:21:25
se hace una primera idea
00:21:27
lo que está claro es que el resultante del ejercicio, el resultante es otra cadena.
00:21:28
Entonces, pues yo me haría ahí mi cadena y tiene sentido pensar que la cadena resultante la vamos a obtener concatenando lo que vayamos obteniendo de contar de la original.
00:21:34
De la original vamos a ir contando y vamos a ir concatenando sobre la resultante el carácter que hayamos contado con su contador, vamos a ir concatenando.
00:21:48
con lo cual mi cadena resultado
00:21:57
como yo ya preveo que la voy a construir
00:21:59
concatenando sobre ella
00:22:02
concatenando y concatenando sobre ella
00:22:03
los patrones que voy encontrando
00:22:05
pues la inicializo con el vacío
00:22:08
para poder ir haciendo una concatenación
00:22:10
esto es como la suma acumulativa
00:22:12
que inicializamos con cero
00:22:14
para que lo primero que sumamos al acumulador
00:22:15
se le sume al cero
00:22:18
pues esta es la cadena acumulativa
00:22:19
la inicializo al vacío
00:22:22
para que lo primero que concatenemos
00:22:23
se concatene sobre la cadena vacía
00:22:26
y ahora
00:22:28
pues que es lo más sencillo
00:22:30
que se nos puede ocurrir
00:22:34
pues voy a recorrer la cadena
00:22:35
y voy a ir contando
00:22:37
para cada carácter
00:22:39
si es igual que la anterior
00:22:42
cada vez que encuentre
00:22:44
que es igual que el siguiente
00:22:45
que es igual que el siguiente
00:22:46
que es igual que el siguiente
00:22:48
incremento un contador
00:22:48
cuando ya no es igual que el siguiente
00:22:50
ahí ya puedo hacer una primera concatenación
00:22:55
y reinicio el contador
00:22:57
¿vale? es lo primero
00:22:59
que a mí se me ocurriría y me parece
00:23:01
que lleva lo más fácil
00:23:03
pero bueno, lo habéis hecho de formas muy
00:23:04
distintas, ¿vale? lo primero que a mí
00:23:07
se me ocurriría, repito, es
00:23:09
arranco con la cadena
00:23:10
y voy contando
00:23:12
para cada carácter si es igual que el siguiente
00:23:15
si es igual que el siguiente, si es igual que el siguiente
00:23:17
y así voy contando
00:23:19
en cuanto llegue a uno que no es
00:23:21
igual que el siguiente, paro el contador
00:23:23
y ya puedo hacer la primera
00:23:25
concatenación al resultado.
00:23:27
Y como ya he parado
00:23:30
al contador,
00:23:30
la siguiente
00:23:34
iteración del while ya va a ir
00:23:36
contando con el siguiente carácter.
00:23:37
Es decir, algo así, por ejemplo.
00:23:40
Como vamos a recorrer una cadena,
00:23:43
ahora ya una cadena
00:23:46
tiene sus posiciones desde la primera a la última,
00:23:47
unas posiciones concretas.
00:23:49
Una cadena la recorro como un for,
00:23:51
Desde su primera posición a la última
00:23:53
Entonces, como una raíz, perdón
00:23:54
Con lo cual aquí, pues un for
00:23:57
Es lo más cómodo
00:23:59
Desde igual a cero, siendo y la posición de la cadena
00:24:00
Mientras y sea menor
00:24:03
Que mi cadena
00:24:06
Length
00:24:07
Incrementando y
00:24:10
¿Vale? Yo hago una primera
00:24:12
Un primer prototipo
00:24:14
Y luego ya vamos arreglando
00:24:16
Ya vamos arreglando, ¿no?
00:24:17
Pero hago un primer prototipo
00:24:20
y luego ya vamos arreglando cositas, detalles, etc.
00:24:22
Entonces, yo he dicho, lo primero que voy a hacer,
00:24:25
voy a recorrer mi cadena para iniciar un bucle
00:24:27
y mientras mi carácter sea igual al siguiente, lo cuento.
00:24:31
Entonces, pues aquí, mi contador, ¿vale?
00:24:35
Y ahora, si el carácter en la posición en la que estoy
00:24:45
resulta que es igual
00:25:00
al carácter
00:25:03
en la posición siguiente
00:25:07
aquí en cuanto
00:25:09
pongo un i más uno
00:25:11
ya se me despiertan las alarmas
00:25:13
sobre este límite superior
00:25:15
del for, ya se me despiertan
00:25:17
las alarmas, pero bueno, eso ya
00:25:19
lo retocamos ahora
00:25:21
primero yo me hago mi primer prototipo
00:25:23
donde más o menos planteo mi idea
00:25:25
esbozo mi idea
00:25:27
y luego ya la voy afinando
00:25:29
¿vale? pero está bien que yo te digo
00:25:31
uy cuidado, estás comparando cada carácter
00:25:33
con el siguiente
00:25:35
cuidadín, que entonces
00:25:36
no te vas a poder parar en el último
00:25:39
te vas a tener que parar en el anterior
00:25:41
siempre, ahí ya se me despierta
00:25:43
la primera alarma, ¿vale?
00:25:45
bueno, pues si
00:25:47
el carácter en el que estoy es igual al siguiente
00:25:48
incremento el contador
00:25:51
contador que he inicializado a 1
00:25:53
¿por qué? porque el
00:26:00
Carácter charad y ya es uno
00:26:01
Ya es un carácter, ya es uno
00:26:04
Por eso he inicializado a uno
00:26:05
Vale, entonces, así voy
00:26:06
Carácter en la posición y es igual al siguiente
00:26:10
Incrementando, vale
00:26:12
El bucle volverá
00:26:14
Sigue siendo igual al siguiente
00:26:16
Muy bien, incremento contador
00:26:17
El bucle for volverá
00:26:20
Sigue siendo tú igual a tu siguiente
00:26:21
Incremento contador, el bucle volverá
00:26:24
Sigue siendo tú igual a tu siguiente
00:26:26
Incremento contador
00:26:28
llegará un momento en el cual
00:26:29
me pare yo en una posición, ya he acabado
00:26:31
todas las as, por ejemplo
00:26:33
llegará el momento en el que me pare en una posición
00:26:35
en la que ya no soy igual
00:26:37
que mi siguiente, llegará un
00:26:39
momento en que ya estoy parada en una posición
00:26:41
en la que ya no soy igual a mi siguiente
00:26:44
pues entonces ahí me toca
00:26:45
construir resultado
00:26:47
pues venga, resultado
00:26:49
más igual
00:26:52
el carácter concreto en el que estoy
00:26:53
que ya no es igual
00:26:55
al siguiente
00:26:59
que ya no es igual al siguiente
00:27:00
concatenado
00:27:03
con
00:27:05
el contador
00:27:07
aquí de nuevo
00:27:10
se me despierta una pequeña
00:27:15
alarma de si este más
00:27:17
va a hacer la suma o la concatenación
00:27:18
yo quiero que haga la concatenación
00:27:21
vale, pero lo voy a dejar
00:27:23
así para luego ir arreglando los errores
00:27:25
si uno no se da cuenta y le sale
00:27:27
y ahora que me falta
00:27:29
volver a poner el contador a 1
00:27:31
para reiniciar la cuenta
00:27:33
¿vale? este sería el esbozo de la idea
00:27:34
que he planteado
00:27:40
ahora ya hay que retocar a ver si esto funciona o no
00:27:43
¿vale? entonces el esbozo de la idea pues consiste en esto
00:27:46
el esbozo de la idea
00:27:50
consiste en esto, yo tengo por ejemplo esto
00:28:06
a, a, c, c, d, d, d, era
00:28:09
Voy a recorrer la cadena para cada posición y ¿eres igual que tu siguiente? Incremento contador. Ahora voy a esta. ¿Eres igual que tu siguiente? Incremento contador. Ya llevaría 3 porque como el contador ha empezado en 1. Ahora estoy en esta. ¿Eres igual a tu siguiente? No, no eres igual.
00:28:13
pues entonces me voy al else
00:28:30
el else lo que hace ya es concatenar
00:28:31
a resultado
00:28:34
la parte que toca, que es el carácter
00:28:35
en esta posición, el a, con su cuenta
00:28:38
y reiniciar contador a 1
00:28:40
ahora, el bucle
00:28:42
vuelve, c, tú, ¿eres igual a tu siguiente?
00:28:44
sí, c igual a 2
00:28:46
ahora estoy aquí, ¿tú eres igual a tu siguiente?
00:28:47
no, pues toca el else
00:28:50
que concatenará el resultado
00:28:52
el c con su contador
00:28:54
y ya está, y reiniciará
00:28:55
contador a 1 y pasamos al siguiente tú eres igual a tu siguiente si el contador 2 paramos aquí tú
00:28:58
eres igual a tu siguiente si contador 3 vale entonces aquí quedan varias cosas por definir
00:29:05
que es cuidadín con esto y a ver si esto me está haciendo con concatenación o me está sumando
00:29:15
y ¿qué pasa en el último pack?
00:29:22
¿Qué pasa en el último pack?
00:29:29
Porque si yo tengo 3Ds,
00:29:31
cuando he parado en este,
00:29:34
¿tú eres igual a tu siguiente?
00:29:37
Sí, contador igual a 2.
00:29:39
¿Tú eres igual a tu siguiente?
00:29:40
Ah, no, me paro en el penúltimo.
00:29:41
¿Tú eres igual a tu siguiente?
00:29:43
Entonces, contador igual a 3, ¿vale?
00:29:45
pero como el bucle se para aquí
00:29:49
me faltaría
00:29:52
por concatenar lo último
00:29:54
entonces tendríamos que añadirlo al final
00:29:56
y ya está, pero vamos a
00:29:58
hacer las primeras pruebas
00:30:00
de esto para ver cómo iríamos
00:30:02
arreglando lo que va fallando
00:30:04
pero bueno, la idea de lo que estoy haciendo está entendida
00:30:05
ahora hay que pulirla
00:30:08
la idea de lo que estoy haciendo está entendida
00:30:10
entonces, si uno ejecuta esto sin más
00:30:11
lo primero que le va a salir
00:30:14
bueno, voy a mostrar el resultado
00:30:15
Si eso resulta
00:30:18
Hacemos el primer arreglo
00:30:23
Y paramos un momento
00:30:25
Si uno ejecuta esto sin más
00:30:26
Cadena
00:30:29
Vale, pues le sale esto
00:30:34
Y dice, uh, que ha pasado
00:30:40
Pero no pasa nada
00:30:42
Ah, me he salido del
00:30:43
String
00:30:45
Me he metido en el index 12, cuidado
00:30:47
Ah, claro, es que estoy comparando
00:30:50
Cada carácter con su siguiente
00:30:52
Con lo cual tengo que
00:30:54
Pararme en el penúltimo
00:30:56
No en el último
00:30:57
Tengo que pararme en el penúltimo
00:30:58
Primera cosa que uno se da cuenta
00:31:01
Si no ha atendido a su alarma
00:31:05
Cuando ha visto aquí al I más uno
00:31:08
Le ha salido la alarma mental de cuidado
00:31:09
Que en cada iteración del FOR
00:31:12
Estoy mirando el siguiente
00:31:15
Cuidado, pues me tengo que quedar en el penúltimo
00:31:17
No en el último
00:31:20
Pues si no ha atendido a esa alarma
00:31:21
No se le ha despertado en ese momento
00:31:23
Al ver aquí el I más uno
00:31:24
Se le despierta aquí
00:31:26
Uy, me he salido del array
00:31:28
Perdón, del stream
00:31:30
Me vengo por aquí, porque esto hay que hacerle caso
00:31:32
Hay que leer lo que te dice
00:31:35
Me vengo por aquí
00:31:36
Hasta llegar a la primera línea
00:31:38
Que ya es código mío
00:31:41
Porque todo esto son clases de Java
00:31:42
Uy, me he salido aquí
00:31:44
Ah, claro, jolín, es que estoy llegando
00:31:47
Hay más uno, con lo cual tengo que
00:31:49
Pararme antes, vale, es error arreglado
00:31:51
Siguientes comprobaciones
00:31:53
Las paramos un momentito y las hacemos
00:31:54
- 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:
- 1
- Fecha:
- 3 de diciembre de 2025 - 11:54
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 31′ 57″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 126.60 MBytes