1
resposta

Desafio: calculando o valor da entrega

Boa tarde!

Agradeço se alguém puder fazer ajustes, propor melhorias ou comentar essa solução.

Um forte abraço.


Algoritmo para Cálculo de Taxa de Entrega - Sistema de Delivery
Objetivo
Calcular o valor da taxa de entrega com base na distância e nas condições climáticas (chuva), aplicando as regras de negócio definidas.

Algoritmo em Linguagem Natural (Passo a Passo Executável)

  1. ETAPA DE ENTRADA DE DADOS
    INÍCIO

Inicie o processo de cálculo da taxa de entrega.

SOLICITAÇÃO DA DISTÂNCIA

Exiba: "Informe a distância para entrega (em km):"

Aguarde e capture o valor digitado, armazenando em distancia_km.

VERIFICAÇÃO DAS CONDIÇÕES CLIMÁTICAS

Exiba: "Está chovendo no momento? (S para Sim / N para Não):"

Aguarde e capture a resposta:

Se resposta = "S" ou "s" → esta_chovendo = VERDADEIRO

Se resposta = "N" ou "n" → esta_chovendo = FALSO

  1. ETAPA DE PROCESSAMENTO
    CÁLCULO DA TAXA BASE POR DISTÂNCIA

SE distancia_km ≤ 5:

taxa_base = 5.00

SENÃO, SE distancia_km ≤ 10:

taxa_base = 8.00

SENÃO:

taxa_base = 10.00

APLICAÇÃO DO ADICIONAL POR CHUVA

SE esta_chovendo for VERDADEIRO:

taxa_final = taxa_base + 2.00

SENÃO:

taxa_final = taxa_base

  1. ETAPA DE SAÍDA
    EXIBIÇÃO DO RESULTADO

Formate e exiba a mensagem final:

"Taxa de entrega: R$ [taxa_final]"

FIM

Encerre o processo de cálculo.

Exemplos Práticos de Execução
Cenário 1: Entrega próxima sem chuva

text
Sistema: "Informe a distância para entrega (em km):"
Usuário: 3
Sistema: "Está chovendo no momento? (S para Sim / N para Não):"
Usuário: N
Sistema: "Taxa de entrega: R$ 5,00"
Cenário 2: Entrega média com chuva

text
Sistema: "Informe a distância para entrega (em km):"
Usuário: 7
Sistema: "Está chovendo no momento? (S para Sim / N para Não):"
Usuário: S
Sistema: "Taxa de entrega: R$ 10,00"
→ R$ 8,00 (distância) + R$ 2,00 (chuva) = R$ 10,00

Cenário 3: Entrega longa sem chuva

text
Sistema: "Informe a distância para entrega (em km):"
Usuário: 15
Sistema: "Está chovendo no momento? (S para Sim / N para Não):"
Usuário: N
Sistema: "Taxa de entrega: R$ 10,00"
Cenário 4: Entrega longa com chuva

text
Sistema: "Informe a distância para entrega (em km):"
Usuário: 12
Sistema: "Está chovendo no momento? (S para Sim / N para Não):"
Usuário: S
Sistema: "Taxa de entrega: R$ 12,00"
→ R$ 10,00 (distância) + R$ 2,00 (chuva) = R$ 12,00

Tabela de Valores de Referência
Distância Taxa Base Com Chuva
Até 5 km R$ 5,00 R$ 7,00
5 a 10 km R$ 8,00 R$ 10,00
Acima 10 km R$ 10,00 R$ 12,00

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Olá Adriano! Como vai?

Seu algoritmo para calcular a taxa de entrega está muito bem estruturado e cobre as regras de negócio especificadas. Vou te dar algumas sugestões para melhorias e ajustes que podem tornar o algoritmo ainda mais claro e eficiente:

  1. Validação de Entrada: Considere adicionar uma validação para garantir que o usuário insira valores numéricos válidos para a distância e apenas 'S' ou 'N' para a condição climática. Isso pode evitar erros durante a execução.

  2. Mensagens de Erro: Caso a entrada não seja válida, exiba uma mensagem de erro e solicite novamente a entrada. Isso melhora a experiência do usuário.

  3. Simplificação de Lógica: O seu algoritmo já está bem claro, mas você pode considerar usar uma estrutura de seleção única para a verificação da distância, como um se...senão se...senão, para deixar o código ainda mais limpo.

  4. Uso de Constantes: Considere definir as taxas como constantes no início do algoritmo. Isso facilita a manutenção e atualização dos valores no futuro.

Aqui está um exemplo de como você poderia implementar essas sugestões:

1. ETAPA DE ENTRADA DE DADOS
INÍCIO

Inicie o processo de cálculo da taxa de entrega.

SOLICITAÇÃO DA DISTÂNCIA

Exiba: "Informe a distância para entrega (em km):"

Aguarde e capture o valor digitado, validando se é um número positivo, armazenando em distancia_km.

VERIFICAÇÃO DAS CONDIÇÕES CLIMÁTICAS

Exiba: "Está chovendo no momento? (S para Sim / N para Não):"

Aguarde e capture a resposta, validando se é 'S', 's', 'N' ou 'n'.

2. ETAPA DE PROCESSAMENTO
CÁLCULO DA TAXA BASE POR DISTÂNCIA

SE distancia_km ≤ 5:
    taxa_base = 5.00
SENÃO SE distancia_km ≤ 10:
    taxa_base = 8.00
SENÃO:
    taxa_base = 10.00

APLICAÇÃO DO ADICIONAL POR CHUVA

SE esta_chovendo for VERDADEIRO:
    taxa_final = taxa_base + 2.00
SENÃO:
    taxa_final = taxa_base

3. ETAPA DE SAÍDA
EXIBIÇÃO DO RESULTADO

Formate e exiba a mensagem final:
"Taxa de entrega: R$ [taxa_final]"

FIM

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.