Saltar navegación

20241029 ejercicio 2 arrays - 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 29 de octubre de 2024 por Stefano C.

18 visualizaciones

Descargar la transcripción

Voy a grabar este ejercicio, por lo tanto, si estáis hablando, me permitís y se autorizáis a que os grabe. 00:00:00
Venga, entonces, nosotros hemos hecho este ejercicio, lo voy a mirar, así lo podéis mirar, ¿vale? 00:00:11
Esto es lo que hemos hecho anteriormente. 00:00:17
Lo quiero modificar un poquito. 00:00:19
Quiero hacer que en vez de estar leyendo una palabra y luego comprobar si esta palabra está ya repetida en mi array o no, lo que quiero hacer es hacerlo en dos pasos. 00:00:21
Primero leo todas las palabras y una vez leídas todas las palabras, pues voy a comprobar si hay o no duplicados. 00:00:35
¿Vale? Entonces, para empezar, en vez de pedirlo las palabras, ¿vale? Me salto esta parte de aquí, la quito y asumo, a ver qué es, palabra.length, ahora miramos, ¿cómo lo hacemos? 00:00:44
Pues asumo que me dan 00:01:09
Un array ya con cinco palabras 00:01:11
¿Vale? Porque ahora esta cosa 00:01:13
Es distinta 00:01:15
O sea, ahora son separadas 00:01:16
¿Vale? Son dos problemas completamente separados 00:01:18
Uno es leer cinco palabras 00:01:20
Y eso ya lo hemos hecho veinte mil veces 00:01:22
¿Vale? Entonces eso ya lo sabéis hacer 00:01:23
Lo que pasa es que al final de la primera parte 00:01:26
Pues lo que tendré 00:01:29
Es tener un array 00:01:35
Con cinco palabras dentro 00:01:37
Que serán la palabra 00:01:38
Sí, sí, pero ¿qué más me da? 00:01:40
Lo hemos visto 00:01:50
Cómo se leen cinco cosas que se ponen aquí 00:01:51
Es muy fácil, luego después si quieres lo hago 00:01:53
Pero eso no es la parte difícil 00:01:55
Lo que pasa es que 00:01:57
Aquí leeré las cinco palabras y cuando paso 00:01:58
De este de aquí, tendré una situación 00:02:01
Idéntica a esta, tengo un array con cinco palabras 00:02:03
Dentro 00:02:05
Que eran las palabras que hemos utilizado antes 00:02:06
¿Vale? Entonces esto 00:02:09
me debería dar que sí hay duplicados, pero lo hago en dos posiciones. Cuando llego aquí, 00:02:14
yo sé que en palabra hay cinco distintas, debería ser palabras, pero bueno, hay cinco 00:02:21
distintas palabras que tengo que comprobar. Entonces, ¿qué hago ahora? Antes yo tenía 00:02:27
ya una palabra y decía, esta palabra la compruebo con todos. Ahora no es exactamente así. Ahora 00:02:36
Ahora tengo que recorrer mi array, pillar la primera palabra y comprobarla con todas 00:02:41
las demás, luego pillar la segunda y comprobarla con todas las demás, luego la tercera y comprobarla 00:02:48
con todas las demás, ¿sí? 00:02:55
Entonces, ¿cómo lo hago? 00:02:58
For int, en la ronda, int, se puede hacer de varias formas, 00:03:00
hagámoslo sencillo, int j es igual a cero, 00:03:16
j menor de palabra punto lengd, ¿vale? 00:03:21
De todas las palabras, j más más, 00:03:25
entonces, este de aquí se hará cinco veces, 00:03:34
cada vez que lo hago 00:03:37
pillaré una palabra distinta 00:03:39
mi palabra actual 00:03:41
será 00:03:42
hola, buenos días 00:03:43
pillo palabra de j 00:03:48
entonces la primera vez me pillará la palabra 00:03:53
en posición 0 00:03:56
la segunda vez la palabra en posición 1 00:03:58
la tercera vez la palabra en posición 3 00:04:00
etc, etc, etc 00:04:02
esto en cada ciclo 00:04:04
de este for exterior 00:04:08
pues me pillará una palabra distinta 00:04:09
Y luego lo que tendré que hacer es con esta palabra comprobar si está duplicada o no 00:04:12
Por lo tanto, desde Y0 y por todas las palabras 00:04:18
Me pregunto si X es igual a la palabra actual otra vez 00:04:23
Si son iguales 00:04:32
Digo que sí y pongo duplicada true 00:04:34
Si no, no 00:04:40
Esto funciona. Si lo lanzo, me dice que hay duplicados, pero si también le pongo que no hay duplicados, también me dirá que hay duplicados. 00:04:41
¿Por qué? Porque estoy haciendo todas con todas, incluida la que estoy considerando, la vuelve a pillar aquí también. 00:05:00
Y entonces, ella misma será siempre igual a ella misma, ¿vale? 00:05:15
Vamos a intentar hacer esto, me pregunto si son iguales, siempre y cuando no sean la misma posición. 00:05:22
Si i no es j, y las dos palabras son iguales, entonces hay un duplicado, ¿se entiende? 00:05:40
Si yo estoy comprobando 00:05:50
Este array de aquí 00:05:53
Con sí mismo 00:05:55
Y pillo la A 00:05:56
Y empiezo desde aquí 00:05:57
Encontraré otra vez la A 00:05:59
Y diré, A es igual a A 00:06:02
Entonces le estoy diciendo 00:06:04
Al if interno 00:06:06
Oye, cuidado, pero que si yo había seleccionado esto 00:06:07
Entonces mi J es 0 00:06:10
¿Cuándo vas a 00:06:12
Pillar I para comprobarlas 00:06:14
Con todas 00:06:16
Si I es igual a esta J 00:06:17
Pues en ese caso no hagas la comparación 00:06:20
Porque estás comparando la misma posición 00:06:23
No me vale la misma posición 00:06:25
Entonces con esto 00:06:27
Ahora ya me dice que no hay duplicado 00:06:30
Porque ya ahora no considera 00:06:33
La misma 00:06:36
Si hay un duplicado 00:06:38
Si que pilla que hay duplicados 00:06:40
O sea que esto ya 00:06:44
Funcionaría 00:06:47
Duda 00:06:49
¿Puedo mejorar esto? 00:06:51
Sí, ¿cómo mejoro esto? 00:06:54
Vale, ¿cómo hago que si ya he encontrado un duplicado salga? 00:07:03
Aquí ya lo estoy haciendo. 00:07:09
¿Arriba qué? 00:07:15
No, porque si lo pongo aquí dentro, por cada ciclo de forra haré esa cosa. 00:07:42
¿Esta es la primera opción? 00:07:46
¿Os gusta? 00:07:47
¿Funciona? 00:07:59
Sí. 00:08:00
Pero si yo tengo, si yo a la segunda palabra, o sea, a la primera palabra, 00:08:01
imagínate que la primera y la segunda se han duplicado. 00:08:05
Ya he pillado que son duplicadas. 00:08:08
Seguiré igualmente haciendo estas cosas varias veces una vez por cada posición de la palabra. 00:08:10
Pero si he encontrado el duplicado, ¿para qué seguir? 00:08:18
O sea, tened en cuenta que antes tenía que seguir hasta el final porque me estaban dando las palabras 00:08:27
y cada palabra que me daban la tenía que buscar. 00:08:32
Entonces tenía que hacerlo cinco veces sí o sí. 00:08:35
Pero ahora las palabras ya me las han dado. 00:08:37
Entonces ya tengo la palabra. 00:08:40
Con que pille un duplicado 00:08:41
Pues ya no tiene sentido 00:08:43
Seguir adelante 00:08:45
Buscando otros duplicados 00:08:46
Lo he encontrado, salvo 00:08:48
Más cositas que podríamos mejorar 00:08:49
Si yo he pillado la primera 00:08:57
Y no hay duplicados 00:09:13
No tiene sentido 00:09:15
Volver a mirar la primera 00:09:17
Con los demás 00:09:19
Porque ya no hay duplicado, lo sé 00:09:19
He comprobado 00:09:21
He mirado si la primera 00:09:22
Era igual a la segunda, tercera, cuarta y quinta 00:09:26
y no he encontrado nunca un duplicado. 00:09:28
Quiere decir que tiene poco sentido cuando miro la segunda 00:09:32
volver a comprobar si la primera es igual. 00:09:35
Ya la he comprobado. 00:09:37
Entonces, cuando voy a comprobar, 00:09:38
las palabras anteriores, o sea, las que están antes de J, 00:09:41
sustancialmente ya están pilladas, ya están comprobadas, 00:09:46
que no hay duplicado o que sí, pero si hay sí, ya he salido. 00:09:50
Y si no, ya hemos comprobado 00:09:54
Ya que las anteriores 00:09:57
Ya están cosas 00:09:58
Y de hecho, ahora puedo quitarme hasta esto 00:09:59
Porque como empiezo siempre 00:10:02
De j más 1 00:10:06
Pues no será nunca igual a j 00:10:07
Esto era de j más 1 al final 00:10:11
Entonces, más optimizado todavía 00:10:14
Aquí me lo pilla que hay duplicados 00:10:20
Si pongo esto 00:10:24
Me debería pillar que no hay duplicados 00:10:25
Si pongo 00:10:27
aquí por ejemplo 00:10:30
dos veces el mismo 00:10:32
me pilla que si hay duplicados 00:10:35
y ahora si mirar 00:10:37
aquí cuantas veces 00:10:39
hago las comprobaciones 00:10:41
vería que las hago menos que antes 00:10:43
¿vale? entonces esto ya es 00:10:45
el nivel de optimización al que podemos 00:10:47
llegar y que consideramos 00:10:49
como optimizado ¿vale? 00:10:51
aquí 00:10:53
la optimización es que en cuanto 00:10:54
encuentro un duplicado 00:10:57
¿Ya se ha acabado? 00:10:58
Y aquí la optimización es que no empiezo siempre 00:11:01
Una vez fijada la palabra que voy a comprobar 00:11:04
No empiezo siempre desde el principio saltándome esa palabra 00:11:09
Empiezo siempre desde la siguiente palabra hasta el fondo 00:11:12
¿Vale? 00:11:15
Porque asumo que en rondas anteriores ya he comprobado que esta no está en ninguna de estas casillas 00:11:17
Entonces tampoco está en esta 00:11:24
Es inútil que cuando miro esta palabra aquí 00:11:26
Vuelva a comprobar que está aquí 00:11:28
¿Se entiende? 00:11:29
Ten en cuenta que como encuentro un duplicado 00:11:35
Ya dejo de hacer el trabajo y salgo 00:11:37
Bonito este ejercicio 00:11:40
Materias:
Programación
Niveles educativos:
▼ Mostrar / ocultar niveles
  • Formación Profesional
    • Ciclo formativo de grado superior
      • Primer Curso
Autor/es:
Stefano Chiesa
Subido por:
Stefano C.
Licencia:
Reconocimiento - No comercial
Visualizaciones:
18
Fecha:
29 de octubre de 2024 - 11:06
Visibilidad:
Clave
Centro:
IES ROSA CHACEL
Duración:
11′ 50″
Relación de aspecto:
16:10 El estándar usado por los portátiles de 15,4" y algunos otros, es ancho como el 16:9.
Resolución:
1152x720 píxeles
Tamaño:
42.96 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid