📝 Descripción del Problema
Realizar una búsqueda secuencial en un arreglo (VECTOR) que está ordenado. La búsqueda debe detenerse si el elemento actual (V[I]) es mayor que el elemento buscado (X), ya que esto indicaría que X no se encuentra en el arreglo.
Datos: VECTOR (arreglo de enteros), X (entero a buscar).
💡 Pistas y Fórmulas Clave
- La clase principal debe llamarse
BusquedaSecuencialOrdenada.java. - Este problema se resuelve con un solo bucle
while. - La condición del bucle es clave. Debe continuar mientras ambas cosas sean ciertas:
- El índice
iestá dentro de los límites del arreglo (i < vector.length). - El elemento actual es menor que el buscado (
vector[i] < x).
- El índice
- Después de que el bucle se detiene, se debe hacer una verificación final:
if (i < vector.length && vector[i] == x)-> Encontrado. Devolveri.else-> No encontrado. Devolver-1.
- Los tests deben probar todos los casos: encontrado (inicio, medio, fin) y no encontrado (menor, en medio, mayor).
📊 Diagrama de Flujo
▶️ Prueba y Resultados
Resultado de ejecutar --select-class TestBusquedaSecuencialOrdenada en la terminal.
PS C:\Users\...\Ejercicios> java -jar lib\junit-platform-console-standalone-1.9.3.jar -cp "src;tests" --select-class TestBusquedaSecuencialOrdenada
Thanks for using JUnit! Support its development at https://junit.org/sponsoring
.
+-- JUnit Jupiter [OK]
| '-- TestBusquedaSecuencialOrdenada [OK]
| +-- testNoEncontrado_Intermedio() [OK]
| +-- testEncontradoAlInicio() [OK]
| +-- testNoEncontrado_MenorQueTodos() [OK]
| +-- testEncontradoAlFinal() [OK]
| +-- testNoEncontrado_MayorQueTodos() [OK]
| '-- testEncontradoEnMedio() [OK]
'-- JUnit Platform Suite [OK]
Test run finished after 95 ms
[ 3 containers found ]
[ 0 containers skipped ]
[ 3 containers started ]
[ 0 containers aborted ]
[ 3 containers successful ]
[ 0 containers failed ]
[ 6 tests found ]
[ 0 tests skipped ]
[ 6 tests started ]
[ 0 tests aborted ]
[ 6 tests successful ]
[ 0 tests failed ]