Saltar navegación

20251112 EjerArrays_1 - 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 12 de noviembre de 2025 por Raquel G.

4 visualizaciones

Descargar la transcripción

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

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid