Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
3
respostas

[Sugestão] Desafio: Calculando valor da entrega

my $valor_chuva = 0;
my $valor_taxa = 0;

print "Está chovendo? (s/n): ";
chomp(my $esta_chovendo = );

print "Distância da entrega: ";
chomp(my $dist_entrega = );

my $valor_total_entrega = 0;

if ($esta_chovendo eq 's') {
$valor_chuva = 2;
} else {
$valor_chuva = 0;
}

if ($dist_entrega < 5) {
$valor_total_entrega = $valor_chuva + 5;
}
elsif ($dist_entrega >= 5 && $dist_entrega <= 10) {
$valor_total_entrega = $valor_chuva + 8;
}
else {
$valor_total_entrega = $valor_chuva + 10;
}

print "Valor total da entrega: $valor_total_entrega\n";

3 respostas
solução!

Olá, Luiz! Como vai?

Parabéns pela resolução da atividade!

Vi que você explorou o condicional if/else para controlar a lógica de cobrança, utilizou muito bem o operador de comparação para definir faixas de distância e ainda compreendeu a importância da variável acumuladora para calcular o valor final da entrega.

Uma sugestão para o futuro seria considerar a validação das entradas do usuário, garantindo que valores inválidos ou letras não interfiram no cálculo da entrega.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Algoritmo "Calculo_Valor_Entrega"

Var
// Entrada de dados
distancia_km : real
peso_kg : real

// Processamento e taxas
taxa_por_km : real
taxa_por_kg : real
valor_frete_base : real
adicional_peso : real
valor_total_entrega : real

Inicio
Escreval("--- SISTEMA DE CÁLCULO DE FRETE E ENTREGA ---")

// Configuração das taxas padrão do sistema
taxa_por_km <- 1.50 // R$ 1,50 cobrado por cada quilômetro rodado
taxa_por_kg <- 2.00 // R$ 2,00 cobrado por cada quilo do produto

// 1. Entrada de Dados
Escreva("Digite a distância da entrega em Quilômetros (km): ")
Leia(distancia_km)

Escreva("Digite o peso do pacote em Quilos (kg): ")
Leia(peso_kg)

// 2. Processamento (Cálculos de Base)
valor_frete_base <- distancia_km * taxa_por_km
adicional_peso <- peso_kg * taxa_por_kg

// 3. Regra de Negócio Especial (Estrutura Condicional)
// Se a distância for muito longa (mais de 100km), adiciona uma taxa de seguro de R$ 20,00
Se (distancia_km > 100) Entao
valor_total_entrega <- valor_frete_base + adicional_peso + 20.00
Escreval(">> Aviso: Distância longa. Adicionada taxa de seguro de R$ 20,00.")
Senao
valor_total_entrega <- valor_frete_base + adicional_peso
FimSe

// 4. Saída de Dados (Resumo do Cálculo)
Escreval("")
Escreval("--- EXTRATO DO VALOR DA ENTREGA ---")
Escreval("Distância informada: ", distancia_km, " km")
Escreval("Peso informado: ", peso_kg, " kg")
Escreval("------------------------------------")
Escreval("Custo por distância: R$ ", valor_frete_base)
Escreval("Custo por peso: R$ ", adicional_peso)
Escreval("VALOR TOTAL DO FRETE: R$ ", valor_total_entrega)

Fimalgoritmo

Bom dia, Cícero! Tranquilo?

Gostei demais da sua resposta, continue assim!

Mandou muito bem ao apresentar a entrada de dados clara para distância e peso, detalhar o cálculo das taxas de frete e ainda incluir uma condicional para tratar entregas longas com taxa extra de seguro. Essa estrutura mostra domínio na construção de algoritmos e reforça como regras de negócio podem ser aplicadas de forma organizada e transparente.

Se quiser aprofundar ainda mais, algumas boas práticas são:

  • Validação de entrada: garantir que os valores digitados sejam positivos e dentro de limites razoáveis.
  • Relatórios automáticos: gerar um histórico de cálculos para acompanhar custos médios de entregas.
  • Flexibilidade de taxas: permitir que os valores por km e por kg sejam configuráveis pelo usuário ou empresa.

Continue postando as suas soluções! Além de ganhar pontos de XP na plataforma, você pode ajudar outros estudantes no fórum.

Ah, uma pergunta: você considera mais interessante manter esse algoritmo direto ou expandir para incluir diferentes tipos de taxas e descontos, como promoções por fidelidade ou entregas em regiões específicas?

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!