Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
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.

Para entender melhor como elaborar uma solução para esse desafio, clique na Opinião da Pessoa Instrutora

    1. Function: convertRealToDollar (value, taxCurrency)
    1. Criar uma variável chamada convertedValue
    1. Calcular: convertedValue = value / taxCurrency
    1. Retornar o valor de convertedValue
  • Fim
1 resposta
solução!

Olá, Julia. Como vai?

Parabéns pela resolução do desafio! O seu algoritmo em linguagem natural capturou perfeitamente o pensamento computacional necessário para resolver o problema, isolando a lógica de conversão dentro de uma função com responsabilidade única e bem definida.

A sua escolha de dividir o valor em reais pela taxa de câmbio para obter o montante em dólares está matematicamente e logicamente correta para o cenário proposto.

Para agregar ainda mais valor ao seu aprendizado de lógica e fundamentos da computação, quero compartilhar duas sugestões práticas: uma focado em modelagem de processos e outra trazendo o seu algoritmo para a sua realidade de desenvolvimento em PHP!

1. O Fluxo de Dados na Função

Na computação, é excelente visualizarmos as funções como uma "caixa-preta" que segue o princípio de Entrada -> Processamento -> Saída. No seu algoritmo, os parâmetros atuam como a entrada, a operação matemática como o processamento e o retorno como a saída. Veja esse fluxo:


2. Trazendo a Lógica para o PHP

Como você atua com PHP, veja como o seu algoritmo em linguagem natural se traduz perfeitamente em código limpo, tipado e seguindo as boas práticas modernas da linguagem (PHP 8+):

<?php

/**
 * Converte um valor em Reais (BRL) para Dólares (USD).
 *
 * @param float $valueInReal O valor em reais a ser convertido.
 * @param float $exchangeRate A taxa de câmbio atual (ex: 5.40).
 * @return float O valor convertido em dólares.
 */
function convertRealToDollar(float $valueInReal, float $exchangeRate): float 
{
    $convertedValue = $valueInReal / $exchangeRate;
    
    return $convertedValue;
}

// --- Exemplo de Uso no Sistema da Agência ---

$valorParaViagem = 1000.00; // R$ 1000,00
$cotacaoDoDia = 5.45;       // Taxa de câmbio

$valorEmDolar = convertRealToDollar($valorParaViagem, $cotacaoDoDia);

// Exibindo o resultado formatado com duas casas decimais
echo "O valor de R$ " . number_format($valorParaViagem, 2, ',', '.') . 
     " equivale a US$ " . number_format($valorEmDolar, 2, '.', ',');

Boas Práticas Aplicadas:

  • Tipagem Estrita (float): Garantimos que a função apenas aceite números decimais para o cálculo, evitando erros de execução no PHP caso o sistema envie um texto ou valor nulo por engano.
  • Formatadores de Saída: Na hora de exibir o resultado para o cliente da agência de viagens, utilizamos o number_format para adequar a exibição aos padrões visuais de cada moeda (vírgula para centavos no Real e ponto para o Dólar).

A base do pensamento computacional é justamente essa capacidade de desenhar a lógica abstrata antes de codificar. Você estruturou o algoritmo perfeitamente!

Espero que possa ter lhe ajudado!