20241031 ProgrEstruct-Arrays-ejercicios_5 - 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 el 15 es muy parecido.
00:00:00
Tenemos un array de 10.
00:00:03
Entonces, vamos a desplazarlos todos hacia abajo.
00:00:05
Los 10 números están rellenos.
00:00:10
Entonces diréis, uy, ¿pero qué pasa con el de abajo?
00:00:12
No lo puedo desplazar abajo porque abajo no hay posición.
00:00:14
Me va a decir array in this bound.
00:00:16
Pues el último en el primero.
00:00:18
Sería el funcionamiento de un array circular,
00:00:20
lo que se llama un array circular.
00:00:22
Lo que va saliendo por abajo.
00:00:22
Vale, entonces vamos a hacer un array circular
00:00:25
desplazando solo una posición.
00:00:27
Todos bajan una y el último se coloca el primero.
00:00:30
La generalización de esto sería el ejercicio 16.
00:00:34
Recibes un array, recibes un valor n y te dice,
00:00:37
desplázalos todos hacia abajo n,
00:00:39
pero los que van saliendo por abajo que entren por arriba.
00:00:41
Venga, pues el 15.
00:00:45
Vale, a ver.
00:00:51
Bueno, pues entonces, a ver.
00:00:53
En realidad, este for, ¿dónde estoy?
00:00:56
Estoy en el, este es el 15, ¿verdad?
00:01:03
Vale, este for de aquí
00:01:04
Es igual que el anterior
00:01:07
Es decir
00:01:09
Estoy partiendo
00:01:10
De el penúltimo
00:01:12
Vale, imaginaos que tengo este array
00:01:14
Imaginaos que tengo este array
00:01:16
Entonces, ¿qué estoy haciendo?
00:01:18
Estoy partiendo del penúltimo
00:01:20
Este lo copio aquí
00:01:22
Este lo copio aquí
00:01:23
Este lo copio aquí
00:01:25
Y este lo copio aquí
00:01:27
Es decir, estoy haciendo lo mismo que antes
00:01:29
Ahora es como si pos
00:01:32
Fuera de esta posición, la 1
00:01:34
Pero el bucle es el mismo
00:01:36
Entonces
00:01:37
Estoy copiando
00:01:39
Este en este
00:01:42
Este en este
00:01:43
Este en este
00:01:45
Con lo cual estoy empezando desde la penúltima
00:01:46
Por eso mi for va
00:01:49
Desde aquí, desde números less
00:01:50
Menos 2
00:01:53
Porque estoy en la penúltima
00:01:54
Este for empieza en la penúltima y se copia aquí
00:01:56
Luego en esta y se copia aquí
00:01:59
Así hasta la 2, empieza en la penúltima
00:02:01
mientras sea mayor o igual que cero, decrementando
00:02:03
¿qué ha ocurrido?
00:02:06
que lo que me va a faltar es
00:02:08
el que estaba a la última
00:02:09
ha pasado a la primero
00:02:11
pero claro, lo hemos perdido
00:02:13
porque al hacer este for lo hemos perdido
00:02:15
pero ah, es que antes del for
00:02:17
yo lo guardo en una variable adicional
00:02:19
¿vale?
00:02:21
están buscando piso
00:02:27
y se dirán esos pringados de informática
00:02:28
que están ahí dando clase
00:02:30
eso, vosotros salís y decís
00:02:31
los pringados sois vosotros, ¿qué estáis haciendo gilipollas?
00:02:33
vale, entonces
00:02:36
¿qué ocurre con este for?
00:02:42
este for, muy bien
00:02:45
me los desplaza todos
00:02:47
pero el 12 lo ha tirado a la basura
00:02:48
porque al copiar
00:02:51
el 3 en el 12, el 5 en el 3
00:02:52
los ha desplazado, pero el 12 lo ha tirado
00:02:55
entonces yo ya no puedo asignar
00:02:57
el 12 que tenía aquí al primero
00:02:59
ah, pero es que antes del for
00:03:01
me he preocupado de guardarlo
00:03:03
en una variable auxiliar he guardado el ultimito
00:03:04
el que se queda pisado ahí
00:03:07
entonces lo guardo en una variable auxiliar
00:03:08
ahora ya hago el desplazamiento
00:03:10
y cuando ya he hecho el desplazamiento
00:03:12
el 4 ha pasado aquí, el 6 ha pasado aquí
00:03:14
etcétera, etcétera, cuando ya he hecho el desplazamiento
00:03:16
me falta ya
00:03:18
solamente en la posición 0
00:03:21
guardar el último
00:03:23
que había yo sobrescrito
00:03:24
vale, entonces son
00:03:27
estas tres
00:03:28
guardo el último
00:03:29
porque lo voy a pisar al desplazar
00:03:32
todos los anteriores, lo guardo
00:03:34
para que se quede ahí guardado
00:03:36
ahora hago todo el desplazamiento
00:03:37
empezando desde el penúltimo y acabando aquí
00:03:40
el 4 se quedará
00:03:42
replicado, el 4 se queda
00:03:44
tanto aquí como aquí, claro pero es que
00:03:46
ahora ya me falta el que salió
00:03:48
por la derecha
00:03:50
el 12 que yo guardé aquí
00:03:51
que pise ya el primero
00:03:53
y ya está
00:03:55
entonces este código nos hace
00:03:58
un desplazamiento del array
00:04:04
una posición solo
00:04:06
entonces bueno, si
00:04:07
lo probamos con este
00:04:10
array de aquí
00:04:12
pues efectivamente lo ha movido todo
00:04:13
y el 12 que estaba el último
00:04:19
lo ha metido el primero
00:04:21
vale, era este
00:04:22
los ha desplazado todos
00:04:25
4, 6, 1, 5, 3
00:04:26
y el 12 lo ha metido aquí
00:04:28
¿no está subiendo el array?
00:04:30
sí, sí, sí
00:04:33
Sí, ayer subí los que teníamos hechos hasta ayer
00:04:34
¿Vale?
00:04:37
Sí, es que hasta ayer por la tarde no los subí
00:04:39
Esto es para mostrar solo
00:04:41
Esto de aquí es para mostrar el array
00:04:46
He puesto menos menos
00:04:49
Hombre, claro, es que estoy yendo de
00:04:59
Atrás para adelante
00:05:01
Entonces
00:05:02
el siguiente
00:05:04
sería lo mismo pero hacerlo
00:05:05
n veces
00:05:08
entonces claro, vamos a reutilizar
00:05:09
código, la ventaja de la programación
00:05:12
es que puedes reutilizar código
00:05:14
si todo este código que he hecho aquí
00:05:15
todo esto, es para desplazar
00:05:18
una posición, pues si meto
00:05:20
esto, todo eso, lo meto en un for
00:05:22
que se ejecute 7 veces, entonces estaré
00:05:24
desplazando 7 posiciones
00:05:26
¿vale? por eso la programación es modular
00:05:28
tú tienes un código y lo reutilizas
00:05:30
para que forme parte de otro más grande.
00:05:32
Voy.
00:05:36
Venga, pues vamos a...
00:05:37
- 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:
- 10
- Fecha:
- 3 de noviembre de 2024 - 19:45
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 05′ 40″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 23.26 MBytes