Saltar navegación

20241025 ProgrEstruct-Bucles-ejercicios_11 - 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 27 de octubre de 2024 por Raquel G.

13 visualizaciones

Descargar la transcripción

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
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

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid