Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Desafío: Calculando el valor de la entrega

Hola Estimada Comunidad!

Mi solución al problema planteado:

Estás desarrollando un sistema para una empresa de delivery. El valor de la tarifa de entrega depende de la distancia hasta el cliente y si el pedido se realizó en un día de lluvia.

Las reglas son:

  • Para entregas de hasta 5 km, la tarifa es de $5.00.
  • Entre 5 y 10 km, la tarifa es de $8.00.
  • Más de 10 km, la tarifa es de $10.00.
  • Si está lloviendo, se añade $2.00 a la tarifa estándar.

El desafío de esta actividad es crear un algoritmo en lenguaje natural que informe el valor final de la entrega.

Solución planteada:

Para dar solución a la problemática solicitada, esta puede plantearse de la siguiente forma:

Haciendo uso de las sentencias if-elif-else se puede evaluar el valor de la tarifa entrega en base a los rangos de distancia establecidas. Agregando en caso de lluvia un recargo extra. Para ello, se asignan las variables “distancia_entrega” que representa la distancia del envió en km; inicializada en cero a la espera de recibir un valor, la variable “recargo_extra” con el valor “2.00”, en caso de que se deba hacer un recargo por lluvia y la variable “estado_clima” inicializada en cero, a la espera de recibir un valor cero en caso de que no haya lluvia y un valor uno en caso de que si este lloviendo.

Datos de Entrada:

  • distancia_entrega = 0
  • valor_entrega = 0
  • recargo_extra = 2.00
  • estado_clima = 0

Proceso:

Primero, el sistema solicita el valor de la distancia en km, una vez evaluado el valor, este mostrara un mensaje con el valor de entrega asignado. Posteriormente, el sistema preguntara si hay lluvia, en caso de una respuesta positiva agregara un recargo de 2.00 al valor total de la entrega.

Pantalla de Bienvenida Sistema de Despacho

Ingrese distancia (km) de entrega:
distancia_entrega = valor ingresado

if distancia_entrega >= 1 Y distancia_entrega <=5:

valor_entrega = 5.00
Mostrar mensaje: “El valor de la tarifa es de: 5.00”

elif distancia_entrega >= 1 Y distancia_entrega <=5:

valor_entrega = 8.00
Mostrar mensaje: “El valor de la tarifa es de: 8.00”

elif distancia_entrega < 10:

valor_entrega = 10.00
Mostrar mensaje: “El valor de la tarifa es de: 10.00”

Una vez ingresada y evaluada la distancia para determinar el valor de entrega, el sistema muestra el valor evaluado en la variable “valor_entrega”.
Posteriormente, evalúa si hay lluvia para evaluar un potencial recargo al valor de entrega.

Evaluación de recargo extra:
¿Está lloviendo? Ingrese 1 (Si) o 0 (No)

estado_clima = valor ingresado
If estado clima = 1:

    valor_total_recargo = valor_entrega + recargo_extra
    Mostrar mensaje: “Está lloviendo, hay recargo, valor de la tarifa es de: valor_total_recargo”

else:

    valor total = valor_entrega
    Mostrar mensaje: “El valor de la tarifa es de: valor_total”

Datos de Salida:

El sistema, una vez realizadas las evaluaciones, mostrara como dato de salida el valor de la entrega con o sin recargo, según sea el caso.

1 respuesta

Hola, Estudiante! ¿Cómo vas?
Gracias por compartir tus reflexiones y aprendizajes con la comunidad Alura. Me gustó cómo organizaste la solución separando datos de entrada, proceso y datos de salida, porque eso ayuda a visualizar mejor el algoritmo antes de llevarlo a un lenguaje de programación.

Un ajuste importante está en las condiciones: el segundo elif repite el rango de 1 a 5 km, y el último caso debería cubrir distancias mayores que 10 km. Consejo: revisa los rangos uno por uno para que no se crucen: hasta 5 km, mayor que 5 y hasta 10 km, y mayor que 10 km; luego suma el recargo si estado_clima es igual a 1. Vas por buen camino, porque la lógica general de aplicar una tarifa base y después evaluar la lluvia está bien planteada. Cuenta con el apoyo del foro en tu viaje. Saludos y buenos estudios!