20251117 EjerArrays_4 - 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 aquí tenemos, silencio, ya tenemos nuestro array de 10 rellenado en lugar de teclado con números aleatorios para no hacer la prueba ahí desde el teclado todo el rato.
00:00:00
Ahora, el enunciado me dice que tengo que ver si los números están ordenados de forma decreciente o no, silencio, ordenados de forma decreciente o si están desordenados.
00:00:14
Es decir, el programa me tiene que decir si algo ocurre o si algo no ocurre.
00:00:29
O sea, son tres cosas en realidad, pero son tres cosas que reproducen el mismo patrón.
00:00:35
Si algo pasa o no pasa.
00:00:41
¿Pasa que están ordenados de forma creciente o no pasa?
00:00:45
¿Pasa que están ordenados de forma decreciente o no pasa?
00:00:48
¿Pasa que están desordenados o no pasa?
00:00:51
Es decir, es ver si algo ocurre o no ocurre.
00:00:54
lo que pasa es que tres situaciones distintas
00:00:56
pero bueno, las puedo ir
00:00:59
en el mismo programa, yo puedo mirar
00:01:00
las tres situaciones y
00:01:03
verlas por libre incluso
00:01:05
pues por ejemplo, vamos a plantearnos la primera
00:01:06
imaginaos que eso lo tenemos que hacer
00:01:09
ver si está ordenado de forma creciente
00:01:11
o no lo está
00:01:13
bueno, pues
00:01:15
mi aplicación entonces es
00:01:16
yo de partida asumo
00:01:19
una de las dos cosas
00:01:21
que si lo están o que no lo están
00:01:23
En función del problema ya veo cuál me interesa asumir. Y ahora me empiezan a llegar los datos. ¿Cuáles van a ser las posiciones del array? Bueno, pues yo de partida voy a asumir que están ordenados de forma creciente.
00:01:25
ahora me empiezan a llegar los datos
00:01:39
en este caso, ¿cómo encuentro un contraejemplo?
00:01:42
encuentro un contraejemplo
00:01:44
si cada número que me llega
00:01:45
si encuentro uno
00:01:48
que es menor
00:01:50
que el anterior, acabo de encontrar
00:01:52
un contraejemplo, ya está, ya puedo cambiar
00:01:54
la idea de partida, es imposible que estén ordenados
00:01:56
de forma creciente, pero acabo de encontrar uno
00:01:58
que es más pequeño que el de atrás
00:02:00
luego ya he encontrado el contraejemplo
00:02:03
y ya está, pues ya está
00:02:05
entonces
00:02:06
yo asumo de partida
00:02:07
que están ordenados
00:02:09
de forma creciente
00:02:12
y ahora voy a recorrer
00:02:13
el array a ver si algún número
00:02:16
de los que me van llegando en el recorrido
00:02:18
me hace que cambie
00:02:20
de idea, pues venga
00:02:22
si recorremos el array así sin más
00:02:25
sin pensar, pues haríamos esto
00:02:31
¿verdad? y ahora
00:02:33
con cada numerito, ¿qué voy a hacer yo?
00:02:38
voy a ver
00:02:40
si es un contraejemplo
00:02:40
¿Qué significaría ser un contraejemplo?
00:02:43
Que es más pequeño que el que tiene detrás
00:02:46
Más pequeño que el anterior
00:02:48
Porque si es más pequeño que el anterior
00:02:49
Ya el array es imposible que esté ordenado de forma creciente
00:02:52
O sea, que vayan todos de pequeño a grande
00:02:56
Es imposible
00:02:59
Porque he encontrado uno que es más pequeño que el que tiene antes
00:03:00
Entonces, ese contraejemplo lo podría expresar así
00:03:03
Si mi número de i resulta que es mayor
00:03:07
que mi número
00:03:12
de i menos 1
00:03:15
pues ya está
00:03:16
esto automáticamente
00:03:18
lo puedo poner en falso
00:03:21
y acabo de encontrar un contra ejemplo
00:03:23
y el primer problema ya estaría
00:03:24
resuelto
00:03:27
puedo hacer lo mismo para creciente
00:03:28
o para decreciente
00:03:31
puedo hacer lo mismo
00:03:33
lo único es que bueno, ahora si uno prueba
00:03:34
esto
00:03:36
vamos a suponer
00:03:37
Ahora, ¿qué haríamos?
00:03:40
Si creciente
00:03:45
Vamos a quedarnos por ahora solo con el primer problema
00:03:49
Están de forma creciente
00:03:53
Y el else de este sería no están de forma creciente
00:03:59
Todavía no sé si están de creciente o desordenados
00:04:06
Es que esa parte no la he resuelto
00:04:08
Pero bueno, como primera aproximación hay problema
00:04:10
Esto estaría bien
00:04:20
asumo de partida que cada uno
00:04:21
es más grande que el anterior
00:04:22
cada uno es más grande que el anterior
00:04:25
entonces, bueno
00:04:27
entonces aquí estoy, lo he hecho al revés
00:04:30
menor, ¿no? o sea, he puesto esto al revés
00:04:32
de partida asumo
00:04:35
que cada uno es más pequeño que el anterior
00:04:36
perdón, porque es de forma creciente
00:04:39
cada uno más pequeño que el anterior
00:04:40
entonces
00:04:42
voy número
00:04:44
por número, si alguno me contradice
00:04:47
esa idea, porque alguno resulta
00:04:49
que es más pequeño que el anterior
00:04:51
imposible, ese ya no es creciente
00:04:52
imposible, ya no es creciente porque es más pequeño
00:04:54
que el anterior
00:04:57
tengo ya el único contraejemplo que necesito
00:04:57
para cambiar de idea, porque ya con haber encontrado
00:05:00
uno que es más pequeño
00:05:03
que el anterior, que el que le precede
00:05:04
ya estaría, entonces si ejecutamos
00:05:06
esto
00:05:10
¿alguien puede prever lo que va a ocurrir?
00:05:11
claro, me va a salir
00:05:17
un out of bound exception porque yo estoy partiendo
00:05:18
desde la 0, porque he puesto esto así
00:05:20
de corrida, no, cuidado
00:05:22
tengo que partir desde el primero
00:05:24
porque lo que hago con cada número es comparar
00:05:26
con el anterior, entonces el cero no tiene
00:05:28
sentido que lo compare con el anterior
00:05:30
entonces voy a partir
00:05:32
con el elemento en la segunda posición
00:05:33
y ahora ya sí, el que está
00:05:36
en la primera posición no me interesa, lo ignoro
00:05:38
en el segundo, oye
00:05:40
tú, eres más pequeño
00:05:42
que el anterior
00:05:45
eres un contraejemplo, cambio de idea, se acabó
00:05:45
siguiente
00:05:48
así uno por uno
00:05:50
Entonces
00:05:51
Ahora, bueno, vamos a mostrar los números
00:05:53
Para
00:05:56
Para ver si realmente
00:05:57
Esto ha funcionado bien o mal
00:06:01
Entonces
00:06:03
Voy a mostrar los números en una sola línea
00:06:04
Para que
00:06:09
Print el numerito
00:06:13
Que acabo de generar
00:06:18
Concatenado
00:06:19
Con un espacio
00:06:22
Vale, con un guion
00:06:24
Venga, aquí voy a mostrar los números
00:06:27
Que se van generando para luego ver si están
00:06:31
Crecientes o no
00:06:33
Entonces voy a poner aquí un system.out.println
00:06:35
Para meter el salto de línea
00:06:37
Vale, vamos a ver
00:06:39
Vale, pues no están
00:06:52
De forma creciente
00:07:00
Lo que pasa es que claro, tendríamos que
00:07:01
Voy a forzar
00:07:03
uno que están de forma creciente
00:07:07
que es en lugar de meterle los aleatorios
00:07:09
que me van a salir siempre
00:07:11
desordenados
00:07:13
y es un rollo
00:07:15
voy a forzar un array que me lo vaya
00:07:16
rellenando con el propio valor de i
00:07:19
que estos van a estar de forma creciente seguro
00:07:21
a ver este ejemplo
00:07:23
que este me los va a ir rellenando con 0, 1, 2
00:07:25
a ver este
00:07:27
0, 1, 2, 3
00:07:29
están de forma creciente
00:07:31
vale, bueno, pues parece que funciona
00:07:32
ahora podríamos aplicar la misma idea
00:07:37
pero en decreciente
00:07:40
que es lo que cambia, de nuevo un boolean
00:07:43
asumo que están de forma decreciente
00:07:44
de partida, y ahora este mismo
00:07:46
for, pero este
00:07:48
este me cambia, en lugar de menor que, mayor que
00:07:50
en cuanto encuentre uno que es mayor que
00:07:52
el anterior, no están en
00:07:54
decreciente
00:07:56
entonces sería, esto me puedo
00:07:57
hacer aquí un copia y pega
00:08:00
y ahora, voy a asumir
00:08:01
decreciente true
00:08:07
en cuanto uno sea mayor
00:08:08
que el anterior
00:08:10
decreciente, cambio de idea
00:08:13
entonces ya tengo los dos Boolean
00:08:15
pueden estar creciente o no
00:08:17
decreciente o no, y en el caso de que
00:08:19
ninguno de los dos desordenados
00:08:21
sí, pero bueno
00:08:22
lo voy más o menos separando para
00:08:27
si va
00:08:29
para ir aclarándonos las ideas
00:08:30
entonces ahora ya el programa
00:08:33
podría quedar así
00:08:40
desordenado
00:08:42
Sería la tercera opción
00:08:44
Desordenados
00:08:46
Si no están creciente
00:08:48
Ni están decreciente, están desordenados
00:08:50
Tengo dos opciones, o están creciente
00:08:52
O están decreciente
00:08:54
O están desordenados
00:08:56
Ya está
00:08:59
Si le pongo en aleatorio
00:09:02
Me van a salir
00:09:05
Desordenados, claro
00:09:07
Pero bueno, vamos a probarlo así
00:09:08
Están desordenados
00:09:10
Voy a forzarle el decreciente
00:09:17
Para ver si lo saca
00:09:19
En lugar de aleatorio
00:09:21
Que lo haga
00:09:22
Con números
00:09:25
Por ejemplo
00:09:26
45 menos
00:09:31
Así me va a dar 45, 46
00:09:32
Perdón, 45, 44, 43
00:09:35
Con esto
00:09:37
Fuerzo que estén decreciente
00:09:39
A ver si así lo hace
00:09:40
Ah bueno, es que
00:09:41
No están
00:09:45
Perdón, es que este el seguir no lo he puesto mal
00:09:46
Están
00:09:49
De forma decreciente
00:09:52
Pero vamos, me había entrado en ese el save
00:09:54
Con lo cual lo había hecho bien
00:09:58
En este caso están de forma decreciente
00:10:00
Efectivamente
00:10:02
Decreciente
00:10:03
Vale
00:10:06
Bueno, pues ya está
00:10:08
Entonces, como digo siempre
00:10:10
Ante una cosa
00:10:12
Pues que uno no sabe
00:10:15
Cómo hacer de partida, porque puede ser muy fácil
00:10:16
Puede no serlo
00:10:18
Pues siempre tratad de organizar vuestra cabeza
00:10:19
las formas de trabajar que hemos hecho
00:10:22
pasa o no pasa
00:10:24
bueno, pues asumo que pasa
00:10:26
y busco un contraejemplo
00:10:28
y eso lo reproduzco para
00:10:29
todas las situaciones, creciente, decreciente
00:10:31
venga, pues ahora ya sí que
00:10:34
- 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:
- 2
- Fecha:
- 17 de noviembre de 2025 - 18:28
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 10′ 37″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 41.75 MBytes