PS 4.11

Búsqueda de Ciudades

Desarrolla un programa que busque una ciudad en un arreglo de N ciudades usando búsqueda lineal. El algoritmo valida que 1 ≤ N ≤ 1000, llena el arreglo CIUDADES con un ciclo for (I ← 0; I < N; I ← I + 1), lee la ciudad CIU a buscar, y ejecuta otro ciclo comparando CIUDADES[I] = CIU (ignorando mayúsculas/minúsculas) hasta encontrarla o terminar el arreglo.

Requisitos

  • Leer N (validar 1 ≤ N ≤ 1000)
  • Si N no es válido, mostrar error y terminar
  • Crear arreglo CIUDADES de tamaño N
  • Llenar arreglo con ciclo for (I de 0 a N-1)
  • Leer CIU (ciudad a buscar)
  • Buscar con ciclo for: si CIUDADES[I] = CIU entonces ENCONTRADA ← true y salir del ciclo (break)
  • Mostrar si la ciudad se encontró o no

Ejemplo de uso esperado

// Entrada:
========================================
Búsqueda de Ciudades
========================================
Ingrese el número de ciudades (N) [1-1000]: 5

Ingrese los nombres de las 5 ciudades:
Ciudad 1: México
Ciudad 2: Madrid
Ciudad 3: Buenos Aires
Ciudad 4: Lima
Ciudad 5: Bogotá

Ingrese el nombre de la ciudad a buscar: lima

// Salida:
=========================================
La ciudad 'lima' SÍ se encuentra en el arreglo.
=========================================

// Nota: La búsqueda ignora mayúsculas/minúsculas (equalsIgnoreCase)

Notas rápidas

Detalles importantes:

  • Usa String[] para el arreglo de ciudades
  • La búsqueda lineal tiene complejidad O(N) - revisa cada elemento
  • Usa equalsIgnoreCase() para comparar strings sin importar mayúsculas
  • Usa break para salir del ciclo inmediatamente al encontrar la ciudad
  • Recuerda scanner.nextLine() después de nextInt() para consumir el salto de línea
  • Arreglos en Java empiezan en índice 0 (base-0)

📊 Diagrama de Flujo

Diagrama de Flujo - Búsqueda de Ciudades

Diagrama de flujo del algoritmo