20251031 EjerBucles_6 - 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 este dice lo de multiplicar los 10 primeros números impares, ¿vale?
00:00:00
Entonces, vale, pues a ver, entonces, esta es una multiplicación acumulativa.
00:00:11
Aquí el acumulador es, el acumulador de la multiplicación, llamémoslo como sea, sería este.
00:00:25
E igual que la sentencia, la estructura lógica de la suma acumulativa, pues sería suma más igual, el sumando que sea, ¿vale?
00:00:32
Y aquí este bucle se ejecuta tantas veces, como sumas tenga que hacer, ¿vale?
00:00:53
Pues aquí no es una suma acumulativa, sino un producto acumulativo.
00:00:59
Luego la operación no será suma más igual, sino que la operación será esta, ¿verdad?
00:01:07
La operación aquí será esta.
00:01:14
Y aquí será el factor que voy multiplicando.
00:01:16
Entonces, estoy haciendo muchas multiplicaciones acumulativas.
00:01:21
Primero multiplico por ese factor que veré cómo lo genero y el resultado vuelve a caer en producto.
00:01:25
Siguiente iteración, vuelvo a multiplicar el resultado obtenido por el siguiente factor que habrá que ver cómo lo genero
00:01:32
y vuelve a caer en producto y así todo el rato.
00:01:39
Entonces, esta será la estructura de un producto acumulativo.
00:01:42
aquí hay cosas que completar
00:01:46
valor inicial de esta variable
00:01:49
el acumulador de la suma
00:01:51
el valor inicial es 0
00:01:53
el acumulador
00:01:55
del producto, su valor inicial
00:01:57
¿cuál será? 1
00:01:59
¿vale?
00:02:02
el valor inicial
00:02:03
del acumulador de la suma es 0
00:02:06
porque inicialmente le sumas al 0
00:02:07
para que te quede el primer sumando
00:02:09
a lo que te de luego ya sumas el siguiente
00:02:11
entonces ahora estamos multiplicando
00:02:13
para que la primera
00:02:16
multiplicación te dé el primer
00:02:17
operando, tendrás que multiplicar
00:02:20
por 1, ¿no?
00:02:22
Luego, la primera
00:02:25
multiplicación acumulativa multiplica
00:02:26
por 1 el primer factor
00:02:28
y te queda ese primer factor, claro.
00:02:29
La siguiente
00:02:33
multiplicación ya
00:02:34
a lo anterior te multiplica
00:02:36
el segundo factor,
00:02:37
¿vale? La siguiente
00:02:40
multiplicación a lo que te había dado
00:02:45
de antes te multiplica el siguiente
00:02:47
factor, entonces aquí ya que nos falta
00:02:49
ver como vamos generando los
00:02:51
factores, entonces aquí
00:02:53
que me dice el programa, el programa me dice
00:02:55
que tienen que ser
00:02:57
tiene que ser
00:02:58
los 10 primeros números
00:03:00
impares, luego los
00:03:03
factores tienen que ir siendo
00:03:05
los factores tienen que ser
00:03:07
uno en la primera iteración
00:03:14
y en la siguiente iteración
00:03:19
tres, y en la siguiente cinco
00:03:21
y en la siguiente siete
00:03:23
y en la siguiente nueve
00:03:25
en la siguiente 11
00:03:27
¿vale?
00:03:30
entonces, ¿cómo podemos ir generando
00:03:33
estos números impares?
00:03:35
¿mediante qué bucle?
00:03:38
vale
00:03:40
entonces
00:03:40
mi factor
00:03:41
por ejemplo
00:03:45
va a ser este, el que yo voy a ir generando
00:03:46
entonces este es un bucle que se va a hacer
00:03:50
exactamente 10 veces
00:03:52
porque tengo que hacer
00:03:54
10 multiplicaciones
00:03:56
Tengo que multiplicar los 10 primeros números impares
00:03:57
Luego tengo que generar 10 factores
00:04:00
Luego sé que este bucle se va a hacer exactamente 10 veces
00:04:04
Porque me tienen que llegar 10 factores
00:04:08
Ya veré cómo me llegan
00:04:11
¿Vale? Pues entonces este bucle
00:04:12
Como es un bucle que se va a hacer exactamente 10 veces
00:04:14
Pues ya puedo cascar esto tranquilamente
00:04:17
¡Hala! Ya tengo un bucle que se hace exactamente 10 veces
00:04:19
Ya no tengo que pensar más
00:04:29
¿Vale? Porque tengo que hacer 10 multiplicaciones
00:04:30
¿Qué es lo que me falta ya por completar?
00:04:33
Oye, ¿y estos factores tú cómo los vas generando?
00:04:37
Bueno, pues el primero tiene que ser el 1
00:04:39
Pero luego ya el siguiente tiene que ser el 3
00:04:41
Y el siguiente tiene que ser el 5
00:04:44
Venga, pues vamos a iniciar factor a 1 para que el primero sea el 1
00:04:46
Y ahora ya a factor le vamos sumando 2 cada vez
00:04:51
y ya está
00:04:56
y ya tenemos el programa hecho
00:04:59
¿vale?
00:05:01
entonces, varias cosas dentro de las cosas
00:05:05
que ya se supone que vamos
00:05:08
almacenando en la cabeza, varias cosas que hemos
00:05:10
incorporado para formar
00:05:12
el programa total
00:05:14
primero, el concepto de acumulador
00:05:15
aquí no estamos acumulando
00:05:17
en una suma
00:05:20
¿vale? no es como
00:05:21
este
00:05:22
ejercicio de aquí
00:05:24
que era una suma acumulativa
00:05:27
el acumulador empieza siendo 0
00:05:28
y hacemos la suma acumulativa
00:05:30
donde voy acumulando los factores
00:05:33
aquí es lo mismo pero en producto
00:05:34
vale, pues esto como ya lo sabemos
00:05:37
ya sabemos que mi programa
00:05:39
será un acumulador
00:05:41
que como este caso
00:05:43
es multiplicación empieza siendo 1
00:05:45
y sobre ese acumulador voy acumulando
00:05:46
los factores, vale
00:05:49
siguiente cosa
00:05:50
¿cuántos factores acumulo? o lo que es lo mismo
00:05:52
¿cuántas veces hago esta operación?
00:05:55
¿10 veces?
00:05:57
pues venga, vamos a hacer un bucle for que se ejecute
00:05:58
10 veces, porque la hago 10 veces
00:06:01
pues un bucle for que se haga 10 veces
00:06:03
y ya que nos faltaba
00:06:04
veme dando los factores
00:06:06
¿cómo? pues vamos a pensar si tienen que ser
00:06:08
1, 3, 5 y 7
00:06:11
pues que empiece siendo 1 y les voy incrementando en 2
00:06:12
¿vale?
00:06:15
son diferentes
00:06:17
ladrillos que vamos construyendo para hacer
00:06:18
el programa total
00:06:21
y ahora ya mi resultado ya podría ser
00:06:22
el
00:06:25
producto es
00:06:27
pues este
00:06:29
este sería el producto de los
00:06:31
10 primeros números impares
00:06:33
¿vale?
00:06:34
otra versión, por ejemplo
00:06:54
otra versión
00:06:56
vamos, que en la que
00:07:01
nos ahorramos variables
00:07:04
vamos a ahorrarnos esta
00:07:05
variable factor, bueno
00:07:08
con un if, si yo voy incrementando de uno en uno
00:07:11
yo lo hago con el if, vale, pero bueno
00:07:13
meto más código
00:07:15
sí, pero me la puedo quitar
00:07:16
también sin necesidad de meter un if
00:07:20
vale, pero sí, vale, vamos a quitarnos
00:07:21
esta variable, entonces
00:07:24
si me quito esta variable
00:07:25
no me queda más remedio que
00:07:27
tratar de sacar el factor
00:07:29
a partir del i
00:07:32
porque aquí dentro sí que tengo el i disponible
00:07:33
aquí dentro está mi i disponible
00:07:35
y yo sé, voy a copiar
00:07:37
este mismo código
00:07:39
vamos a volver a inicializar
00:07:41
factor a 1, ah no, que me quito
00:07:46
la variable, la que quería quitarme era factor, perdón
00:07:50
la que tengo que inicializar a 1 es esta
00:07:52
vamos a volver a inicializarnos en la acumuladora
00:07:54
a 1, y ahora, esta variable
00:07:56
factor
00:07:58
me la quiero quitar
00:07:58
¿vale? entonces
00:08:00
yo quiero
00:08:04
ir generando
00:08:06
esto de aquí, lo quiero ir generando
00:08:07
a partir de una variable que ya tengo
00:08:10
como ya la tengo, voy a usarla
00:08:12
tengo mi variable i, que vale
00:08:13
0, 1, 2, 3
00:08:16
sé que va valiendo eso
00:08:18
la primera iteración
00:08:19
i vale cero
00:08:21
la segunda i vale uno
00:08:22
la tercera i vale dos
00:08:24
entonces vamos a utilizar ese i
00:08:26
para a partir de él
00:08:29
construir este factor
00:08:30
entonces cuando i valga cero
00:08:32
yo quiero poner aquí
00:08:34
algo que me valga uno
00:08:37
en función de i
00:08:38
pero cuando i valga uno
00:08:39
quiero que esta expresión
00:08:41
en función de i me valga tres
00:08:43
y cuando i vale dos
00:08:44
quiero que esta expresión
00:08:47
en función de i valga 5. Si os ocurre una expresión que a partir de i me vaya construyendo 1, 3, 5 y 7,
00:08:48
es decir, si os ocurre una expresión que cuando i sea igual a 0 me devuelva el número 1 y cuando i sea
00:08:57
igual a 1, que es en la siguiente iteración, me devuelva el número 3 y que cuando i sea igual a 2,
00:09:07
que sería la siguiente iteración
00:09:15
el que me devuelva sea el 5
00:09:17
y así sucesivamente
00:09:20
porque si encuentro una expresión
00:09:22
en función de i
00:09:28
que para estos valores de i
00:09:29
me vaya devolviendo estos factores
00:09:31
pongo esa expresión ahí y ya está
00:09:32
y no necesito una variable adicional
00:09:34
si os ocurre alguna expresión
00:09:36
que pueda poner ahí en función de i
00:09:41
que para i cero me genere uno
00:09:42
para i uno me genere tres
00:09:44
para i dos me genere cinco
00:09:46
tiene que ser una función lineal
00:09:48
Porque el incremento es lineal, luego no puede ser cuadrática
00:09:53
Tiene que ser en términos de i, no de i cuadrado
00:09:55
Porque el incremento es lineal, es 1, 3, 5, 7
00:09:57
No es 1, 3, 9, 28
00:10:00
Bueno, vale
00:10:02
Pero da igual
00:10:08
Sí, vale
00:10:09
Pero vamos a esto
00:10:15
Y cambiando el límite superior sería
00:10:17
Tendrías que cambiar las tres cosas
00:10:19
Y también este límite
00:10:21
Que en lugar de 10 te llegara 20
00:10:22
¿vale? pero vamos a
00:10:24
completar esta versión primera
00:10:26
¿vale? entonces
00:10:28
¿se os ocurre
00:10:30
alguna expresión?
00:10:32
tiene que ser lineal, es decir, en función de i
00:10:36
no de i cuadrado, porque el incremento es lineal
00:10:38
no es un incremento cuadrático
00:10:40
es un incremento lineal, luego tiene que ser
00:10:42
en función de i, no de i cuadrado
00:10:44
¿vale? cuando i es igual
00:10:46
a cero, entonces
00:10:52
hombre, pues la que nos genera
00:10:53
los impares, ¿verdad?
00:10:56
2 por i más 1 es la serie numérica
00:10:57
que genera los impares de toda la vida
00:11:01
y 2 por i la que me genera los pares
00:11:03
cuando i sea igual a 0
00:11:05
esto es 1
00:11:07
pero cuando i sea igual a 1
00:11:09
esto es 3
00:11:12
que es justo lo que quiero
00:11:13
y cuando i sea igual a 2
00:11:14
esto es 5, que es justo lo que quiero
00:11:16
y cuando i sea igual a 3
00:11:18
eso es 7, que es justo lo que creo
00:11:20
quiero
00:11:22
luego esta expresión
00:11:23
cuando iba valiendo
00:11:26
0, 1, 2, 3
00:11:29
me va generando
00:11:30
1, 3, 5, 7
00:11:32
¿vale?
00:11:34
entonces es la serie numérica de los enteros
00:11:38
que necesitamos muchas veces
00:11:40
generar en muchos contextos
00:11:43
¿vale? pues esta versión nos ahorra
00:11:44
la variable factor ¿vale?
00:11:51
otra
00:11:54
y ya si que nos vamos
00:11:54
la que apuntabais por ahí
00:11:56
vamos a usar la propia i
00:12:01
en lugar de poner aquí 2 por i más 1
00:12:04
que sea la propia i
00:12:07
pero para que sea la propia i
00:12:08
para empezar tiene que empezar en 1 efectivamente
00:12:10
y tiene que irse incrementando de 2 en 2
00:12:12
y tiene que llegar
00:12:15
no a 10 sino a
00:12:16
19
00:12:18
¿vale? entonces
00:12:19
otra versión sería, vale, esto mismo
00:12:22
esto mismo
00:12:25
pero, decir, oye
00:12:30
en lugar de ir
00:12:33
multiplicando por 2 por i más 1
00:12:36
con i valiendo 0, 1, 2
00:12:38
que los factores sean la propia Y.
00:12:39
Los factores que se van multiplicando
00:12:42
que sean la propia Y.
00:12:44
Pues entonces tengo que cambiar algo aquí dentro
00:12:46
para que Y vaya siendo
00:12:48
lo que me interesa.
00:12:50
1, 3, 5, 7.
00:12:51
Si los factores quiero que sean la propia Y
00:12:54
y tiene que ser
00:12:56
1, 3, 5, 7, así hasta 19.
00:12:58
¿No hay tu tía?
00:13:00
¿Cómo consigo que Y sean 1, 3, 5, 7?
00:13:01
Pues Y la empiezo
00:13:05
en 1.
00:13:06
en lugar de incrementarla en cada iteración
00:13:06
de 1 en 1
00:13:11
la incremento de 2 en 2
00:13:12
y como quiero
00:13:14
los números sí que van desde 1 hasta 19
00:13:17
que serían los 10 primeros impares
00:13:20
o hasta 21, no lo sé
00:13:22
para que fueran los 10 primeros
00:13:23
sería hasta 21 supongo
00:13:26
pues mientras y sea menor
00:13:27
que 22
00:13:30
y así
00:13:31
con este pequeño cambio en el for
00:13:33
con este pequeño cambio
00:13:36
el i empieza en 1
00:13:37
en la siguiente iteración ya va a ser 3
00:13:39
y en la siguiente va a ser 5
00:13:42
así hasta 21, que sería el último que quiero
00:13:44
multiplicar
00:13:46
pues consigo que mis factores
00:13:47
sean directamente la i
00:13:50
¿vale?
00:13:51
luego hemos hecho
00:13:56
revisando
00:13:57
hemos identificado que había que hacer
00:13:59
una multiplicación
00:14:02
acumulativa, es decir, ir multiplicando factores
00:14:04
que es esto
00:14:07
Ir multiplicando factores
00:14:08
Esa es la sentencia clave
00:14:11
Una multiplicación acumulativa
00:14:13
Sobre el acumulador prot
00:14:15
Ahora ya hemos tenido que ir resolviendo lo demás
00:14:17
¿Qué es? ¿Cuántas multiplicaciones hago?
00:14:19
Pues 10
00:14:21
¿Y cómo genero los factores?
00:14:22
Pues por ejemplo así
00:14:25
Pero luego esto admite muchas variantes
00:14:26
¿Vale?
00:14:29
¿Vale? ¿Están claras las tres versiones?
00:14:38
Bueno, pues tratad de completar
00:14:42
Pues lo que podáis
00:14:44
Seguiremos corrigiendo
00:14:45
Algunos cuantos, claro
00:14:48
El 10
00:14:50
Que debería dar como resultado
00:14:54
El 10, el que acabamos de hacer
00:14:56
A ver, yo voy a ejecutar este
00:14:57
A ver lo que da
00:15:02
Pues esto me ha salido a mi
00:15:03
1 por 2 por 3 por 4
00:15:14
¿Qué pasa?
00:15:16
¿Que no te crees que sea esto?
00:15:18
¿Te parece muy gordo?
00:15:20
A ver, no, él no es uno por dos.
00:15:22
O sea, tienes que hacer esta multiplicación.
00:15:26
Uno por tres, por cinco, por siete, por nueve.
00:15:28
Multiplicar los diez primeros números impares.
00:15:31
Es decir, lo que este programa hace...
00:15:34
Uf, a mí sí que me cuadra.
00:15:38
Vamos a hacer una calculadora.
00:15:40
Es que fíjate todas las multiplicaciones que vas haciendo.
00:15:41
Vamos a hacerlo en calculadora.
00:15:44
Aquí.
00:15:46
1 por 3 por 5 por 7 por, ya voy por 105, por 9 por 11 por 13.
00:15:47
Mira, esto crece a velocidad cuadrática.
00:16:07
Por 13, por 15.
00:16:09
No, los 10 primeros números impares.
00:16:13
son 1, 3, 5
00:16:16
hasta el 21 llegamos
00:16:17
claro, o sea
00:16:19
podemos seguir multiplicando y vamos a llegar a ese
00:16:21
número
00:16:23
bueno, de hecho es que lo hemos desbordado
00:16:24
por eso nos ha, yo creo que ha desbordado
00:16:27
y por eso nos da más pequeño de lo que es
00:16:29
sí
00:16:31
¿cuál de
00:16:34
las versiones que hemos hecho?
00:16:36
¿cuántas?
00:16:38
- 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:
- 3
- Fecha:
- 3 de noviembre de 2025 - 10:27
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 16′ 41″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 57.80 MBytes