20241025 ProgrEstruct-Bucles-ejercicios_11 - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Venga, pues por ejemplo, hemos dicho vamos a hacer este de aquí, vale, vamos a hacer este de aquí, que como ya nos suena el procedimiento de sacar las cifras decimales, no se nos va a hacer tan conflictivo, como el de ayer de los asteriscos, que os dio un poquito así más de angustia.
00:00:00
Vale, pues venga, ejercicio 20.
00:00:19
¿Y tú de qué conoces a este que tienes al lado?
00:00:25
Bueno, no deis más detalles
00:00:27
A ver, Miguel
00:01:01
tú no puedes decir nada, ¿vale?
00:01:02
ni ayudarle en nada, porque tiene que pensar
00:01:04
él, obviamente
00:01:06
pues porque llueve
00:01:07
fuera
00:01:12
esencialmente porque llueve fuera
00:01:12
venga
00:01:15
qué bonito
00:01:21
qué iluminado, además
00:01:30
vale
00:01:31
venga, ejercicio
00:01:35
de las cifras decimales
00:01:37
que este
00:01:39
le vais a poder hacer
00:01:41
solos quien no lo haya hecho
00:01:43
vale
00:01:57
vale, pues nosotros
00:01:58
Nosotros ya habíamos hecho
00:01:59
Ya habíamos hecho
00:02:02
Cuando teníamos un número
00:02:03
Que nos decían exactamente
00:02:06
Las cifras que tenía
00:02:08
Tiene 3
00:02:09
O tiene 4
00:02:11
Cuando nos decían exactamente las cifras que tenía
00:02:13
Sabíamos sacar las cifras decimales
00:02:16
Porque hacíamos estas operaciones
00:02:18
Vamos a suponer que este numerito
00:02:20
Le llamamos n
00:02:22
Supongo que le llamamos n
00:02:24
Hacíamos el resto de dividir
00:02:25
N entre 10
00:02:29
Con esto ya teníamos la primera cifra decimal
00:02:29
Las unidades
00:02:33
Pero teníamos que seguir sacando cifras
00:02:35
¿Qué hacíamos?
00:02:39
Bueno, pues con el cociente
00:02:40
De n entre 10
00:02:41
Que entonces era esto
00:02:44
Con el cociente de n entre 10 que era esto
00:02:45
Volvíamos a hacer el resto
00:02:48
De dividirlo entre 10
00:02:50
Y con esto sacábamos la segunda cifra
00:02:52
Ahora, la tercera cifra
00:02:55
Si extendemos el proceso
00:02:59
La tercera cifra sería
00:03:02
Pues con el cociente
00:03:04
De haber dividido esto entre 100
00:03:07
O lo que es lo mismo
00:03:09
De haberlo dividido entre 10 dos veces
00:03:11
Volvíamos a dividirlo entre 10
00:03:13
Y con esto sacábamos
00:03:17
Perdón, volvíamos a hacer el resto
00:03:20
Y con esto sacábamos la tercera cifra
00:03:22
¿Verdad?
00:03:24
Imaginaos que tenemos
00:03:27
Más cifras
00:03:28
pues sería repetir esto mismo
00:03:30
una cuarta vez
00:03:32
en entre 10
00:03:35
entre 10 otra vez y entre 10
00:03:37
o lo que es lo mismo entre 1000 ahora
00:03:39
entre 1000 ahora y ahora
00:03:41
el resto de esto entre 10
00:03:43
con esto sacábamos la cuarta cifra
00:03:45
¿vale?
00:03:47
entonces, aunque nosotros
00:03:51
lo aplicamos
00:03:53
uy, ¿ahora qué ha pasado?
00:03:54
que lo habéis dejado sin sitio
00:03:58
vale
00:04:00
Entonces, esta operación ya la entendimos en su momento.
00:04:01
el resto de 321 entre 10 es 1
00:04:27
y el cociente 32
00:04:30
vale, pues 32
00:04:32
vuelvo a hacer resto entre 10, me da 2
00:04:34
y el cociente me ha quedado 3
00:04:36
¿vale?
00:04:38
pues ese cociente vuelvo a hacerle
00:04:40
resto entre 10
00:04:42
y ya me da el 3
00:04:43
que son 4 cifras
00:04:45
es volver a hacer esto
00:04:48
pues estas operaciones en concreto ya las entendimos
00:04:49
en su momento, de lo que ahora nos damos
00:04:52
cuenta, es que esto lo podemos
00:04:54
extender a todas las cifras
00:04:56
decimales que nos den la gana
00:04:58
porque el patrón se repite y estamos haciendo
00:05:00
varias veces lo mismo
00:05:02
es decir, estamos haciendo varias veces
00:05:04
¿el qué?
00:05:06
un resto entre 10
00:05:09
pero en cada iteración, veamos ahora
00:05:10
cada una de estas líneas como una iteración
00:05:13
en cada iteración
00:05:15
la variable por la que
00:05:16
hacemos el resto se va a modificar
00:05:18
¿sí?
00:05:20
sentarte ya no te
00:05:22
pero vas al 5
00:05:23
sí, su sitio está intacto
00:05:25
venga
00:05:28
entonces, os dais cuenta
00:05:30
de entendidas estas operaciones
00:05:32
que asumo que las entendemos, que realmente
00:05:34
estas operaciones nos dan las cifras
00:05:36
ahora ya vemos que esto lo podemos
00:05:37
programar con un bucle, ¿verdad?
00:05:40
en cada iteración hago el resto
00:05:42
entre 10, pero claro
00:05:44
de lo que hago el resto entre 10
00:05:45
lo voy variando
00:05:48
cada vez, entonces esto lo podré
00:05:50
plantear como una variable
00:05:52
x, como una variable x que empieza
00:05:54
siendo n
00:05:56
¿vale? entonces
00:05:56
esa variable x que empieza siendo n
00:05:59
la meto en el bucle
00:06:01
en el cual estoy continuamente haciéndole el resto
00:06:03
entre 10, pero dejo x
00:06:06
dividida entre 10 para que
00:06:07
cada iteración
00:06:09
sea una división entre 10 más
00:06:11
pues ya está, entonces ahora ya
00:06:13
programamos esto
00:06:15
y nos quedaría algo así
00:06:16
esto es hacer
00:06:19
varias veces algo
00:06:21
while no sé qué
00:06:22
la condición siempre la podemos dejar abierta
00:06:24
para terminar ya
00:06:27
la versión final
00:06:29
pero ya hemos
00:06:30
identificado que esto es hacer varias veces
00:06:33
algo, Pedro
00:06:35
ya, pero no mientras hablo yo, debate luego
00:06:36
vale, entonces ya hemos identificado que esto
00:06:41
es hacer varias veces algo
00:06:43
ese varias veces es dividir
00:06:44
un valor, perdón, dividir no
00:06:47
hacer el resto de un valor entre 10
00:06:49
vale, luego esto será esto en realidad
00:06:51
si las vamos mostrando
00:06:54
x por 110
00:06:57
la primera vez
00:07:02
mostraremos la primera cifra
00:07:04
la segunda vez mostraremos la segunda
00:07:05
pero claro, este x
00:07:08
empieza valiendo n
00:07:10
este x empieza valiendo n
00:07:11
para que la primera vez hagamos esto
00:07:14
pero lo tengo que dejar dividido
00:07:15
entre 10 para que de una vez a otra
00:07:18
incorpore una división más entre 10
00:07:20
entonces no pasa nada
00:07:22
hacemos esto
00:07:24
y ya está
00:07:25
y ya tenemos el programa hecho
00:07:27
a falta de la condición
00:07:30
entonces
00:07:31
esta es la programación de esto
00:07:33
varias veces hacemos el porciento
00:07:35
¿de qué?
00:07:39
de una variable que empieza siendo n
00:07:39
y en cada iteración
00:07:41
la divido entre 10
00:07:43
de esta a esta una división por 10
00:07:45
pero de esta a la siguiente
00:07:48
incorporo otra división por 10
00:07:50
y de esta a la siguiente incorporo otra división por 10
00:07:51
y si este bucle se ejecuta
00:07:54
mil veces, en caso de tener un número
00:07:57
de mil cifras, pues me sacará las mil cifras
00:07:59
decimales, empezando por las unidades, claro
00:08:01
¿vale?
00:08:03
aquí lo único que nos falta es
00:08:06
oye, ¿y hasta cuándo estoy haciendo eso?
00:08:08
yo diría que es
00:08:11
n.lent
00:08:13
más uno
00:08:14
a ver, podemos fijarlo de muchas maneras
00:08:15
efectivamente, o calcular
00:08:18
leer el numerito
00:08:21
y calcular las cifras que tiene
00:08:22
que eso convirtiendo la string y contando
00:08:24
ya lo tendríamos, y sabemos que este
00:08:26
bucle se tiene que hacer tantas veces
00:08:28
como me diga esa
00:08:30
cantidad
00:08:31
entonces con un contador, o incluso podría meterlo
00:08:34
en un for, como sé exactamente
00:08:36
las cantidades de veces que se tiene que hacer
00:08:38
que es el tamaño del numerito, pues lo podría
00:08:39
meter en un for, ¿verdad? Esa es una manera
00:08:42
Otra manera
00:08:44
¿Qué ha ocurrido
00:08:46
en la última iteración?
00:08:48
En la última iteración
00:08:50
el cociente ya se ha quedado valiendo
00:08:52
cero, ¿verdad?
00:08:54
Sí.
00:08:56
Porque ya lo único que me ha dado es el resto.
00:08:58
Entonces,
00:09:03
que la última operación sea cero,
00:09:03
¿verdad?
00:09:06
Que el último cociente sea cero, es decir, mientras
00:09:07
x sea mayor que cero.
00:09:09
¿Vale? Porque
00:09:13
en la última cifra, al dividirlo entre
00:09:13
10, ya se me va a quedar
00:09:15
cero.
00:09:17
Bueno, es más
00:09:19
cómodo que hacer un for,
00:09:21
pero en realidad es lo mismo, que
00:09:24
lo que vosotros decíais lo podemos hacer así el numerito n
00:09:25
lo convertimos en un string y hasta que claro lo convertimos en un string así
00:09:30
y ahora nos hacemos
00:09:40
y ahora ya hacemos
00:09:45
Desde i igual a cero, mientras i sea menor que ese punto, incrementando i, pues ya está.
00:09:48
Este bucle se va a hacer exactamente una vez por cifra decimal, ¿no?
00:10:02
Porque cifras decimales, ¿cuántas hay?
00:10:07
Estas cifras decimales.
00:10:09
Bueno, a ver, estamos asumiendo que es positivo todo el rato.
00:10:11
Si es negativo, pues habría que hacer una pequeña modificación, pero bueno, nos da igual.
00:10:14
vale, pues ya está, se queda en este
00:10:17
programita de
00:10:20
vale, o sea
00:10:21
esto es así realmente
00:10:23
porque lo estoy haciendo
00:10:26
un poco en piloto automático y no lo acabo
00:10:28
de ver, pero sí, es así, ¿verdad?
00:10:30
sí, puede ser
00:10:32
no, puede ser no, vamos a verificarlo
00:10:33
imaginamos que tiene tres cifras
00:10:35
321, por ejemplo
00:10:38
la primera vez
00:10:40
me da 32.1 y esto
00:10:42
sigue habiendo 32
00:10:44
la segunda vez me da
00:10:44
2, 3
00:10:47
y esto se queda valiendo 3
00:10:49
la tercera vez me da 3, 0
00:10:50
y esto se queda valiendo 0
00:10:52
luego efectivamente yo creo que es así
00:10:53
cuando el cociente esto ya ha llegado a ser 0
00:10:56
entonces
00:10:59
ya no tengo más divisiones
00:11:01
vale
00:11:03
lo habéis escrito y funciona
00:11:06
por si acaso hemos escrito algo mal
00:11:09
A ver, vamos a
00:11:11
A ver si hemos metido la pata en algo
00:11:17
Vale, a ver, ejercicio 20 era
00:11:22
Venga, pues entonces, leíamos el numerito. Claro, es que no tenemos otra... Ahora mismo no tenemos otra... Dime. Ay, perdón, perdón.
00:11:54
Te había oído desde el primer profe, pero es que no... Pero haces bien en seguir insistiendo. A ver.
00:12:14
Te va un poco mal
00:12:31
A ver, pero las cosas o van mal o bien
00:12:34
Un poco solo
00:12:37
No puede ser
00:12:37
Va fatal, ni un poco bien ni un poco mal
00:12:39
Pero vamos a ver
00:12:50
A ver, todos probad la versión del For
00:12:51
Vamos a ver
00:12:53
Aquí, cascando tal cual
00:12:55
Lo que hemos puesto ahí
00:12:59
Hemos puesto una variable
00:13:00
Por esa palabra me castigaron
00:13:01
Por la palabra
00:13:02
Por la palabra
00:13:06
Ayer, ayer
00:13:08
No me abandones
00:13:15
Pues ahora esto viene siendo
00:13:22
Mientras x sea mayor que 0
00:13:25
¿Qué hemos dicho que hacíamos?
00:13:28
mostrar la cifra decimal que toca
00:13:29
que será x por 110
00:13:31
y dejar x
00:13:34
dividido entre 10 para sacar
00:13:36
la siguiente cifra en la siguiente
00:13:38
iteración
00:13:40
vale, y todo esto mientras no
00:13:40
lleguemos a un cociente ya cero
00:13:44
porque entonces habremos sacado ya la última cifra
00:13:45
si hemos llegado a un cociente cero
00:13:47
es que ya era la última
00:13:49
vale, pues
00:13:50
venga, pues le metemos
00:13:55
este
00:14:05
Pues la saca
00:14:06
¿Vale?
00:14:10
Si le metemos uno más pequeñito
00:14:14
Pues, uy, qué he hecho
00:14:16
Pues también, ¿vale?
00:14:18
Es lo más que podemos hacer ahora
00:14:21
Sacarlas en ese orden
00:14:22
Porque para sacarlas de otra manera
00:14:23
Como me van llegando
00:14:26
Primero las unidades, luego no sé qué
00:14:28
Tendría que tener un sitio
00:14:30
Para irlas dejando guardaditas
00:14:31
Y luego mostrarlas al revés
00:14:33
Y ese sitio todavía no lo tenemos
00:14:34
porque tendría que ser un sitio de tamaño variable,
00:14:37
un array, etc.
00:14:39
Entonces, ahora mismo,
00:14:40
nos faltan herramientas para mostrarlo de otra manera.
00:14:41
Pero, en poco tiempo.
00:14:45
Exactamente.
00:14:47
Vale.
00:14:50
Bueno, pues ya está.
00:14:52
Uno identifica en un ejercicio en concreto
00:14:53
que algo lo tiene que hacer varias veces.
00:14:55
Pues ya está, se planta el bucle,
00:14:58
mira si algo que tiene que hacer,
00:15:00
analiza bien qué es lo que tiene que hacer varias veces,
00:15:01
lo analiza bien,
00:15:03
lo pone ahí,
00:15:04
luego, ¿cuántas veces tengo?
00:15:05
Pues en función de eso cambio la condición, etcétera
00:15:07
Y ya está, ¿vale?
00:15:09
Dime
00:15:11
A ver, es que vamos a ver la versión del for
00:15:11
Que es la que tú estás probando, ¿no?
00:15:14
Vamos a
00:15:16
A ver
00:15:17
La ver
00:15:19
Vale, aquí de hecho, antes de hacer la versión del for
00:15:21
Aquí de hecho
00:15:25
Estamos usando, pero porque lo estamos haciendo
00:15:26
En plan robótico
00:15:29
Una variable adicional x
00:15:30
Pero es que ni me haría falta
00:15:32
Podríamos usar la propia variable n
00:15:34
¿Verdad? La propia variable n
00:15:36
Mientras n sea mayor que 0
00:15:38
Muestro n, resto 10
00:15:39
Y dejo n dividido entre 10
00:15:41
¿Vale?
00:15:43
Que ni siquiera habría que usar x
00:15:45
¿Verdad? Está claro, ¿no?
00:15:47
Que la variable x no habría falta ni usarla
00:15:49
Yo la he puesto para que quede más clara
00:15:52
La explicación
00:15:54
Pero una vez visto el código
00:15:55
Dice uno, hombre, ¿para qué usas x?
00:15:57
La propia n
00:15:59
La propia n la usas para el cociente
00:16:00
Y la vuelves a dividir, la propia n
00:16:02
Entonces no usas una variable adicional
00:16:04
Pero bueno, son detalles
00:16:06
Vale, a ver
00:16:08
Entonces nos ponemos aquí
00:16:10
Un string
00:16:12
S que sea
00:16:13
N
00:16:16
A ver
00:16:19
La versión fea, porque esta es la buena
00:16:23
La bonita
00:16:26
Es que usar un string
00:16:26
Innecesariamente
00:16:32
Además, ya sé que os gustan muchísimo
00:16:33
Pero si no hace falta usarlo
00:16:36
¿Para qué se va a usar?
00:16:37
vale, pues entonces
00:16:38
intuimos
00:16:49
que este bucle se tendrá que ejecutar
00:16:50
tantas veces como cifras decimales
00:16:53
porque me saca las cifras decimales
00:16:54
entonces, las cifras decimales es el tamaño
00:16:56
de este numerito
00:16:59
pasado a string, siempre y cuando sea positivo
00:17:01
si es negativo, pues será uno menos
00:17:03
entonces
00:17:04
este bucle se ejecuta
00:17:06
exactamente estas veces, es un bucle que se ejecuta tantas veces
00:17:08
como cifras decimales hay ahí
00:17:13
y el contenido es el mismo
00:17:15
vamos a volver a inicializar x a n porque se ha quedado cambiada de valor, claro
00:17:20
vamos a volver a inicializarlo a n porque aquí ha ido cambiando
00:17:26
x inicializa n, vamos mostrando y patatín, pues venga, vamos a
00:17:30
ver si nos hace dos veces las cifras, la primera versión y la segunda
00:17:35
Le metemos esto
00:17:39
Y lo ha hecho, ¿no?
00:17:44
Dos, dos, tres, cuatro
00:17:47
Pues sí, como podíamos esperarlo
00:17:48
Esto también funciona
00:17:51
¿Vale? Y a ti sigue sin funcionarte
00:17:52
Cachilamar, pues algo raro has hecho
00:17:55
Bueno, Pablo, te dejo que le eches un vistazo
00:17:58
Ahora como Miguel se nos ha ido
00:17:59
Ya no le puedo pedir ayuda
00:18:03
A ver, míralo
00:18:04
La verdad es que si lo encontraras tú solo
00:18:07
Porque será una chorrada
00:18:10
Pero encontrar uno solo una chorrada es como más aprende
00:18:10
¿Qué chorrada era?
00:18:13
Pues entonces no has aprendido, muchacho
00:18:16
Eran las llaves
00:18:18
Que no habías puesto llaves
00:18:20
Con lo cual solo hacías esta
00:18:21
Vale
00:18:23
Vale, una pregunta
00:18:25
¿Por qué todos los jóvenes de hoy
00:18:27
Llamáis a esto corchetes?
00:18:29
¿Os lo llaman así en la ESO?
00:18:31
Es que cuando yo era joven
00:18:34
Esto se llamaba llaves, ¿ya no se llama así?
00:18:36
No se llaman llaves
00:18:37
los que son cuadrados
00:18:39
claro, corchetes son cuadrados, pero es que siempre
00:18:41
no, pensaba que igual había cambiado
00:18:44
la nomenclatura en las últimas
00:18:46
décadas, pero no, se sigue llamando llaves
00:18:48
y corchetes, vale, vale
00:18:50
vale, pues ya está, venga, seguimos
00:18:51
¿qué otro ejercicio?
00:18:55
entonces, ahora ya
00:18:58
bueno, nada, vale, venga
00:18:59
otro ejercicio que os haya
00:19:02
gustado mucho, os haya llamado mucho la atención
00:19:03
os haya dado muchas complicaciones
00:19:06
Yo quiero hacer el de primos.
00:19:07
El de números primos.
00:19:09
¿Cuál has dicho tú, Pablo?
00:19:11
El 30 veces.
00:19:12
La parte B.
00:19:14
Ah, no, no.
00:19:15
Eso lo hacéis vosotros.
00:19:15
Me da pereza.
00:19:16
A ver, os la puedo dar hecha.
00:19:17
Pero a ver,
00:19:19
¿qué es sacar la relación matemática?
00:19:19
No, así ya la tengo.
00:19:21
Ah, pues ya está.
00:19:22
Esto se tiene que hacer en dos partes.
00:19:23
Primero esta parte,
00:19:24
que esta parte ya la hicimos ayer.
00:19:25
Y luego,
00:19:27
otro for que haga la otra.
00:19:28
Porque es una relación distinta.
00:19:30
Entonces, dos for seguidos.
00:19:32
Un primer for que hace esta parte,
00:19:33
que es idéntico del de ayer.
00:19:35
Ah, bueno, sí, claro
00:19:36
pero siendo n
00:19:41
el cociente de dividir entre dos
00:19:42
claro, sí, el cociente de dividir
00:19:45
entre dos, y luego para estas
00:19:47
pues hay otra relación entre el número de espacios
00:19:49
y el número de líneas, entonces dos for
00:19:51
uno tras otro y ya está
00:19:53
claro, similar pero no la misma
00:19:54
pues es poner un for, otro después y ya está
00:19:57
porque sacar
00:19:59
una relación que valga
00:20:01
tanto para cuando vas
00:20:03
disminuyendo asterijos cuando vayas bajando
00:20:04
podrías, pero no sería lineal, es muy
00:20:06
complicadísima, no creo que Pablo lo haya hecho así
00:20:09
habrá hecho dos forseguidos, ¿no? me imagino
00:20:10
claro, pues que si no es una locura, ni siquiera
00:20:12
sé seguro si se podría, pero bueno
00:20:14
vale, pues venga
00:20:16
eh...
00:20:18
si ya lo tenías hecho, me creía que lo hiciéramos
00:20:20
para que sufra el resto
00:20:22
no, pero si van a sufrir igual intentándolo
00:20:23
para hacer de trabajar
00:20:26
bueno, eh...
00:20:27
a ver, entonces, había uno por ahí
00:20:30
con
00:20:32
Números primos
00:20:33
Venga, este
00:20:36
Me gusta este
00:20:40
Como intermedio entre ni muy fácil
00:20:42
Ni muy difícil, pero
00:20:44
Venga, 23
00:20:45
Miguel te ha cambiado
00:20:47
Por nadie además
00:21:11
Quiere trabajar, quiere concentrarse
00:21:14
Está ahí concentrado y no quiere perder tiempo
00:21:17
Eso es mucho más duro
00:21:20
Bueno, a ver
00:21:24
El ejercicio 23
00:21:26
Dice, dato de entrada un número
00:21:27
Bueno, pues tienes que mostrar
00:21:29
Todos los primos inferiores a él
00:21:31
Bueno, pues entonces
00:21:33
Aquí
00:21:35
Aquí lo que tenéis que hacer es como siempre
00:21:36
Pensar siempre modularmente
00:21:41
Lo que decíamos ayer
00:21:43
Venga, cinco minutos
00:21:45
O por ahí lo intentáis vosotros, ¿vale?
00:21:51
El 23
00:21:53
Vale, pero bueno
00:21:54
Lo has intentado
00:21:59
A mí es que me
00:22:00
A ver, cuidado
00:22:02
Lo importante es lo de los cables
00:22:05
Electrocutarse no
00:22:08
Están arreglados
00:22:09
Ah, de mantenimiento
00:22:13
Luciano
00:22:17
Vale
00:22:20
Uh, si lo hizo Luciano yo no lo tocaría
00:22:22
Esto no lo creo
00:22:25
Esto no lo creo, no me sale aún
00:22:25
Está grabando, eh
00:22:29
No lo veo nada
00:22:35
Cállate
00:22:36
- 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:
- 13
- Fecha:
- 27 de octubre de 2024 - 18:22
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 22′ 40″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 523.69 MBytes