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!

1
resposta

[Projeto] Desafio: Calculando valor da entrega

  1. DADOS DE ENTRADA (Mapeamento das variáveis)
  • Obter a distância do restaurante até a casa do cliente e armazenar na variável km_entrega.
  • Verificar se está chovendo no momento e armazenar o estado (Verdadeiro/Falso) na variável chuva.
  • Criar uma variável chamada taxa_final para armazenar o valor que será calculado.
  1. PROCESSAMENTO (Definição da Taxa Base por Distância)
  • SE km_entrega for menor ou igual a 5:
    taxa_final recebe o valor de R$ 5,00.
  • SENÃO, SE km_entrega for maior que 5 E menor ou igual a 10:
    taxa_final recebe o valor de R$ 8,00.
  • SENÃO (caso a distância seja maior que 10 km):
    taxa_final recebe o valor de R$ 10,00.
  1. PROCESSAMENTO EXTRA (Verificação da Condição de Chuva)
  • SE chuva for igual a Verdadeiro (true):
    Some R$ 2,00 ao valor atual de taxa_final.
  • SENÃO (false):
    Não faça nada (o valor da taxa permanece o mesmo).
  1. AÇÃO FINAL (Output)
  • Exiba na tela para o cliente a mensagem: "O valor final da sua entrega é: R$ [taxa_final]".
    Encerre o programa.
1 resposta

Olá, Gustavo. Como vai?

Mais um excelente projeto! Você estruturou a lógica do desafio de cálculo de frete com muita precisão, aplicando perfeitamente os conceitos de estruturas condicionais encadeadas (Se / Senão Se / Senão) e condicionais simples.

A divisão que você fez entre Dados de Entrada, Processamento e Ação Final reflete exatamente a anatomia de um algoritmo bem construído na computação. O seu mapeamento de variáveis ficou claro e a lógica para o acréscimo da taxa de chuva funcionou perfeitamente como um bloco independente, o que é uma ótima prática de design de código.

Para agregar valor ao seu aprendizado e levar o seu algoritmo para o próximo nível, trago duas sugestões de boas práticas baseadas no que você desenvolveu:

1. Otimização de Condicionais (Redundância)
No seu segundo bloco de processamento, você escreveu: SENÃO, SE km_entrega for maior que 5 E menor ou igual a 10.

Na programação, quando o algoritmo chega no primeiro SENÃO, ele já sabe de forma implícita que a distância é maior que 5 (afinal, se fosse menor ou igual a 5, ela teria entrado na primeira condição). Portanto, você pode simplificar o código removendo o teste maior que 5 E, deixando apenas SE km_entrega <= 10. Isso deixa o processamento do seu sistema mais rápido e o código mais limpo.

2. Tradução para Pseudocódigo Estruturado
Para exercitar a escrita formal desses passos em uma estrutura que se aproxime das linguagens de programação, veja como o seu excelente raciocínio pode ser escrito em formato de pseudocódigo:

Algoritmo CalculoEntrega
Início
// Declaração das variáveis
Definir km_entrega Como Real
Definir chuva Como Logico
Definir taxa_final Como Real

// Entrada de dados
Escreva("Digite a distância da entrega em km:")
Leia(km_entrega)

Escreva("Está chovendo no momento? (Verdadeiro/Falso):")
Leia(chuva)

// Processamento da Taxa Base por Distância
Se km_entrega <= 5 Então
    taxa_final <- 5.00
Senão Se km_entrega <= 10 Então
    taxa_final <- 8.00
Senão
    taxa_final <- 10.00
FimSe

// Processamento Extra (Condição de Chuva)
Se chuva = Verdadeiro Então
    taxa_final <- taxa_final + 2.00
FimSe

// Saída do resultado (Output)
Escreva("O valor final da sua entrega é: R$ ", taxa_final)
Fim

Note como a estrutura lógica criada por você resolve o problema de ponta a ponta sem brechas para erros de cálculo. Parabéns pelo empenho e pela qualidade na entrega dos seus desafios de Pensamento Computacional!

Espero que possa ter lhe ajudado!