1
resposta

[Dúvida] 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.

//Entrada
exibir "seja bem vindo ao conversor de moedas"
pedir o valor que deseja ser convertido
//R$10,40

perguntar escolher taxa de cambio fixa ou propria ?
//taxa propria = usuario que vai colocar

se for taxa de cambio fixa = exibir R$5,20
se não = usuario deve escrever a taxa de cambio propria e o sistema armazernar o valor

//Calculo
função ConverterParaDolar(ValorAConverter, TaxaFixa, TaxaPropria)
Return (valorAConverter/TaxaFixa)
//como eu poderia fazer para ler a taxa propria que o usuario vai colocar ? teria como fazer um if/else dentro da função ?

//Valor total

Exibir "O seu valor em convertido é:" + ConverterParaDolar + "Dolares"

Agora eu fiz certo ??
pode me falar no que melhorar e prestar mais atenção ?

1 resposta

Oi Cauê, tudo bem?

Fico muito contente em ver sua evolução! Você já conseguiu identificar a necessidade de uma função e como organizar o fluxo de entrada e saída. A lógica de dar escolha ao usuário entre uma taxa fixa ou própria é excelente para tornar o sistema mais flexível.

Pra responder sua dúvida e ajudar a organizar melhor seu algoritmo, vamos ajustar alguns pontos.

Como lidar com a taxa própria?

A melhor forma de fazer isso é definir qual será a taxa antes de chamar a função. Assim, a função fica simples e foca apenas no cálculo.

  1. O sistema pergunta se o usuário quer taxa fixa ou própria.
  2. O sistema guarda a resposta em uma variável, por exemplo, taxaEscolhida.
  3. Depois, você chama a função passando esse valor.

Uma forma de organizar o seu pensamento pra que o computador entenda os passos:

  • Início do Programa

    • Exibir "Seja bem-vindo ao conversor de moedas".
    • Pedir o valorEmReais que o usuário deseja converter.
    • Perguntar: "Deseja usar taxa fixa (5.20) ou informar uma taxa própria?".
    • Se a escolha for "fixa":
    • taxaFinal recebe 5.20.
  • Senão:

    • Pedir para o usuário digitar a taxa e armazenar em taxaFinal.
  • Chamar a função ConverterParaDolar passando (valorEmReais, taxaFinal).

  • Exibir o resultado retornado pela função.

Ajuste na sua função

No seu código, a função estava recebendo muitos parâmetros. O ideal é que ela receba apenas o necessário para o cálculo:

Exemplo da função:
Função ConverterParaDolar (valor, taxa)
Retornar valor / taxa
Fim da Função

O que prestar mais atenção?

  1. Variáveis únicas: Tenta usar uma única variável para a "taxa" que será usada no cálculo final, independentemente de onde ela veio (se foi fixa ou do usuário). Isso simplifica sua função.
  2. Momento da chamada: Lembra que a função é como uma "máquina". Você só coloca as peças nela (os valores) depois que já tem todas em mãos.
  3. Nomes claros: Você usou bons nomes, mas lembra que, ao exibir o resultado, você deve mostrar o valor que a função calculou, e não o nome da função em si.

Você tá no caminho certo ao tentar prever as escolhas do usuário. Isso demonstra uma ótima visão de quem desenvolve software.

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