20241029 ProgrEstruct-Arrays-ejercicios_3 - 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:
Venga, a ver, el 10 es hacer el máximo y el mínimo.
00:00:00
Ya sabemos hacer el máximo y el mínimo.
00:00:04
Ahora, los elementos.
00:00:07
Entonces, el 10, los anteriores,
00:00:09
este es una idea muy parecida a la anterior.
00:00:13
Intentadlo hacer, es una idea muy parecida a la anterior.
00:00:16
Ahora, el 10, el 10,
00:00:20
dado un conjunto de valores máximo y mínimo.
00:00:24
Tenemos ya un ejercicio hecho para dar un conjunto de valores
00:00:26
es calcular el máximo y el mínimo. ¿Cuál es la única diferencia?
00:00:29
Que ese ejercicio era máximo
00:00:32
y mínimo de los que me iban llegando por el
00:00:33
next in. Ahora no me van llegando
00:00:35
por el next in. Ahora los voy cogiendo
00:00:37
de posiciones de un array, pero el ejercicio es igual.
00:00:39
Me da igual next in que sea la posición
00:00:41
de un array. Vale, pues repasáis
00:00:43
esos ejercicios, os acordáis
00:00:45
de cómo hacer máximo y mínimo, que supone
00:00:47
que ya lo teníais memorizado y grabado en la cabeza
00:00:49
y volvéis a hacer esto.
00:00:51
Vale, el 11,
00:00:56
sí, pero vamos
00:00:57
en vuestros ratos libres
00:00:58
ahora vamos a intentar
00:01:00
el 11
00:01:01
es muy fácil
00:01:05
que no, que vamos a seleccionar
00:01:06
alguno un poco más interesante para hacer
00:01:08
antes de irnos
00:01:09
pero qué prisa tenéis
00:01:10
tenéis algo mejor que hacer
00:01:13
que estar aquí
00:01:15
pero es un cuñazo que lo haga tu mujer
00:01:16
A ver, doce
00:01:21
El seis
00:01:32
Es contar
00:01:35
El seis es contar
00:01:36
Muy fácil también
00:01:38
El doce es contar también
00:01:40
Es contar
00:01:44
Es más fácil que el que hemos hecho
00:01:45
El trece mola
00:01:48
Ah, no. Hay dos en rojo porque... Ah, vale, porque... No, no puede haber tantos en rojo. No, hay cuatro. Ah, no, pero esto es porque... No, no, están en rojo, pero esto es por coordinación entre Estefano y yo. No, no tiene nada que ver con eso.
00:01:51
Es porque los dos editamos el fichero a la vez
00:02:14
Entonces le dije
00:02:18
Oye, lo que te he puesto en rojo es porque no se entiende ni papa
00:02:19
Y me dijo
00:02:21
Ah, sí, espérate que lo voy a poner mejor
00:02:22
Pero se le olvidó quitarle el rojo
00:02:24
Así que es culpa de él
00:02:26
Sí, no se entendía nada de lo que decía
00:02:28
Uy, está grabado
00:02:31
Me cachi la mano
00:02:32
Bueno, nada, el rojo lo ponemos en negro
00:02:33
Ahora no significa nada, de verdad que no, nada
00:02:36
Es solo por coordinarnos entre él y yo
00:02:38
a ver
00:02:40
¿por dónde íbamos?
00:02:45
por el
00:02:49
vale
00:02:50
entonces hasta el
00:02:53
13 es contar
00:02:54
hacer el máximo y mínimo
00:02:57
lo mismo que hemos hecho pero en lugar de números
00:02:59
que van llegando por teclado
00:03:01
números que vais
00:03:02
recorriendo en el array, es la única diferencia
00:03:04
luego tenéis
00:03:07
que si sabéis hacer lo anterior
00:03:09
intentar
00:03:11
hacerlos y saber hacerlos, vale
00:03:13
si, a ver
00:03:15
el 13, vamos a hacer el 13
00:03:17
el 13 es muy mono
00:03:18
el 13, vamos a hacer el 13
00:03:21
que al menos no es contar, sumar
00:03:23
venga
00:03:25
y así nos vamos contentos
00:03:27
13
00:03:29
a ver
00:03:39
todos estos en realidad ya
00:03:46
lo de intercambio de array
00:03:50
era un poquito más raro
00:03:53
lo de li a 2i
00:03:54
a 2i más 1 era un poco más rarillo
00:03:57
estos otros pues no son
00:03:59
tan rarillos
00:04:01
venga, pues este de aquí, ¿qué dice?
00:04:02
recibe un array
00:04:06
de 10 o de los que sean
00:04:07
nos da lo mismo, de 10 o de los que sean
00:04:09
la aplicación tiene que decir
00:04:10
si están ordenados
00:04:13
de forma creciente o no lo están
00:04:14
me recuerda mucho al examen
00:04:17
sí, la verdad es que sí
00:04:18
tiene un poco similitud
00:04:20
a ver, no os condenéis a vosotros mismos
00:04:22
sacando conclusiones erróneas
00:04:24
no os condenéis al fracaso
00:04:26
hacedlo todo
00:04:28
y así
00:04:30
no tendréis problemas
00:04:31
vale, a ver, entonces, ¿el ejercicio tiene que decir en realidad?
00:04:33
si algo ocurre
00:04:37
o no ocurre. Pero en este caso
00:04:39
de dos cosas. Tiene que decir
00:04:41
si ocurre que esté ordenado de forma
00:04:44
decreciente o no.
00:04:45
Si ocurre que esté ordenado de forma
00:04:48
decreciente o no.
00:04:49
Y si no es ninguno de estos, el
00:04:51
else de esos sería desordenado, claro.
00:04:53
El else de esos. Entonces,
00:04:55
automáticamente decimos, uy,
00:04:58
la aplicación me dice si algo
00:04:59
pasa o no pasa.
00:05:01
¿Ese ejercicio lo hicimos ya?
00:05:02
Sí, en el examen.
00:05:03
Yo acabo de decirlo aquí.
00:05:05
Entonces, esto no hay que revisar.
00:05:07
Porque es por tendencia de revisar.
00:05:09
¿Seguro?
00:05:11
¿Eh?
00:05:11
En el examen no lo vi.
00:05:12
Es que no usamos al baile la vez pasada.
00:05:14
Claro.
00:05:19
Pero ¿cuántos lo hicisteis bien?
00:05:19
Yo, pero me lo hice como mal.
00:05:22
Es que, a ver, pero yo creo que no era exactamente...
00:05:24
estamos hablando ahora ya
00:05:27
de cómo plantear este problema en general
00:05:31
cuando tengo una sucesión en general de números
00:05:33
vale, pues se trata de
00:05:35
el ejercicio te dice si algo
00:05:37
pasa o no pasa
00:05:41
entonces en cuanto rápidamente
00:05:43
nos dicen, tienes que, la aplicación te tiene
00:05:45
que decir si esto ocurre o no
00:05:47
por la realidad te viene a la cabeza
00:05:49
ah, pues tendré un conjunto de valores
00:05:51
yo de partida asumiré
00:05:53
que sí o que no, no lo sé
00:05:55
que pasa o que no pasa
00:05:57
y ahora me pongo a recorrer a ver si
00:05:59
alguno actúa como
00:06:02
contraejemplo y ya me permite
00:06:04
cambiar de opinión, siempre es lo mismo
00:06:06
es decir, te dan un conjunto de números
00:06:07
ver si alguno es par
00:06:09
pues de partida sumes
00:06:11
falso, no hay ninguno par
00:06:13
y te pones a mirar
00:06:15
este es par, este es par, este es par, en cuanto encuentras
00:06:17
uno que es par, cambias de idea, true, hay
00:06:19
alguno par, ¿vale? siempre trabajamos igual
00:06:21
bueno, pues aquí es lo mismo
00:06:24
aquí te dan un montonazo
00:06:25
de números
00:06:27
vale, te dan pues un montón de números
00:06:28
los que sean, vale, pues entonces
00:06:35
uno de partida
00:06:39
se plantearía
00:06:41
ordenados creciente, true o false
00:06:42
cualquiera de las dos, habría que ver
00:06:45
cuál nos interesa, y luego ya se pone
00:06:47
a recorrer a ver si hay algo
00:06:49
que nos permite cambiar de idea
00:06:51
entonces con eso en la cabeza
00:06:53
diríamos, vale, pues
00:06:55
voy a partir de la idea de que están ordenados
00:06:57
de partida. Y ahora
00:06:59
voy uno por uno comparándolo
00:07:01
con su siguiente. Si es
00:07:03
menor que su siguiente,
00:07:05
nada me hace cambiar de idea todavía.
00:07:07
Me voy al siguiente.
00:07:10
¿Es menor que su siguiente?
00:07:12
Nada me hace cambiar de idea todavía.
00:07:14
Me voy al siguiente.
00:07:16
¿Es menor que su siguiente? Nada me hace cambiar.
00:07:17
Pero en cuanto lleguemos a uno
00:07:20
que ya no es menor que el siguiente,
00:07:21
podemos cambiar de idea.
00:07:24
Ordenado es falso.
00:07:25
Claro, entonces, de partida
00:07:27
tú asumes que ordenados
00:07:29
es igual a true.
00:07:32
Están ordenados. ¿Y ahora?
00:07:34
¿Por qué? Porque en cuanto encuentres uno
00:07:36
que está cambiado con el siguiente,
00:07:38
solo con que encuentres uno que esté cambiado, ya sabes
00:07:40
que es imposible que no esté.
00:07:42
Claro.
00:07:47
Es decir, tienes que mantener...
00:07:48
Claro.
00:07:51
Entonces, como tienes que conservarlos, dos por lo menos,
00:07:52
pues un array.
00:07:55
Bueno, y su siguiente.
00:07:58
para compararlo con su siguiente
00:07:59
bueno, va en la i
00:08:00
no en una variable, no, en el i
00:08:03
va la posición en la que estás, no el valor en sí
00:08:05
claro, pero el array lo necesitas
00:08:07
me refiero, entonces
00:08:11
aquí sobre todo lo más
00:08:13
complicado entre comillas es, ¿qué asumo
00:08:15
yo de partida? ¿que están ordenados
00:08:17
o no? para luego cambiar
00:08:19
depende de qué es lo que me
00:08:21
haga a mí cambiar de idea
00:08:23
entonces, lo que te hace cambiar de idea es ver si uno
00:08:24
está en desorden, porque solo
00:08:27
con que uno esté en desorden, ya están todos
00:08:29
desordenados. Entonces, de partida
00:08:31
asumimos ordenados,
00:08:33
true, ordenados. Y ahora me pongo
00:08:35
a ir uno tras otro. En cuanto encuentre
00:08:37
uno que está cambiado con el siguiente,
00:08:39
ya puedo cambiar de idea y decir
00:08:41
ordenados, falso.
00:08:43
Pues ya está. Entonces, lo primero,
00:08:45
vamos a hacerlo ni siquiera para 10.
00:08:47
Porque si fuera para 10,
00:08:49
podríamos hacerlo como el examen.
00:08:51
Una pedazo de condición.
00:08:52
n0 menor que n1 y n1 menor que n2 y n2
00:08:54
menor que n3. Pero vamos a hacerlo
00:08:57
para que sea una cantidad de números cualquiera.
00:08:58
¿Qué número de la actividad es 13?
00:09:02
Sí.
00:09:07
¿Hay rima para el 13 también o qué?
00:09:13
Para todo.
00:09:15
Ahora no me la que me crece.
00:09:18
Ah, pues ya no la conocía yo.
00:09:20
¿Cómo que no?
00:09:22
Pero eso está grabado, ¿no?
00:09:23
Sí, o sea que ya no se me va a olvidar nunca.
00:09:25
Porque está grabado.
00:09:27
A ver si me olvida.
00:09:28
digo, a ver, voy a mirar cuál era la del 13.
00:09:29
¡Claro!
00:09:33
Lo que pasa es que la del 13
00:09:37
no hay más números que acaben
00:09:39
en F, ¿verdad?
00:09:41
Vale.
00:09:45
¿Y para el 14 hay?
00:09:52
Claro, pero para el 14
00:09:59
para esa no hay
00:10:02
Yo tuve un compañero que tenía rimas
00:10:04
del 1 al 9
00:10:07
Claro, pero el 14
00:10:07
no te vale ninguno de las del 1 al 9
00:10:10
Tampoco la sabía
00:10:12
Venga, a ver, ¿cuántos números quiere esto?
00:10:23
Pues ahora vamos a crear el array y rellenarlo
00:10:29
El array va a ser
00:10:32
De n posiciones
00:10:34
N, vale
00:10:35
Un primer for para rellenarlo
00:10:45
Sin más
00:10:47
A ver, no te hace falta
00:10:48
En realidad, a ver
00:11:01
Vale, este for
00:11:02
Vale, este for es solamente para rellenar
00:11:09
Ya está
00:11:23
Ahora empieza el proceso de ver si están
00:11:23
Primero ordenados de forma creciente
00:11:25
Vamos a hacerlo por separado
00:11:28
Aunque podríamos meterlo todo en un for, pero bueno
00:11:32
Vale
00:11:33
Pues vamos a asumir
00:11:35
De partida que sí que lo están
00:11:37
De partida lo están
00:11:42
Y ahora empiezo a recorrer el array
00:11:43
A ver si encuentro alguna posición
00:11:45
Que esté en desorden con su consecutiva
00:11:48
Porque solo con que encuentre una
00:11:50
Solo con que encuentre una
00:11:53
Ya puedo cambiar de idea
00:11:54
Venga, pues recorro el array
00:11:55
Y ahora
00:12:00
Si
00:12:05
Números.length
00:12:06
A ver, he dicho que
00:12:09
Lo voy a hacer separado
00:12:12
Vale, es que no me escucháis
00:12:14
Es que estoy demasiado focus
00:12:18
En esto
00:12:20
Seguro que se han metido contigo
00:12:22
Vale, pues a ver
00:12:29
Recorremos el array
00:12:38
Para cada posición i
00:12:40
Si esa posición i
00:12:42
Resulta que es mayor que su consecutiva
00:12:45
Ya sabemos
00:12:47
Que el orden creciente es imposible
00:12:49
Imposible
00:12:51
Ordenados ya igual a false
00:12:52
Me da igual que los demás lo hayan estado
00:12:56
Perdón, creciente
00:12:58
Sí, por eso es lo que voy a poner
00:13:00
Creciente, false
00:13:02
Yo de partida asumo que están ordenados
00:13:03
Y solo con que llegue a uno
00:13:07
Que es mayor que su siguiente
00:13:09
Ya el orden se ha roto
00:13:11
El orden se ha roto
00:13:14
No he puesto llaves ni aquí ni aquí
00:13:15
Porque solo hay una línea
00:13:17
¿Vale?
00:13:18
bueno
00:13:22
si hacemos lo mismo con decreciente
00:13:23
vale, decreciente
00:13:27
asumo de partida que están ordenados
00:13:41
de forma decreciente
00:13:42
ahora, solo con que
00:13:44
uno sea menor
00:13:46
que su siguiente
00:13:48
el orden decreciente es imposible
00:13:49
o sea, de más alto a más bajo
00:13:52
no va a estar, porque hay uno
00:13:54
solo uno, aunque sea, da igual
00:13:56
hay uno que es más pequeño que el siguiente
00:13:58
luego ordenados de mayor a menor
00:14:00
es imposible, luego ya puedo concluir
00:14:02
que esto es falso
00:14:04
entonces
00:14:06
el programa ahora ya sería
00:14:07
pues
00:14:10
que el boolean este me ha dado true
00:14:11
yo pondría
00:14:14
ordenados
00:14:16
de menor a mayor
00:14:20
o sea creciente, de menor a mayor
00:14:22
que ese es el creciente
00:14:24
si hay un else if de decreciente
00:14:25
entonces
00:14:30
están ordenados, pero en este caso
00:14:34
de mayor a menor
00:14:36
Y si no hay ninguno de los dos casos, desorden
00:14:37
Y caos
00:14:41
De mayor a menor
00:14:43
Y el else correspondiente
00:14:46
Desordenados
00:14:49
Vale, entonces no ejecutéis esto
00:14:54
No lo ejecutéis
00:14:57
No lo ejecutéis
00:14:59
Vale
00:15:02
¿Qué prevéis?
00:15:03
¿Qué va a ocurrir con la ejecución de esto?
00:15:07
No, sentido tiene todo el del mundo.
00:15:11
¿Alguien adivina qué vamos a ver
00:15:14
cuando lo ejecutemos?
00:15:15
No, ¿qué vamos a ver
00:15:18
en la pantalla cuando lo ejecutemos?
00:15:19
Físicamente.
00:15:21
¿Por qué?
00:15:24
Porque lo has ejecutado.
00:15:25
Vale. ¿Y por qué dices error de array?
00:15:27
Dímelo.
00:15:29
Porque yo creo que no hemos puesto
00:15:30
el número.
00:15:33
Mientras sea menor que
00:15:36
números len. O menor o igual
00:15:38
que números menos 1. Es lo mismo.
00:15:40
hombre, es que solo tiene dos
00:15:44
inicialmente es true
00:15:49
y si yo encuentro un contraste
00:15:51
exacto, eso sí
00:15:53
yo estoy comparando cada número
00:15:59
con su siguiente
00:16:01
con lo cual me tengo que quedar en el penúltimo
00:16:02
porque si llego al último
00:16:05
comparar el último con
00:16:07
me he salido de la raíz
00:16:09
entonces si ejecutamos esto
00:16:11
pues obviamente
00:16:12
le digo, para que no se
00:16:14
cuatro números solo
00:16:18
pues uno, dos, estos estarían
00:16:20
de forma creciente
00:16:23
y me dice, uy
00:16:24
array, index, automa, exception
00:16:26
claro, porque él está haciendo
00:16:28
el uno lo compara con el dos, el dos con el tres
00:16:30
el tres con el cuatro y el cuatro con la pum
00:16:33
con el cinco que no existe
00:16:35
a ver, es que es mucho más sencillo
00:16:36
me quedo una estación antes
00:16:41
me bajo una parada antes
00:16:43
Es que no tengo que llegar a la última
00:16:44
Tengo que llegar a la penúltima
00:16:47
Es decir, el recorrido lo tengo que hacer
00:16:49
Comparar este con su siguiente
00:16:51
Este con su siguiente
00:16:54
Y este con su siguiente
00:16:56
En la última iteración no tengo que hacerla
00:16:58
La última no tengo que hacerla
00:17:00
Luego este for va a ir solo
00:17:02
Del primero al penúltimo
00:17:04
El último no lo necesita
00:17:07
La última iteración sobra
00:17:10
El último no lo necesita
00:17:12
luego
00:17:14
en lugar de quedarme
00:17:17
i menor que números led
00:17:21
me quedo en i menor que números led
00:17:23
menos 1
00:17:25
para bajarme una parada antes en este for
00:17:26
tengo que recorrer solo
00:17:29
desde el primero hasta el penúltimo
00:17:33
porque en cada iteración ya estoy comparando
00:17:34
con el siguiente
00:17:37
entonces no me hace falta
00:17:37
en la iteración 0 comparo este con el 2
00:17:40
muy bien, en la iteración 2 comparo este
00:17:43
con el 3, muy bien
00:17:45
en la iteración 3 comparo este con el 4
00:17:46
y ya está, no te voy a comparar nada más
00:17:48
no te voy a comparar nada más, luego en la iteración
00:17:50
4, esa ya no tengo que entrar en ella
00:17:52
vale
00:17:55
pues entonces cambio en los dos
00:17:56
bucles for
00:17:58
el límite del for
00:17:59
lo cambio poniéndole un menos 1
00:18:04
para que pare uno antes
00:18:06
para que pare uno antes
00:18:08
vale
00:18:11
que lo hubiera dicho antes, no, pero lo que quería
00:18:11
era, a ver, que me dijereis
00:18:17
que te vas a salir del array
00:18:19
Hombre, para eso lo he hecho
00:18:20
Claro, sí, sí
00:18:22
Podría en un solo for
00:18:27
Hacer
00:18:29
Este if y este otro
00:18:30
Lo he hecho ahora mismo en dos for separados
00:18:33
Para que quede más claro
00:18:35
Pero claro, podría haberlo en el mismo for
00:18:36
Haber buscado el contraejemplo decreciente
00:18:38
Y decreciente en el mismo
00:18:41
Pero
00:18:42
¿Hasta dónde?
00:18:43
Vale, pues entonces ahora ya sí que sí
00:19:02
No nos saldrá eso si es que lo hemos hecho bien
00:19:04
No te funciona
00:19:06
Ordenados de menor a mayor
00:19:09
Estupendo
00:19:13
Ponemos uno
00:19:14
Que estén ordenados
00:19:16
Ordenados de mayor a menor
00:19:18
Magnífico
00:19:23
Y desordenados
00:19:24
Pues desordenados, vale
00:19:25
Bueno, genial
00:19:31
- 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:
- 7
- Fecha:
- 30 de octubre de 2024 - 17:12
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 19′ 35″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 96.49 MBytes