20251112 EjerBucles_10 - 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:
Bueno, pues entonces, el objetivo de este programa es imprimir esto adaptado a la cantidad de líneas que me den como dato de entrada.
00:00:00
Luego hay un dato de entrada, que es el número de líneas.
00:00:16
Si fuera siempre cuatro, ni bucles ni nada, podríamos hacer los system.out.println y ya está.
00:00:20
Cuatro system.out.println y se acabó.
00:00:25
Pero claro, no es la idea.
00:00:27
Entonces, como el número de líneas es variable
00:00:28
Aquí ya va a ser un bucle
00:00:31
Y el bucle que va a hacer dentro en cada iteración
00:00:34
Pues ahora ya es cuando tenemos que intentar traducirlo un poquito
00:00:38
Ya a nuestro propio diseño
00:00:41
Bueno, pues lo que va a hacer el bucle en cada iteración
00:00:44
Es imprimir una línea
00:00:47
Lo que pasa es que en cada iteración
00:00:49
La línea que imprime es distinta
00:00:52
Pero al fin y al cabo no deja de ser
00:00:54
un bucle que se ejecuta tantas veces como líneas
00:00:56
me han dicho
00:00:59
y en cada iteración imprime una línea
00:01:00
vale, pero al menos la primera parte importante la tengo
00:01:02
que es bucle que se ejecuta tantas veces como líneas
00:01:05
eso seguro, sí o sí
00:01:09
bueno, pues la primera parte ya la tenemos fácil
00:01:10
si yo aquí he leído las líneas que son estas
00:01:14
pues un bucle que se ejecuta tantas veces como valor haya ahí
00:01:17
es un bucle for
00:01:21
vale, pues esto es un bucle for
00:01:23
que se ejecuta
00:01:32
tantas veces como líneas
00:01:34
vale
00:01:37
hasta ahí fácil
00:01:38
ahora
00:01:41
¿qué hacemos en cada iteración?
00:01:42
imprimir una línea
00:01:45
pero esa línea que tiene
00:01:47
pues si ya nos ponemos a analizar cada línea
00:01:48
y decimos
00:01:50
cada línea lo que tiene es
00:01:51
unos cuantos
00:01:53
espacios
00:01:56
y unos cuantos asteriscos
00:01:58
Eso es lo que yo veo, que cada línea tiene unos cuantos espacios y unos cuantos asteriscos
00:02:00
¿Cuántos?
00:02:06
Depende de la línea en la que esté
00:02:08
¿Vale?
00:02:10
Depende de la línea, pues entonces
00:02:12
Vale, dependiendo de la línea en la que estemos
00:02:14
Vale
00:02:30
Esta será
00:02:42
Esta será
00:02:44
La línea igual a cero
00:02:49
Esta será la línea I igual a 1
00:02:52
Esta será la línea I igual a 2
00:02:54
Esta será la línea I igual a 3
00:02:57
Eso cuando son 4 líneas
00:02:59
Cuando sean 7, pues tendré desde la 0 hasta la 6
00:03:00
Bueno, pues en este ejemplo en particular
00:03:03
Esto si yo lo cuadriculo así para verlo mejor
00:03:07
Pues en la línea I igual a 0
00:03:15
Tengo 3 espacios y un solo asterisco
00:03:18
¿Vale? Entonces lo analizo un poquito para ver si hay alguna regla
00:03:23
Y claro, veré que hay una regla
00:03:27
Sin embargo, en la línea I igual a 1, ya no es la 0
00:03:29
Si en la línea I igual a 1 tengo 2 espacios y 3 asteriscos
00:03:33
En la línea I igual a 2 tengo un solo espacio y 5 asteriscos
00:03:40
Y en la última de las líneas, tengo 0 espacios y 7 asteriscos.
00:03:50
Luego ahí ya veo una regla.
00:04:00
Es decir, si tengo n líneas cualquiera, los espacios que tengo,
00:04:03
imaginaos que en lugar de 4, como es aquí, que van de 0, 1, 2 a 3,
00:04:09
esto lo extiendo a que tengo n.
00:04:15
Pues entonces ya veo aquí claramente una regla.
00:04:17
En la primera línea tengo que imprimir n-1 espacios, en la segunda línea tengo que imprimir n-2 espacios, en la siguiente tengo que imprimir n-3 espacios, así hasta que llegue a 0 espacios.
00:04:19
Esto de nuevo lo puedo hacer con un for, ¿vale? Esto n-1, n-2, n-3, esto ya me suena a un for o una variable que se va decrementando, ¿vale?
00:04:34
Y asteriscos, ¿cuántos imprimo? Pues hombre, aquí tengo una sucesión de números impares, una sucesión de números impares la podemos generar siempre, ¿no? De esta manera, 2 por el generador más 1, cuando x sea igual a 0 tengo el primer impar, que es 1, cuando x sea igual a 2, perdón, a 1, tengo el siguiente impar, que es 3, cuando x sea igual a 2, tengo el siguiente impar, que es 5.
00:04:43
entonces esta serie
00:05:11
en algún otro ejercicio ya la usamos
00:05:13
esta serie me va generando
00:05:16
los números impares
00:05:18
para x igual a 0
00:05:19
1, 2, 3
00:05:21
pues para x igual a 0, 1, 2, 3
00:05:23
esta me va generando los impares
00:05:25
1, 3, 5, 7
00:05:27
que es justo lo que me viene muy bien aquí
00:05:28
generar los impares
00:05:31
luego, ahora ya con esto, ¿qué tengo que hacer?
00:05:32
mi bucle
00:05:36
¿qué tiene que imprimir?
00:05:37
mi bucle tiene que imprimir
00:05:39
n menos 1 espacios y luego el impar correspondiente.
00:05:41
Entonces, lo puedo hacer con dos for anidados.
00:05:48
Un primer for para imprimir estos espacios y un segundo for para imprimir los asteriscos.
00:05:50
¿Vale?
00:05:57
Puedo hacer eso.
00:05:58
Un primer for para imprimir los espacios y otro para imprimir los asteriscos.
00:05:59
Y ya está.
00:06:03
Luego hago un salto de línea y he terminado.
00:06:04
Entonces, esto, ¿cuánto? Vale, primero vamos a imprimir los espacios. ¿Cuántos espacios queremos? Pues queremos, para la fila 0, quiero numlíneas menos 1.
00:06:06
Para la fila 1
00:06:26
Quiero numlíneas menos 2
00:06:28
Para la fila 2
00:06:30
Quiero numlíneas menos 3
00:06:32
¿Cuántos espacios
00:06:33
Quiero en general?
00:06:36
Pues
00:06:39
Que re numlíneas
00:06:39
Menos 1
00:06:44
Menos i
00:06:46
Esos son
00:06:48
Los espacios
00:06:50
Que quiero
00:06:52
¿Vale?
00:06:52
Voy a poner una llave
00:06:55
para que se vea más claro
00:06:57
entonces, este bucle
00:06:59
para i igual a cero
00:07:01
se ejecuta en un líneas menos uno
00:07:03
que son justo los espacios que quiero
00:07:05
pero para la fila uno
00:07:07
se ejecuta una vez menos, porque es un espacio menos
00:07:08
y para la fila dos
00:07:11
se ejecuta una vez menos, porque quiere un espacio menos
00:07:12
entonces
00:07:15
sí, a ver
00:07:16
este es un bucle
00:07:19
bueno, vamos a poner primero lo que hay dentro para
00:07:20
entonces aquí importante es
00:07:22
el primer bucle es para los espacios, ¿no?
00:07:25
este primer for
00:07:26
es para los espacios
00:07:29
el de arriba es para las líneas
00:07:31
uno por línea
00:07:35
entonces
00:07:36
yo he cambiado un momento
00:07:38
he cambiado esto
00:07:41
no, no lo había cambiado
00:07:42
este bucle es para las líneas
00:07:44
entonces este se ejecuta una vez por línea
00:07:51
y ahora en cada línea, ¿qué queremos hacer?
00:07:53
pues en la primera línea
00:07:55
En la primera línea, como i es igual a cero, ¿cuántos espacios me hará?
00:07:56
Nun líneas menos uno, que son los que tocan.
00:08:04
Acordaos que si nun líneas era, imaginaos que nun líneas es cinco.
00:08:07
Si nun líneas es cinco, en la primera línea necesito cuatro espacios.
00:08:15
¿Verdad? Cuatro espacios.
00:08:22
Cuando nun líneas era cuatro y tomamos tres espacios.
00:08:23
Era lo que habíamos.
00:08:26
vale, pues justo este bucle
00:08:27
en la primera línea me hace 4
00:08:29
pero en la siguiente fila
00:08:31
me hará solamente
00:08:33
3 espacios, uno menos, porque ya habrá
00:08:34
saltado, ahora ahí sería igual a 1
00:08:37
y en la siguiente línea, que sea la línea igual a 2
00:08:38
me hace un espacio menos
00:08:41
que es justo lo que quiero
00:08:43
y en la siguiente línea me hace
00:08:44
un espacio menos
00:08:47
y ya en la última línea
00:08:47
no me hace espacios
00:08:50
luego con este for estamos consiguiendo hacer los espacios
00:08:52
¿vale?
00:08:55
Pero no hemos terminado todavía, porque una vez que hemos hecho los espacios, nos quedan los asteriscos.
00:08:57
¿Qué cuantos asteriscos necesitamos?
00:09:05
Pues en cada, la sucesión de los números impares.
00:09:08
Ya está, la sucesión de los números impares.
00:09:11
Pues entonces, aquí importante.
00:09:14
No estoy usando println, porque println te imprime lo que sea y te hace un salto de línea.
00:09:17
No, aquí los asteriscos, los espacios, los queremos todos seguidos.
00:09:23
vale, println
00:09:27
el que hemos usado siempre
00:09:29
te imprime lo que tú le des
00:09:31
y luego te mete un salto de línea
00:09:33
no queremos, queremos que te imprima
00:09:34
y no te haga el salto de línea para el siguiente
00:09:37
espacio hacerlo después, el siguiente después
00:09:39
entonces uso la versión
00:09:40
print sin saltos de línea
00:09:42
que no
00:09:45
sabíais esto, no lo habéis buscado
00:09:48
lo podíamos haber hecho con concatenación
00:09:50
acumulativa, vamos a hacer a la versión ahora para que
00:09:53
le perdáis miedo a las concatenaciones acumulativas
00:09:55
que construyen la línea y luego imprimimos la línea y se acabó
00:09:57
vale, pero vamos a completar esta versión
00:09:59
hala, ya he terminado los espacios
00:10:03
pues vamos a hacer ahora
00:10:05
los asteriscos
00:10:06
asteriscos, ¿cuántos se van a hacer?
00:10:09
mirad que aquí
00:10:18
he usado otro nombre
00:10:19
para la variable índice porque la i
00:10:21
ya tiene un uso en el bucle que la
00:10:23
incluye
00:10:25
el i, que es el bucle que lo incluye
00:10:26
significa el número
00:10:29
de fila, luego j
00:10:31
es otra variable distinta
00:10:33
vale, pues aquí
00:10:36
desde j igual a 0, aquí puedo reutilizar
00:10:38
la j porque este bucle ya acabó
00:10:41
este bucle ya acabó, luego puedo
00:10:43
usar la j, este bucle ya acabó, la j
00:10:45
desapareció, vale, pues
00:10:47
¿cuántos asteriscos queremos? mientras j
00:10:49
sea menor que, pues vamos
00:10:51
a generar la lista de los impares
00:10:53
a partir de ahí
00:10:55
vale, para la fila i igual a 0
00:10:56
me sacará 1
00:11:01
pero para la fila
00:11:03
i igual a 2, igual a 1
00:11:05
perdón, me sacará 3
00:11:07
y para la siguiente fila que es la i igual a 2
00:11:09
me sacará 5, luego con esto
00:11:11
voy generando
00:11:14
los impares
00:11:15
asociados a cada fila
00:11:17
repito, para la fila i igual a 0
00:11:19
esto se convierte en 1
00:11:22
que es justo los asteriscos que necesito
00:11:23
sin embargo para la siguiente fila
00:11:25
que es la i igual a 1
00:11:28
eso se convierte en 3, que es justo
00:11:29
Estoy mapeando 0, 1, 2, 3
00:11:32
A los impares correspondientes
00:11:34
0, 1, 2, 3
00:11:35
A 1, 3, 5, 7
00:11:37
A través de esta función
00:11:38
A través de esta función matemática
00:11:40
Que me mapea 0, 1, 2, 3
00:11:42
A 1, 3, 5, 7
00:11:45
Bueno
00:11:47
Y aquí que quiero hacer
00:11:49
Sin el ln
00:11:53
Imprimir asterisco
00:11:54
Ya he terminado de hacer
00:11:57
todos los espacios que me tocan
00:12:00
para cada fila i
00:12:03
i más 1, ¿dónde?
00:12:04
bueno, es 2 por i más 1
00:12:15
esto es para generar los impares
00:12:18
cuando la fila es 0
00:12:20
te generará 1, cuando la fila es 1
00:12:21
te generará 3, cuando la fila es 2
00:12:23
te generará 5, que es justo lo que queremos
00:12:26
mapear 0 a 1, 1 a 3
00:12:27
vale, y una vez que he
00:12:29
completado los espacios y los asteriscos
00:12:31
ahora ya sé que quiero un salto de línea
00:12:34
para la siguiente fila
00:12:35
¿vale?
00:12:37
metemos un salto de línea
00:12:39
para la siguiente fila
00:12:41
ahora ya nos toca meter un salto
00:12:45
de línea para que la siguiente fila se haga abajo
00:12:47
pues eso hacemos un system.out.print.ln
00:12:49
no, porque entonces cada asterisco
00:12:52
lo iría bajando abajo y son todos seguidos
00:12:57
¿vale?
00:13:00
Vale, pues esto ya está.
00:13:01
Si ejecutamos esto, metiendo cualquier cosa, pues ya está.
00:13:05
¿Vale?
00:13:13
Vale.
00:13:18
Entonces, cada fila tiene los espacios que le tocan y los asteriscos que le tocan.
00:13:19
Que son, fila 0, un asterisco.
00:13:26
Fila 1, 3.
00:13:29
Fila 2, 5.
00:13:30
pues justo por eso hacemos 2 por i más 1
00:13:31
para que la fila 0 me dé 1
00:13:34
para que la fila 1 me dé 3
00:13:36
y luego los espacios
00:13:38
si parto de 14
00:13:40
la primera son 3 espacios
00:13:41
pero las siguientes son 12
00:13:44
pero las siguientes son 11
00:13:45
pues por eso he puesto aquí numlíneas menos 1 menos i
00:13:46
porque en la fila 0
00:13:49
si es 14, serán 13
00:13:51
pero en la fila 1 serán 12
00:13:53
pero en la fila 2 serán 11
00:13:55
es decir, cada fila va perdiendo un espacio
00:13:57
por eso le pongo el menos i
00:14:00
cada fila va perdiendo un espacio
00:14:02
vale
00:14:04
entonces aquí también lo único era
00:14:05
pues
00:14:10
conocer
00:14:11
que yo puedo hacer un system out
00:14:13
sin salto de línea como el print
00:14:16
vale, pero vamos a hacerlo de otra manera
00:14:18
esto mismo simplemente, en lugar de ir
00:14:20
imprimiéndolos vamos a ir construyendo
00:14:22
con sumas acumulativas la línea
00:14:24
final y luego mostramos la línea
00:14:26
cuando lo tengamos
00:14:28
y así no tenemos que usar el system out print
00:14:29
Otra versión con concatenaciones
00:14:36
Acumulativas
00:14:42
Vale
00:14:45
Pues esta va a ser
00:14:47
A ver, nuestro for
00:14:49
Gordo es el mismo
00:14:55
Se ejecuta tantas veces como número de líneas
00:14:57
Nuestro for gordote es el mismo
00:14:59
Vale
00:15:01
Ahora, ¿qué va a hacer cada for gordote?
00:15:05
Imprimir una línea
00:15:09
Que vamos a
00:15:10
Construir
00:15:11
Entonces, inicialmente esta línea está en el vacío
00:15:13
Y ahora le vamos a ir concatenando
00:15:17
Los espacios y los asteriscos
00:15:19
Se los vamos a ir concatenando
00:15:21
Cuando ya tengamos la línea construida del todo
00:15:22
La mostramos y se acabó
00:15:25
¿Vale?
00:15:28
O sea, en lugar de ir mostrando carácter por carácter como aquí
00:15:29
Vamos a construir la línea entera
00:15:32
Con todos sus espacios, sus asteriscos
00:15:34
Cuando ya esté entera, se imprime
00:15:37
¿Vale?
00:15:38
Pues
00:15:41
bueno, pues vamos a hacer esa concatenación
00:15:41
acumulativa, recordad que una concatenación acumulativa
00:15:58
que es una suma acumulativa pero de cadenas
00:16:02
es una suma de cadenas, que eso es concatenar una suma de cadenas
00:16:05
pues siempre es a través de un bucle
00:16:08
que le van llegando, los sumando, le van llegando y los va incorporando
00:16:11
siempre se hace a través de un bucle
00:16:14
pues aquí nuestro primer bucle que va a concatenar
00:16:16
los espacios es este
00:16:19
Este es nuestro primer bucle para concatenar los espacios
00:16:21
Vale, pues alinea más igual espacio
00:16:24
¡Hala! Ya hemos hecho la primera concatenación acumulativa
00:16:32
Donde vamos concatenando y acumulando sobre esta línea inicialmente vacía
00:16:37
Los espacios que necesitamos
00:16:42
Que son estos, para cada línea y son esos
00:16:44
Ahora, vamos a concatenarle los asteriscos
00:16:48
Los asteriscos
00:16:52
Pues este bucle
00:16:55
Es en el que yo iré concatenando
00:17:00
Línea más igual, asterisco
00:17:05
Vale, pues así construyo la línea
00:17:07
Voy concatenando los espacios
00:17:10
Los que tocan en función de la línea en la que esté
00:17:13
Y cuando he terminado de concatenar espacios
00:17:15
Me pongo a concatenarle asteriscos
00:17:18
Uno tras otro, uno tras otro, uno tras otro
00:17:21
Los que toquen en función de la línea en la que esté
00:17:24
En la primera línea tocará uno
00:17:26
Pero en la siguiente línea tocarán tres
00:17:28
Cuando ya tengo la línea enterita
00:17:30
La imprimo
00:17:32
Y ya está, salto de línea para volver
00:17:33
En el for de arriba a la siguiente
00:17:36
Vale, pues vamos a ver si nos sale
00:17:38
Bien también
00:17:42
Si le ponemos cuatro, pues sí
00:17:45
Cualquiera de las dos versiones están haciendo lo mismo
00:17:47
Vale
00:17:50
No, líneas
00:17:53
No es igual
00:18:08
Es un efecto óptico
00:18:12
Son iguales
00:18:14
Parece distinta pero son iguales
00:18:17
Vale, pues
00:18:19
Entendido
00:18:22
Pues venga
00:18:24
Vámonos entonces al ejercicio
00:18:45
31
00:18:47
bueno, pues el ejercicio 31
00:18:48
es imprimir esta
00:19:03
tablita de aquí
00:19:05
vale, la fila de arriba
00:19:06
la podemos ver como una fila
00:19:09
de título que podemos tratarla aparte
00:19:11
si queremos, porque sobre todo
00:19:13
las que nos importan son las de abajo
00:19:14
que son las que tienen los cambios
00:19:16
que como no puedo seleccionar
00:19:18
vale, entonces, olvidándonos de la fila de arriba
00:19:20
que la podemos poner primero arriba como título
00:19:22
y ya está, que no sabéis
00:19:24
mirar
00:19:29
pues
00:19:29
estas de aquí, que rabia que no se puede seleccionar
00:19:31
vale, estas
00:19:34
que son
00:19:37
las que tienen la operativa, pues esto se puede
00:19:39
ver como imprimir
00:19:41
10 líneas, vale, imprimir 10 líneas
00:19:42
hasta ahí bien
00:19:45
bueno
00:19:46
10 líneas, este dato es variable
00:19:49
¿verdad?
00:19:50
si en
00:19:53
n líneas en general
00:19:53
Y en cada fila, ¿qué hace? En cada fila, claro, va imprimiendo una serie de números que va generando en función de la fila. Si la fila es la 1, esta y sumando 1. Si la fila es la 2, esta pero sumando 2. Si la fila es la 3, esta pero sumando 3. Así.
00:19:56
luego se trata de imprimir tantas filas como me han dado n
00:20:14
y luego en cada fila
00:20:17
hacer otro for que me va imprimiendo
00:20:19
numeritos generados
00:20:21
en función de la fila
00:20:23
pues como acabamos de decir por ejemplo
00:20:24
para cada fila parte de ese número
00:20:26
y me los va imprimiendo incrementados en uno
00:20:29
lo podemos plantear así
00:20:31
y esto lo podemos poner al principio como título
00:20:32
y este como es el mismo número pues que lo imprima
00:20:34
dos veces el primero y ya está
00:20:37
claro imprimir el número de fila
00:20:38
y luego ya hacerte todo ese for
00:20:40
Entonces, si nos lo planteamos así, pues nos queda algo como esto, más o menos.
00:20:42
Que es lo primero que se me ocurre.
00:20:50
Bueno, pues primero habrá que pedirle el numérico.
00:20:54
Lo voy a llamar N mayúscula para que sea más rápido de escribir.
00:20:59
Vale, pues lo vamos a llamar N mayúscula, que es más rápido.
00:21:07
Venga, vamos a imprimir el titulito antes de nada.
00:21:14
el titulito
00:21:17
que tiene
00:21:23
ah bueno, aquí era donde tenía esto el problema
00:21:24
de los descuadres
00:21:29
no, pero aquí
00:21:31
también se va a dar el problema de los descuadres
00:21:34
entonces
00:21:35
vamos a hacerlo sin tener eso
00:21:39
en mente y nos va a salir
00:21:41
un cuadrado un poco descuadrado y luego ya
00:21:43
podemos plantear cómo arreglarlo
00:21:45
vale, vamos a imprimir el titulito
00:21:47
hacemos una primera versión con lo que se nos ha ocurrido
00:21:49
Que es lo primero que a mí se me ocurriría de buenas a primeras
00:21:51
Pues
00:21:53
Imprimo la
00:21:55
Imprimo una fila
00:21:58
Y en esta fila
00:21:59
Mientras si sea menor que
00:22:02
Bueno primero
00:22:06
Imprimo el carácter este extraño
00:22:09
Vamos a imprimir el carácter
00:22:12
Este extraño
00:22:14
Que es yo que sé cualquier cosa una X gorda
00:22:15
Vale
00:22:18
Bueno vamos a hacerlo con concatenaciones
00:22:21
Acumulativas
00:22:24
esta es mi línea
00:22:24
que inicialmente es este carácter gordote de aquí
00:22:28
este carácter gordote, y ahora voy a ir concatenando
00:22:32
sobre ese carácter gordote
00:22:36
y menor que N mayúscula, entonces como en realidad
00:22:39
aquí es 1, 2, 3, pues voy a hacer ya el for directamente, para no tener que sumarle
00:22:45
1 a la I todo el rato, vamos a hacer ya el for directamente así
00:22:49
Y así no tenemos que sumarle 1 a la n todo el rato
00:22:52
Pues aquí, alínea más igual y
00:22:57
Ala, como ya parto de la x, esto no es una suma
00:23:01
Esto ya va concatenando, va concatenando con el 1, con el 2, con el 3, con el 4
00:23:06
¿Vale? Entonces ya tengo la línea de arriba
00:23:10
Tengo la línea de arriba
00:23:13
Sin colorcitos y sin nada
00:23:17
Que si lo ejecutamos
00:23:21
Pues vale
00:23:27
Quiero trabajar con 10
00:23:27
Pues a tu línea de arriba
00:23:33
Para que no esté tan pegadito
00:23:34
Vamos a ponerle
00:23:36
2
00:23:38
Aunque
00:23:42
Le ponemos 2 y así nos queda más
00:23:43
Vale, pues venga
00:23:46
10
00:23:49
Ala, esta es la línea de arriba
00:23:51
Vale
00:23:53
Ahora, a ver
00:23:55
Vamos a las siguientes líneas
00:23:58
En las siguientes líneas
00:24:00
¿Cuántas líneas más tenemos?
00:24:03
N mayúscula
00:24:08
Pues venga, un for que me imprima cada una
00:24:08
Ahora ya tengo el for
00:24:10
Esta es la cabecera solo
00:24:11
Esta es la que he hecho para la cabecera
00:24:13
Nada más
00:24:14
Para la cabecera
00:24:15
Ahora vamos a imprimirnos ya las N mayúscula líneas
00:24:16
Pues por ejemplo
00:24:19
Desde la línea 1
00:24:21
Voy a partir desde 1 en vez de 0
00:24:23
porque como los propios números empiezan en 1
00:24:25
así no voy sumando más 1 todo el rato
00:24:27
mientras i sea menor que
00:24:29
n mayúscula incrementando i
00:24:31
vale
00:24:33
pues ahora, este es el que me imprime
00:24:35
este bucle menor o igual
00:24:37
este bucle es el que me va a
00:24:39
imprimir estas
00:24:41
líneas, vamos a ir construyéndolas
00:24:43
vale, pues
00:24:45
la vuelvo a resetear, la línea
00:24:47
al vacío, la vuelvo a resetear
00:24:48
para empezar de cero, lo primero
00:24:51
que se le concatena es
00:24:53
el número de la línea
00:24:55
1, 2, 3, 4
00:24:57
es lo primero que se le concatena, vale
00:25:00
y luego ya lo demás, ya es lo que vamos generando
00:25:02
entonces lo primero que se le concatena
00:25:04
es
00:25:07
el número de la línea, y
00:25:08
que como al x
00:25:10
no le he puesto espacio
00:25:13
al y tampoco se lo voy a poner
00:25:14
bueno, venga, si le pongo un espacio
00:25:17
y a este también
00:25:18
le pongo un espacio
00:25:20
vale
00:25:22
aún así nos va a quedar feo
00:25:24
para que cuadre exactamente a la cantidad de números
00:25:26
habría que hacer otro retoque
00:25:28
bueno, pues ya tengo hecho
00:25:30
ya he construido la primera parte
00:25:32
de la línea, que es este número, y ahora tengo que imprimir
00:25:35
todo esto, ahora ya, lo que imprimo
00:25:36
después, depende de la línea
00:25:38
en la que esté y depende de esta manera
00:25:40
pues si estoy en la 1
00:25:42
parto desde la 1
00:25:44
y el incremento es 1, pero si estoy
00:25:46
en la 2, parto desde la 2
00:25:48
y el incremento es 2, entonces la idea
00:25:50
siempre es encontrar una relación
00:25:52
entre el número de fila
00:25:54
en la que estoy, que esa es la que tiene el for dentro
00:25:56
el número de fila, y lo que quiero
00:25:58
imprimir, pues aquí la primera relación
00:26:00
que se me ocurre es esa, parto
00:26:02
desde la fila en la que estoy
00:26:04
y voy imprimiendo los sucesivos números
00:26:06
con incrementos iguales
00:26:08
precisamente al número de fila en la que estoy
00:26:10
pues entonces
00:26:12
esto dicho así, quedaría
00:26:14
ahora tengo que hacer
00:26:16
el for, y este for
00:26:20
parto
00:26:25
Desde la fila en la que estoy
00:26:29
Si estoy en la fila I
00:26:31
Pues parto desde I
00:26:35
¿Cuántas impresiones tengo que hacer?
00:26:36
Tengo que hacer
00:26:43
10 impresiones
00:26:44
Pues desde J menor que
00:26:47
I más 10
00:26:50
Si me estoy cogiendo los límites
00:26:53
Luego uno lo retoca cuando lo haga
00:26:55
¿Vale? Por no ponernos ahora a pensar
00:26:56
Y ahora
00:26:59
Tengo que hacer 10 impresiones
00:27:00
J más más
00:27:02
Con esto hago 10 impresiones
00:27:04
¿Y qué es lo que imprimimos?
00:27:06
Sí, para que me haga 10 justas
00:27:13
Pero
00:27:15
Ay, perdón, perdón, perdón
00:27:16
Claro, estaba centrada en la esta
00:27:19
Vale, entonces
00:27:20
J vale 2, 3
00:27:22
Pues esto puedo partir
00:27:24
Como sería lo más fácil
00:27:27
O lo puedo hacer J más igual I
00:27:29
Y así concateno la J directamente
00:27:35
Porque el incremento es el número de fila
00:27:38
J más igual I
00:27:40
Y ahora tengo que cambiar ese otro límite
00:27:42
Línea más igual
00:27:43
J más
00:27:46
Pues dos espacios
00:27:49
Y ahora este N me cambiará
00:27:52
Como J lo voy incrementando de I en I
00:27:56
Será de i más
00:28:00
Puede que haya acertado con esto
00:28:02
Con los límites, puede ser
00:28:05
Si me he pasado o no he llegado
00:28:06
Lo podemos arreglar
00:28:08
Lo que nos importa ahora es entender la idea
00:28:09
¿Vale?
00:28:10
Así, vale
00:28:18
Entonces
00:28:19
Puede ser, por eso digo que no
00:28:20
El límite este es el que lo he escrito así
00:28:23
Cogido por los pelos
00:28:25
Ahora cuando lo ejecutemos vamos a probar a
00:28:27
Vale, por ahora vamos a entender
00:28:29
la idea, es como mi primera aproximación
00:28:32
así a lo bestia, mi primera aproximación
00:28:34
luego ya podemos ir retocando
00:28:36
¿vale? pero la primera aproximación es
00:28:37
tantas filas como
00:28:40
N mayúscula, ¿vale?
00:28:42
esto, si se
00:28:47
si se pudiera
00:28:48
esto poner en la tablita
00:28:50
aquí al lado
00:28:54
vale, pues
00:28:55
esto queda
00:29:10
vale
00:29:15
tantas filas
00:29:17
como n mayúscula
00:29:22
vale, si n es 10, 10 filas
00:29:25
tantas filas, en cada fila
00:29:27
que hacemos, lo primero que estoy
00:29:29
concatenando a la línea final
00:29:30
a la que me ha faltado imprimir, que ahora imprimiré
00:29:32
lo primero que concateno a la línea final
00:29:34
es el número de fila
00:29:37
1, 2, 3, 4, lo primero que concateno
00:29:39
y ahora, me pongo a ir haciendo
00:29:41
concatenaciones acumulativas
00:29:43
con los números que van
00:29:45
desde el número de fila en la que estoy
00:29:47
si estoy en la fila 1
00:29:49
empezaré a acumular desde el 1
00:29:51
si estoy en la fila 2
00:29:52
empezaré a acumular desde el 2
00:29:54
pues voy haciendo concatenaciones acumulativas
00:29:56
donde empezando desde el número de fila
00:29:59
voy concatenando los números
00:30:01
con un incremento entre sí de i
00:30:04
porque si estoy en la fila 1
00:30:06
el incremento entre sí es 1
00:30:07
si estoy en la fila 2
00:30:09
el incremento es 2
00:30:10
luego j se va incrementando
00:30:11
tantas veces como número de fila en la que estoy
00:30:14
y esto es lo que he hecho un poco
00:30:17
entre
00:30:18
porque esto
00:30:19
un poco a ojo, o sea, yo lo que quiero es que esto
00:30:22
se ejecute exactamente
00:30:24
n mayúscula veces, no sé
00:30:26
si con esto se me va a ejecutar n mayúscula veces
00:30:28
uno menos o uno más, pero bueno
00:30:30
siempre se puede retocar
00:30:32
¿no? porque
00:30:34
está igual ahí
00:30:35
bueno, vamos a probarlo directamente
00:30:38
a ver que sale
00:30:41
y
00:30:41
y si nos hemos equivocado en el límite
00:30:43
que casi seguro, pues me decís
00:30:46
cómo arreglarlo, a ver
00:30:48
y ahora ya que tenemos la línea construida
00:30:50
la imprimimos
00:30:53
la línea ya está construida, la imprimimos
00:30:54
y luego pasamos a la siguiente
00:30:57
a ver que nos saca
00:30:59
esto, vamos a ver
00:31:01
que nos saca esto, vamos a
00:31:03
darle primero
00:31:08
algo más pequeñito, 5
00:31:10
podemos acertar la primera, no me puedo creer
00:31:12
la intuición
00:31:14
vale, entonces
00:31:16
pues sí, hace la tabla correctamente
00:31:18
salvo que el formato nos ha quedado feo
00:31:20
porque claro, al poner dos espacios
00:31:22
siempre, en cuanto pasamos de una cifra
00:31:24
a dos
00:31:26
que lo vuelva a ejecutar con
00:31:26
diez
00:31:30
pues sí, me hace la tabla
00:31:30
con
00:31:34
pero me la ha descuadrado un poquito
00:31:35
¿vale?
00:31:38
pero bueno
00:31:41
esto era de alguna manera lo que se pedía
00:31:42
ahora ya que se quede cuadrado
00:31:44
no es tan sencillo
00:31:46
Porque para que se quede cuadrado, lo que se convierte en variable ahora es el número de espacios que yo concateno aquí en cada concatenación.
00:31:48
Que lo tendré que calcular en función del número de filas que tenga.
00:31:58
Claro, en función del número de filas que tenga y de las cifras que tenga el numerito.
00:32:04
es un trabajo que podéis
00:32:09
pensar y hacer
00:32:13
porque esta concatenación
00:32:14
el número de espacios
00:32:17
pues hay que construirla con concatenaciones
00:32:18
de espacios dependiendo de las cifras
00:32:21
que tenga el número y del número de filas que tenga
00:32:23
es un poco
00:32:25
farragoso, no es que sea difícil
00:32:27
pero es lioso
00:32:29
entonces bueno, si alguien tiene curiosidad que lo haga
00:32:30
pero sobre todo el objetivo era jugar
00:32:33
con los form anidados
00:32:35
con diferentes índices
00:32:37
este for
00:32:39
tira del índice
00:32:42
de la de arriba, el de arriba me dice
00:32:44
la fila en la que estoy
00:32:46
y abajo dependo
00:32:47
de la fila en la que estoy pues para hacer
00:32:50
las cosas
00:32:52
pero para cualquier cantidad
00:32:53
dando un espacio donde aquí en vez de 2,1
00:33:04
supongo que dependerá también del
00:33:05
número de
00:33:11
variables que
00:33:12
claro del dato que le des
00:33:14
Claro, si le doy el 3
00:33:16
Ah, bueno, si le doy el 3
00:33:19
Y aquí también pongo
00:33:22
Un espacio, que era aquí, ¿no?
00:33:23
El número de línea
00:33:28
Claro, si le doy el
00:33:29
Claro
00:33:33
Aquí como no me salto nunca de las cifras
00:33:34
Claro
00:33:37
Pero en cuanto ya en una ya me salgan cifras de 2 aquí
00:33:38
Ya la he liado
00:33:41
En cuanto aquí me salgan ya
00:33:43
En el 6
00:33:45
Aquí ya se empiezan a descuadrar
00:33:46
En cuanto haya
00:33:49
Vale
00:33:50
Más cosillas
00:33:51
Que me quedan 46 minutos
00:33:58
De batería, así que
00:34:01
Fijaos todo el tiempo que tenemos
00:34:02
Venga, algún otro ejercicio, o arrancamos con los de Arraiz
00:34:04
Con el listado de Arraiz
00:34:09
Bueno, pues estos tratad de
00:34:10
hacerlos, dudas que tengáis
00:34:20
las decís, etc
00:34:23
vale, vamos a
00:34:24
parar aquí
00:34:26
- 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:
- 4
- Fecha:
- 12 de noviembre de 2025 - 18:59
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 34′ 27″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 318.14 MBytes