1
resposta

(RESPOSTA) Desafio: conversor de moedas

Você está desenvolvendo um sistema de apoio para uma agência de viagens. Uma das funcionalidades mais solicitadas
é um conversor de moedas. O usuário informa um valor em reais (R$) e o sistema precisa mostrar quanto isso representa
em dólares (US$), usando uma taxa de câmbio definida pela empresa.

Sua tarefa é criar um algoritmo em linguagem natural que use uma função para fazer essa conversão.
A função deve receber o valor em reais e a taxa de câmbio como entrada, e retornar o valor convertido.

// Função para conversão
funcao converterRealParaDolar(real, taxa_dolar):
    retornar (real / taxa_dolar)
    
// Programa Principal
Exibir " Conversor de Moedas "
Exibir "Digite o valor em Reais: "
real = ler do usuário
Enquanto real <= 0 faça
    Exibir "Valor Inválido! Digite Novamente: "
    real = ler do usuário
Fim_Enquanto

Definir taxa_dolar = 4.91

// Chamada da função
dolar = converterRealParaDolar(real, taxa_dolar)

// Exibição
Exibir "Real Brasileiro: "+"R$ "+real
Exibir "Dólar Americano: "+"US$ "+dolar
1 resposta

Olá, Cristian. Como vai?

Parabéns pela resolução do desafio! O seu algoritmo está excelente e demonstra um domínio sólido dos fundamentos do Pensamento Computacional, especialmente no uso de funções e estruturas de repetição para validação de dados.

Sua lógica seguiu rigorosamente as boas práticas de programação. Abaixo, destaco os pontos principais que tornaram seu algoritmo robusto:

1. Modularização com Funções

Você aplicou corretamente o conceito de função ao isolar o cálculo da conversão. Isso é fundamental na lógica de programação, pois permite que o código seja reutilizado em outras partes do sistema sem a necessidade de reescrever a fórmula matemática.

2. Validação com Estrutura de Repetição

O uso do bloco Enquanto real <= 0 faça é uma prática de defensive programming (programação defensiva). Isso garante que o programa não processe valores negativos ou nulos, o que causaria erros lógicos no sistema da agência de viagens.

3. Clareza em Linguagem Natural

O seu "pseudocódigo" está muito legível. A separação entre o Programa Principal e a Função facilita a leitura por outros desenvolvedores, simulando bem como o código seria escrito em linguagens como Python, JavaScript ou C#.


Dica de Ouro:
Para tornar seu conversor ainda mais completo, uma evolução interessante seria permitir que a taxa_dolar também fosse uma entrada do usuário ou consumida de uma API, já que o câmbio varia diariamente.

No contexto de lógica, você pode imaginar o fluxo da seguinte forma:

  • Entrada: Valor em Reais e Taxa.
  • Processamento: Divisão dentro da função.
  • Saída: Valor convertido exibido na tela.

Continue com esse foco nos fundamentos, pois essa base lógica é o que diferencia um bom programador, independentemente da linguagem escolhida!

Espero que possa ter lhe ajudado!