1
resposta

Desafio: Calculando valor da entrega

Início

int pedido = 30;
int taxa = 0;
boolean chuva;
int km = 0 ;

Exiba: Informe a quilometragem da sua casa até o nosso estabelecimento:
Leia entrada(km)
O sistema detectou que está chuvendo (chuva = true)

      Se km > 10
            taxa = 10;

      Senao se km <= 5 
            taxa = 5;

      Senao
            taxa = 8

      Se chuva == true 
            taxa += 2;

valorEntrega = pedido + taxa;

exiba: "O valor total do seu pedido é " + valorEntrega "."

Fim

Ps: No enunciado ele pede o valor total da entrega, eu interpretei que isso seria a soma do valor da taxa, mais o valor do pedido, por isso esse final. 

      

1 resposta

Oi, Débora. Tudo bem com você?

Sua solução já traz um avanço interessante em relação ao que o desafio pede: você foi além da linguagem natural e escreveu algo muito próximo de um código real, com tipos de variáveis, operadores e estruturas condicionais. A lógica das faixas de distância e o acréscimo por chuva estão corretos, e a observação que você fez sobre o valor total do pedido mostra que você leu o enunciado com atenção e tomou uma decisão consciente.

Continuar praticando esse exercício de traduzir regras de negócio em estruturas condicionais vai fazer bastante diferença quando você começar a trabalhar com uma linguagem de programação de verdade.

Um ponto que vale revisar é a ordem das condições de distância. No seu algoritmo, a primeira verificação é "se km > 10", depois "se km <= 5" e por último o "senão" pega a faixa do meio. Essa ordem funciona, mas uma convenção bastante usada é verificar as faixas em ordem crescente, do menor para o maior valor. Fazendo assim, fica mais fácil para quem lê o código acompanhar a progressão das regras sem precisar montar o raciocínio de trás para frente.

Obrigado por compartilhar sua solução no fórum.

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