Desafío práctico: optimizar el recorrido de un ascensor

Clase 19 de 19Curso de Pensamiento Lógico

Resumen

Optimizar el recorrido de un ascensor en un edificio de varios pisos requiere aplicar pensamiento lógico y estructurado. Vas a resolver un desafío práctico creando un diagrama de flujo y el código necesario, en cualquier lenguaje de programación, para lograr que un ascensor transporte eficientemente a varias personas desde diferentes pisos y hasta distintos destinos, reduciendo tanto el tiempo empleado como la cantidad total de paradas.

¿Cómo organizar el recorrido del ascensor para la menor cantidad de paradas?

El ascensor parte siempre desde el primer piso en un edificio de diez pisos. Cuatro personas aguardan en diferentes niveles, listos para dirigirse a distintos destinos:

  • Vos estás en el piso 2 y tu destino es el piso 10.
  • Pedro se encuentra en el piso 5 y quiere ir al piso 1.
  • Juan espera en el piso 8 y necesita llegar al piso 7.
  • Carla aguarda en el piso 3 y desea ir al piso 4.

Para minimizar paradas y tiempo de desplazamiento, considerá:

  • Agrupar personas que viajan en la misma dirección, ya sea de subida o de bajada.
  • Planificar un recorrido que permita al ascensor evitar detenciones innecesarias cuando se traslada vacío.
  • Organizar las paradas en función de la proximidad entre los niveles donde suben y bajan los pasajeros.

¿Qué pasos seguir para resolver este desafío en código?

Crear una programación lógica implica poner atención en los siguientes pasos fundamentales:

  1. Definir variables: pisos iniciales y destinos de cada persona, posición inicial del ascensor (piso 1).
  2. Establecer reglas: siempre minimizar paradas y tiempo; mover pasajeros en dirección común.
  3. Estructurar secuencia lógica:
  4. Identificar los pisos donde debe detenerse inicialmente.
  5. Agrupar movimientos por direccionamiento ascendente o descendente.
  6. Repetir hasta entregar en el destino final a cada pasajero.
  7. Crear y probar el diagrama de flujo con las condiciones planteadas antes de pasar al código.

¿Qué recomendaciones considerar para elegir un lenguaje de programación?

A la hora de resolver este tipo de desafíos, seleccionar el lenguaje de programación más acorde a tus objetivos futuros es esencial. Puedes explorar:

  • Python: útil para ciencia de datos, machine learning y automatización.
  • JavaScript: orientado hacia proyectos web.
  • Optar por otro lenguaje si las preferencias o necesidades son distintas.

Comprender los fundamentos básicos del pensamiento lógico-algorítmico mejora cualquier aprendizaje y desarrollo futuro, haciendo que la elección concreta del lenguaje sea menos determinante.

¿Estás listo para crear tu diagrama y escribir tu código? Te invito a compartir tu solución en los comentarios.