IF aninhado em C# ( Múltiplos IF em C#)

Muitas vezes, em algumas aplicações, sentiremos a necessidade de tomar outras decisões dentro de uma das alternativas da estrutura do if; a isso chamamos de ifs aninhados.

Vale lembrar que os exemplos aqui não são a única forma correta de fazer a mesma coisa! Muitas das vezes escolho o que é mais didático para ser apresentado. E muitas das coisas aqui apresentada a própria biblioteca do C# faz com métodos nativos.

Acesse agora mesmo todos os artigos desta série sobre C#, algoritmo e programação.

Vejamos um exemplo clássico de algoritmos:

Armazene e imprima na variável max o maior número entre 3 informados.

using System;
class Program
{
    static void Main(string[] args)
    {
        double a, b, c, max = 0;
        Console.Write("Digite primeiro número: ");
        a = double.Parse(Console.ReadLine());
        Console.Write("Digite segundo número: ");
        b = double.Parse(Console.ReadLine());
        Console.Write("Digite terceiro número: ");
        c = double.Parse(Console.ReadLine());
        if ( a > b)
        {
            if (a > c)
            { max = a; }
            else
            { max = c; }
        }
        else
        {
            if (b > c)
            { max = b; }
            else
            { max = c; }
        }
        Console.WriteLine("O maior número é: {0}", max);
    }
}

Saída:

Digite primeiro número: 7
Digite segundo  número: 9
Digite terceiro número: 3
O maior número é: 9

Digite primeiro número: 4
Digite segundo  número: 2
Digite terceiro número: 6
O maior número é: 6

Ler um número e imprimir se ele é positivo, negativo ou nulo

using System;
class Program
{
    static void Main(string[] args)
    {
        double num = 0;
        Console.Write("Digite um número: ");
        num = double.Parse(Console.ReadLine());
        
        if ( num > 0)
        {
            Console.WriteLine("POSITIVO");
        }
        else
        {
            if (num < 0)
            {
                Console.WriteLine("NEGATIVO");
            }
            else
            {
                Console.WriteLine("NULO");
            }
        }
    }
}

Saída:

Digite um número: -5
NEGATIVO
Digite um número: 4
POSITIVO
Digite um número: 0
NULO

Você deve estar fazendo algumas perguntas:

1.Porque não se perguntou se o número era igual a zero?
Resposta: Quando temos a possibilidade de três respostas, só precisamos fazer duas perguntas, pois a segunda pergunta nos dá as duas últimas respostas. Veja bem: se descartarmos a possibilidade de o número ser maior do que 0, ficamos com duas possibilidades: o número ser igual 0 ou menor do que 0; dessa forma, uma pergunta é satisfatória.

2.Mas se eu fizer estarei errado(a)?
Resposta: Não, mas não é necessário, e lembre-se de uma coisa em algoritmos existem muitas maneiras de resolver o mesmo problema! Cada pessoa tem a sua própria lógica.

3.Por que a solução não poderia ser como a seguir?

using System;
class Program
{
    static void Main(string[] args)
    {
        double num = 0;
        Console.Write("Digite um número: ");
        num = double.Parse(Console.ReadLine());
        if (num > 0)
        { Console.WriteLine("POSITIVO"); }
        if (num < 0)
        { Console.WriteLine("NEGATIVO"); }
        if (num == 0)
        { Console.WriteLine("NULO"); }
    }
}

Resposta: Esta solução, embora você consiga atingir os objetivos do algoritmo, apresenta um grande inconveniente: sempre serão executados três testes, mesmo quando já tivermos classificado o número. Entretanto, na 1ª solução, outro texto só será executado se ainda não tivermos chegado a uma conclusão sobre o número.
Essa estrutura precisa de vários ciclos para ser executada; portanto, evite usá-la desnecessariamente.

Bom pessoal com isso acabamos a estrutura de seleção IF em C#, como costumo falar: Só se aprende a programar, programando! Por isso não perca o próximo post da série que teremos uma nova lista de exercícios em C# e claro que serão todos resolvidos em breve!

Não perca as próximas publicações, então? Siga nossa página TI Selvagem no Google Plus, Twitter ou no Facebook e se gostou do conteúdo compartilhe e ajude nossa comunidade!

Comentarios

comentarios