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

Conta

public double Maior(double a, double b, double c) { return Maior(Maior(a, b), c); }

mas onde fica o cálculo... Onde o computador vai entender e analisar o que é para fazer com essas variáveis. Tipo, fazer "a<b" e "b>c" (como antes quando tinha os IFs).. Será feita de maneira automática?

2 respostas
solução!

Olá João,

O nosso código referência, será apenas o primeiro código:

public double Maior(double a, double b)
{
    if (a > b)
    {
        return a;
    }
    return b;
}

Os códigos que o professor utiliza abaixo desse, são apenas códigos sendo melhorados passo a passo.

Note que o problema é para descobrir o maior valor de 3. Assim, utilizamos o código abaixo, com a sobrecarga do primeiro código (código acima). Veja:

public double Maior(double a, double b, double c)
{
    return Maior(Maior(a, b), c);
}

Neste trecho dó código estamos fazendo o cálculo: return Maior(Maior(a, b), c);, perceba que estamos utilizando o Maior duas vezes, esse Maior está se referindo ao primeiro código. Vamos supor que o b seja o maior número deste trecho: Maior(a, b). O próximo cálculo será este: Maior (b, c).

Conseguimos, ainda utilizando o primeiro código como sobrecarga, descobrir o maior número de 4. Veja:

public double Maior(double a, double b, double c, double d)
        {
            return Maior(Maior(Maior(a, b), c), d); // todos esses `Maior` estão utilizando o primeiro código como sobrecarga
        }

Espero ter ajudado.

Abraços

Ana, muito obrigado! Agora entendi..