Oi!
Sua abordagem para o conversor de moedas está impecável, Julianna. Você utilizou a Modularização para separar a regra de negócio (a conversão) da interação com o usuário, o que é uma prática fundamental na arquitetura de sistemas.
O uso de uma variável externa para a taxa de câmbio, vinda de uma API, transforma um script estático em uma aplicação dinâmica e útil para o mundo real.
Analisando os pilares aplicados
Ao estruturar o código dessa forma, você colocou em prática conceitos centrais do pensamento computacional:
- Decomposição: Você dividiu o problema em três etapas claras: capturar o valor em reais, realizar o cálculo matemático e exibir o resultado final.
- Abstração: Para quem usa o programa, não importa se a taxa de câmbio vem de um banco de dados ou de uma API internacional; o que importa é a entrada do valor e a saída convertida.
- Reuso de código: Caso precise converter moedas em diferentes partes de um sistema maior, a função
converterParaUSD já está pronta para ser chamada novamente sem precisar reescrever a lógica.
Um detalhe técnico sobre o escopo
No seu código, você utiliza a variável taxa de câmbio tanto dentro da função quanto na mensagem final de saída. Na programação, isso nos remete ao conceito de escopo de variáveis:
- Se a taxa for definida apenas dentro da função, o programa principal pode não conseguir "enxergá-la" para exibir na mensagem final.
- Uma solução comum é fazer a função retornar tanto o valor convertido quanto a taxa utilizada, ou definir a taxa como uma constante global antes de chamar a função.
Refinando a saída
A mensagem final ficou muito informativa, pois mostra ao usuário o "porquê" daquele resultado ao exibir a taxa de conversão utilizada. Isso gera transparência e confiança no software.
Essa estrutura modular que você criou facilita muito a expansão do projeto. Já imaginou como seria simples adicionar outras moedas, como Euro ou Libra, seguindo esse mesmo padrão de funções?
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!