2
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";

2 respostas

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