Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

DESAFIO CONVERTENDO MOEDA

Oi gente, considerando que a taxa representa, quantos reais equivalem a 1 dólar .
Exemplo: 1 dolar é = R$ 5,00
valor_convertido ← valor_em_reais / taxa_de_cambio
Retorne valor_convertido
FimFunção

Início
Leia valor_em_reais
Leia taxa_de_cambio

resultado ← converter_para_dolar(valor_em_reais, taxa_de_cambio)
Escreva "Com a taxa atual, o valor em dólares é: ", resultado
Fim

Oi pessoal, pra evitar erros e deixar o sistema mais fácil de manter, foi definida uma regra importante: a taxa_reais_por_unidade indica quantos reais são necessários para comprar 1 unidade da moeda estrangeira. Por exemplo R$ 5,00 equivalem a US$ 1,00. Deixar essa regra clara evita confusões no cálculo da conversão.

Além disso, se vc for simular um algoritmo pra sistema real todas as moedas podem ficar organizadas em uma única tabela, pra facilitar futuras atualizações, que era uma duvida que eu tinha de como facilitar pra atualizaçao, dica é vc procurar deixar o sistema validar os dados informados para garantir mais segurança e funcionamento correto.

2 respostas
solução!

Olá, Lavinia. Como vai?

Seu raciocínio está corretíssimo e demonstra uma ótima maturidade em lógica de programação. Definir uma unidade de medida padrão (neste caso, o Real como base para o custo da unidade estrangeira) é uma das melhores formas de evitar erros de cálculo e facilitar a compreensão de quem lê o código.

Gostaria de complementar sua ideia sobre a organização em tabelas e a validação de dados, que são pontos cruciais para sistemas reais:

  • Centralização das Taxas: Em um cenário profissional, em vez de pedir para o usuário digitar a taxa toda vez, costumamos usar um dicionário ou uma base de dados. Isso permite que o sistema busque a informação de forma automática e centralizada.
  • Segurança e Validação: Como você mencionou, validar os dados é essencial. No seu algoritmo, um ponto crítico seria garantir que a taxa_de_cambio nunca seja zero, pois isso causaria um erro matemático de divisão por zero.
  • Escalabilidade: Ao organizar os dados em uma estrutura única, se o valor do dólar mudar ou se você decidir adicionar o Euro ou a Libra, basta alterar uma única linha na sua tabela de referência, sem precisar mexer na lógica da função de conversão.

Veja como o seu pseudocódigo poderia ficar ainda mais robusto com uma validação simples:

Função converter_para_dolar(valor_em_reais, taxa_de_cambio)
    Se taxa_de_cambio <= 0 Então
        Retorne "Erro: Taxa de câmbio inválida"
    Senão
        valor_convertido ← valor_em_reais / taxa_de_cambio
        Retorne valor_convertido
    FimSe
FimFunção

Essa pequena adição garante que o sistema não "quebre" caso alguém insira um dado incorreto por acidente. Parabéns por já estar pensando na manutenção e na segurança do sistema, esses são diferenciais importantes para qualquer pessoa que desenvolve software!

Espero que possa ter lhe ajudado!

Oi Evandro, obrigada pelo elogio.
Os cursos estão me ajudando bastante e eu adoro algoritmo, porque tem que pensar com estratégia e é desafiador haha