20251112 EjerArrays_1 - 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:
Pues venga, vamos a hacer el 2 de Arrays, entonces esto implica ya que hacemos un proyecto nuevo, a ver, ejercicios de Arrays, ala, esto de negro es muy incómodo,
00:00:01
Venga, a ver, ejercicio 2, pues venga, son y 59, 4 minutos, hasta las 13.04, perdón, no sé ni sumar, pues 5 minutos, hasta las 14.04.
00:00:46
Vale, pues entonces, vamos a leer primero las 5 palabras, como podrían ser 10, 15, 20, y luego vamos a decir, dime una, para ver si esa palabra está.
00:01:21
Entonces, esas palabras que leamos
00:01:33
Las tenemos que conservar todas
00:01:36
Porque luego cuando me den una nueva
00:01:38
Voy a tener que entrar en esa caja
00:01:40
Mirarlas todas una por una
00:01:42
Entonces, para conservarlas todas
00:01:43
Vamos a necesitar guardarlas en un array
00:01:45
¿Cuántas palabras vamos a leer?
00:01:47
Menos mal que me han dicho cinco
00:01:55
Porque si no me hubieran dicho
00:01:57
La cantidad de palabras a leer
00:01:58
Tendría ahora mismo aquí un problema
00:02:00
porque aquí sí que sí tengo que decir el tamaño
00:02:03
ese es el problema de los arrays
00:02:06
que de partida para crear el espacio
00:02:08
hay que comprometer un espacio
00:02:10
y ese espacio una vez comprometido ya es fijo
00:02:12
entonces eso los hace a su vez muy eficientes
00:02:14
pero como es un poco pesado
00:02:20
lo de tener que de partida comprometer el espacio
00:02:23
pues se construyen por encima cosas que simulan
00:02:26
que el espacio es dinámico
00:02:30
Que es mentira
00:02:32
Que ya veremos más adelante con clases y objetos
00:02:33
Vale, pues como me han dicho 5
00:02:37
Pues 5
00:02:39
Ahora ya vamos a leer las palabras y ya está
00:02:39
Vale, ¿cómo recorremos el for?
00:02:42
Pues como siempre
00:03:02
Y ahora, ¿qué hacemos?
00:03:03
A la palabra
00:03:12
Al espacio reservado en la posición i
00:03:13
Le leemos
00:03:15
Le asignamos
00:03:17
Una palabra que leamos
00:03:20
Bueno, ni mensajito de introduzca palabra ni nada
00:03:21
Pero tenemos prisa
00:03:23
Vale, ya tengo todas ahí guardadas
00:03:24
El tenerlas todas guardadas
00:03:26
Ahora me permite acceder a ellas
00:03:28
Para hacer lo que me dé la gana
00:03:30
Por ejemplo, comprobar si alguna de ellas
00:03:31
Es una que voy a pedir ahora
00:03:35
Palabra buscada
00:03:38
Pues venga
00:03:46
La palabra buscada
00:03:48
La leo
00:03:51
Y ahora
00:03:55
¿Qué tenemos que hacer?
00:04:01
Pues vamos a recorrer la raíz entero
00:04:03
palabra por palabra
00:04:05
esto, aunque se va a hacer
00:04:07
aunque es una forma de pensarlo
00:04:10
un poco retorcida
00:04:12
esto sería de nuevo
00:04:13
un ejemplo, aunque sencillo en este caso
00:04:15
de un algoritmo en el cual tengo que ver
00:04:18
si algo pasa o no pasa
00:04:20
entonces si hacemos el algoritmo
00:04:21
al detalle
00:04:24
pues yo de partida voy a asumir que la palabra
00:04:25
no está
00:04:28
es decir, voy a asumir que no está
00:04:29
y ahora voy a mandar
00:04:32
los contraejemplos, que son palabra por
00:04:34
palabra. En cuanto
00:04:36
encuentre que alguna es igual, ya
00:04:38
cambio de idea. Y luego
00:04:40
ya muestro el resultado.
00:04:42
Luego, voy
00:04:45
recorriendo todas las palabras, desde
00:04:46
igual a cero, mientras y sea menor que cinco,
00:04:48
incrementando y.
00:04:51
¿Qué tenemos que hacer?
00:04:53
Vamos a ver si alguna de esas palabras
00:04:54
es un contraejemplo.
00:04:56
O lo que es lo mismo.
00:04:58
Si palabras
00:05:00
de y
00:05:01
punto equals
00:05:04
la palabra que estoy buscando
00:05:06
ahí es donde me llegó el contraejemplo
00:05:10
como ahí me llegó el contraejemplo
00:05:12
ya puedo concluir
00:05:14
que esto se convierte
00:05:16
en falso
00:05:18
¿vale? luego es el algoritmo
00:05:19
genérico para
00:05:22
un programa en el cual quiero ver si algo pasa
00:05:23
o no pasa, de partida hago una asunción
00:05:26
y ahora ya
00:05:28
me pongo a mirar todo el
00:05:30
campo de muestras a ver si alguna
00:05:32
Se convierte en contraejemplo
00:05:34
Y me hace cambiar de idea
00:05:36
Aquí cuál va a ser el contraejemplo
00:05:37
Una palabra de toda mi caja de palabras
00:05:40
Que sea igual que la que me han dado
00:05:42
Bueno, pues una vez que el for ha terminado
00:05:44
Ya, en función de ese boolean
00:05:47
Pues ya está
00:05:48
Si no está
00:05:50
Pues la palabra no está
00:05:53
Y en el caso
00:05:54
Else
00:06:00
Pues la palabra
00:06:01
Sí está
00:06:07
Y ya está, ¿vale?
00:06:10
entonces hemos necesitado
00:06:20
un array porque tengo que tener
00:06:23
todas las palabras
00:06:24
vale, tengo que tenerlas
00:06:26
porque la palabra buscada me está llegando
00:06:28
después
00:06:31
entonces
00:06:31
una vez que las tengo todas guardaditas
00:06:34
ya voy una por una
00:06:36
claro, si a mi el programa
00:06:37
me dicen que siempre van a ser
00:06:41
cinco palabras, cinco
00:06:42
pues hombre, podría pasar de los arrays
00:06:44
palabra uno, palabra dos, palabra tres
00:06:46
palabra 4 y luego me hago un if
00:06:48
por 1, es igual, es igual, es igual
00:06:50
claro, si me han dicho que siempre va a ser 5
00:06:52
pero si de repente el programa cambia y dice
00:06:54
no, no, perdona, es que ahora quiero que sean 10
00:06:56
no pasa nada, yo me limito a cambiarlo
00:06:58
aquí, en estos puntos
00:07:01
y se acabó
00:07:02
gracias a que es un array
00:07:04
pues que me cambies el tamaño del array
00:07:07
no pasa nada, lo cambio donde toca
00:07:10
entonces antes que nada vamos a probar
00:07:12
vamos a probarlo con 5 para no tener que meter
00:07:14
10 cosas
00:07:16
lo probamos con 5
00:07:18
Y con cinco
00:07:20
B, U
00:07:21
No, esto no era
00:07:31
Cinco palabritas
00:07:33
Pues hola, adiós
00:07:34
Estas son mis cinco palabras
00:07:38
¿Cuál es la que buscas?
00:07:45
Esta
00:07:47
Si esta
00:07:47
Podríamos probar
00:07:48
Si damos otra que no está
00:07:50
Bueno, vamos a hacerlo así
00:07:51
En plan rápido
00:07:52
Por si nos hemos equivocado
00:07:52
W, Q, A, F, R
00:07:53
Palabra buscada
00:07:57
H
00:07:59
no está
00:07:59
vale
00:08:00
vale, pues el programa
00:08:03
está así, ahora, ligando con lo que he
00:08:06
dicho antes, si ahora me dicen
00:08:08
oye, me encanta la aplicación
00:08:09
pero me interesaría que fuera para 10 palabras
00:08:11
pues yo me voy aquí
00:08:13
bien
00:08:15
pero menudo rollo, porque ahora me tengo que ir
00:08:17
a cada for que lo recorre
00:08:19
me tengo que ir uno por uno para cambiarle
00:08:21
el límite, lo cual
00:08:24
es un poco
00:08:25
pesado
00:08:27
tendré que recorrer todo el código
00:08:28
e irme for por for que lo recorre
00:08:31
ese array, es muy probable que se me
00:08:33
escape uno, menos mal
00:08:35
que esto está todo pensado y no hace
00:08:37
falta que hagamos eso, ¿vale?
00:08:39
a ver, y con esto ya nos vamos
00:08:41
a ver
00:08:42
los arrays, dijimos ayer
00:08:46
yo
00:08:49
an con h
00:08:51
calla de una vez
00:08:52
sigue hablando, ¿no?
00:08:54
¿No es el que está hablando?
00:09:00
Entonces, ¿quién es el que habla todo el rato de fondo
00:09:03
y me distrae todo el rato?
00:09:05
Bueno.
00:09:08
Uy, así, que a gusto.
00:09:09
Por Dios, paz.
00:09:11
Vale, pues como dijimos ayer cuando introdujimos los arrays,
00:09:13
los arrays son objetos, como los string.
00:09:16
Entonces, los objetos también valen para guardar datos,
00:09:19
como todas las variables valen para guardar datos.
00:09:21
Pero además de para guardar datos,
00:09:24
pueden hacer cosas, ¿vale?
00:09:26
Como un string, además, podía llamar a la cosa length, que le daba su longitud, y podía llamar a charAt, que decía el carácter en una posición.
00:09:29
Es decir, los objetos, además de tener su propio valor, como el array que tiene sus posiciones, el string que tiene sus char, además pueden llamar a cosas para obtener información.
00:09:38
Pues el array es un objeto también, o sea, este palabras que hay aquí, también puede llamar a cosas para hacer cosas.
00:09:49
pues entre ellas
00:09:55
resulta que puede llamar
00:09:57
a una cosa que se llama
00:10:00
length
00:10:02
esta vez sin paréntesis y ya entendemos por qué
00:10:02
que te dice el tamaño
00:10:06
igual que el string cuando tú le hacías
00:10:07
cadena punto length
00:10:10
con paréntesis y te decía el número
00:10:12
de caracteres
00:10:14
pues palabras punto length te dice
00:10:15
el número de posiciones del array
00:10:18
no de las que están rellenas
00:10:20
sino de las que tiene habilitadas
00:10:22
es decir, el número que se haya puesto aquí, el mismo
00:10:23
si yo aquí he puesto 15
00:10:26
me dice 15, las que se han
00:10:28
reservado al principio
00:10:30
¿vale? punto length
00:10:31
nos devuelve
00:10:35
la cantidad
00:10:38
de posiciones
00:10:41
que tiene el array
00:10:44
entonces esto es muy útil
00:10:45
porque aquí yo necesito en un momento dado
00:10:52
el número de posiciones para recorrerlo
00:10:55
en un for, pues pongo palabras
00:10:57
punto length, me da igual
00:10:59
lo que sea, me da igual
00:11:00
yo sé que palabras.led
00:11:02
me va a dar siempre el tamaño correcto
00:11:04
entonces ahora ya cuando yo recorro
00:11:06
el array con un for no pongo ahí el
00:11:08
numerito reservado aquí arriba porque es un poco
00:11:10
incómodo, pongo palabras.led
00:11:12
y ya sé que eso es
00:11:15
automáticamente el número reservado aquí arriba
00:11:16
con lo cual ahora ya la aplicación
00:11:18
se hace más fácilmente modificable
00:11:21
que me dicen, uy ahora quiero trabajar con 100
00:11:22
ya está, pongo el 100
00:11:24
el resto del código no tengo que tocarlo
00:11:26
que ahora quiero trabajar con 1000
00:11:28
pongo 1000
00:11:30
que quiero trabajar con 1000
00:11:31
pues pongo 1000, ya está
00:11:37
no tengo que tocar nada más, porque esto automáticamente
00:11:38
me va a devolver ahora 1000
00:11:41
¿vale? y esa es la idea
00:11:42
que un código sea lo más fácilmente
00:11:44
modificable posible
00:11:47
que cualquier cambio no implique
00:11:48
mirármelo entero, retocarlo entero, no
00:11:50
implique un cambio en un sitio puntual y listo
00:11:52
¿vale?
00:11:55
no
00:11:59
el array una vez
00:12:00
creado con el new
00:12:02
ese array para toda su vida
00:12:04
por siempre va a tener mil posiciones
00:12:06
que te sobran muchas
00:12:08
de ellas, pues te las quedas ahí
00:12:10
sobrantes o te olvidas del array y te haces
00:12:12
una con menos, porque
00:12:14
es una estructura estática
00:12:16
una vez que ha reservado el tamaño siempre
00:12:18
va a tener ese tamaño, ¿vale?
00:12:20
efectivamente eso es incómodo, por eso es por lo que
00:12:22
se hacen unas estructuras de datos
00:12:24
ficticias, ya veremos cómo, apoyadas
00:12:26
sobre el array para que parezca que
00:12:28
¿vale?
00:12:30
A ver, Lenin, ¿qué ibas a preguntar?
00:12:31
No se te ha olvidado
00:12:36
Claro, aquí siempre hay que poner un tamaño
00:12:37
No puedes crear tú un array
00:12:44
Si no das un tamaño de partida
00:12:46
A ver, tú rellenas la cantidad que quieras
00:12:48
Esto es los que caben
00:12:53
Caben mil
00:12:55
Pero si tú solo quieres trabajar con las 10 primeras
00:12:56
pues puedes recorrer hasta las 10 primeras solo
00:13:00
lo único es que tienes ahí
00:13:02
un montón de posiciones ocupando
00:13:04
memoria para nada, entonces tú
00:13:06
normalmente querrás declarar el espacio
00:13:08
que crees que vas a usar, porque si no está
00:13:10
ahí ocupado para nada
00:13:12
¿Con Arrays?
00:13:13
Sí, no hay otra
00:13:19
manera, lo que pasa es que luego
00:13:20
lo que le decía él, se pueden construir
00:13:22
estructuras
00:13:24
que se llaman dinámicas
00:13:26
que son también cajas para guardar
00:13:28
datos
00:13:30
son cajas para guardar datos
00:13:31
y las hacemos por programa nosotros
00:13:33
para que parezca que se adaptan
00:13:35
y se van agrandando
00:13:38
y encogiendo donde lo que metamos
00:13:39
pero en realidad están programadas para que
00:13:41
se vea ese efecto
00:13:43
por fuera, pero real
00:13:45
no es así, pero eso lo tenemos que programar
00:13:47
con objetos, con lo cual todavía no podemos
00:13:49
programar esas estructuras ni usarlas
00:13:51
¿vale?
00:13:53
vale
00:13:56
bueno, pues se nos está agotando la batería
00:13:57
a todos, así que vámonos
00:13:59
Gracias.
00:14:00
- 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 - 19:00
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 14′ 11″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 61.69 MBytes