Estruturas de Seleção – IF/SE Sintaxes

Dando continuidade a nossa série sobre Programação e lógica de programação em C#, vamos continuar a falar sobre a estrutura de seleção IF em C# e demonstrar alguns exemplos.

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

Seleção Simples

if (condição)
{
     comando ; ou
     < seqüência de comandos separados por ; >
}

A sintaxe acima representa à afirmativa B, pois se a família tiver, no mínimo, quatro componentes, recebe a cesta básica; mas se a família tiver menos que quatro componentes não recebem nada.

Seleção Composta

if (condição)
{
     comando ; ou
     < seqüência de comandos separados por ; >
}
else
{
     comando ; ou
     < seqüência de comandos separados por ; >
}

A sintaxe acima representa à afirmativa C onde, dependendo do sexo, recebe-se um ou dois convites.

Observações
• Podemos constatar que esta estrutura faz parte do nosso cotidiano:
o Se eu não tiver prova, vou à festa; senão vou estudar.
o Se eu tiver aumento, troco de carro; senão espero o 13º Salário.
o Se minha média for maior ou igual a sete, passo direto; senão vou à prova final.
• A única coisa diferente é a forma como iremos escrevê-la, pois as chaves { e } são obrigatórias uma vez que delimitam os comandos que pertencem a cada bloco, assim como os parênteses ( e ) que delimitam a condição.
•Essa é uma estrutura muito importante em algoritmos porque nos dá a possibilidade de verificar o que foi digitado pelo usuário ou qual o conteúdo de uma variável após um processamento etc.

Analisando cada linha do IF

1ª linha:

if (condição)

Condição
• A condição é uma expressão lógica testa pela Unidade Aritmética e Lógica, devolvendo como resposta: verdadeiro ou falso.
Convém aqui recordar os operadores relacionais e os operadores lógicos:

Tabela verdade

Tabela verdade

a) A condição pode ser uma simples expressão relacional formada de dois operandos do mesmo tipo e de um operador relacional ( >, <, >=, <=, == e !=). A > B lê-se: o conteúdo da variável A é maior que o conteúdo da variável B?
A < 12 lê-se: o conteúdo da variável A é menor do que 12?
resp != “S” lê-se: o conteúdo da variável resp é diferente da letra S.
resp == “BRASIL” lê-se: o conteúdo da variável resp é igual a BRASIL?

b) A condição pode ser uma expressão lógica formada de pelo menos duas expressões relacionais que precisarão ser unidas por um dos operadores lógicos (&& ou ||)
A >= 1 && A < 9 lê-se: o conteúdo da variável A é maior ou igual a 1 e menor que 0?
resp == “S” || resp == “s” lê-se: o contudo da variável resp é igual a S ou igual a s?

Você deve estar perguntado: e os parênteses, não são necessários?
Não, porque as operações aritméticas têm maior prioridade, depois as relacionas e por último as lógicas, mas, cuidado, nem todas as linguagens agem dessa maneira.
Você deverá ter uma atenção especial quando unir vários operadores lógicos para fazer seus testes. Veremos isso mais adiante.

2ª linha: {
Indica o início do bloco caso a condição testada seja verdadeira.

3ª linha: comando ; ou
Nesta parte, são relacionados os comandos que serão executados caso a condição seja verdadeira.

4ª linha: }
Indica o fim do bloco caso a condição testada seja verdadeira.

5ª linha: else
Este comando faz parte da estrutura do se e só deverá ser usado quando pelo menos uma ação tiver de ser executada se a condição testada for falsa.

6ª linha: {
Indica o início do bloco caso a condição testada seja falsa.

7ª linha: comando ; ou
Nesta parte, são relacionados os comandos que serão executados caso a condição seja falsa.

3ª linha: }
Indica o fim do bloco caso a condição testada seja falsa.

A execução do comando IF

1. Primeiro, a condição é avaliada pela Unidade Aritmética e Lógica sendo a condição uma expressão que possa retornar um valor lógico (verdadeiro ou falso).

2. Se o valor retornado for verdadeiro, todos os comandos que se encontram entre o primeiro par de chaves serão executados; após a execução dos comandos, o fluxo do algoritmo passa para o primeiro comando depois do fechamento do bloco else, representado pelo símbolo } (se existir; caso contrário, será executado o primeiro comando depois de } do próprio bloco.

3. Se o valor retornado for falso, todos os comandos que se encontram entre o primeiro par de chaves serão ignorados e, se existir o comando else, serão executados os comandos que se encontrarem entre o segundo par de chaves; caso contrário, nada acontecerá e o fluxo do algoritmo seguirá para o próximo comando.

Alguns exemplos

Ler um número e se ele for maior do que 20, então imprimir a metade do número.

using System;
class Program
{
    static void Main(string[] args)
    {
        double numero = 0;
        Console.Write("Digite um número: ");
        numero = double.Parse(Console.ReadLine());
        if (numero > 20)
        {
            Console.WriteLine("Metade: {0}", numero/2);
        }
    }
}

Saída:

Digite um número: 40
Metade: 20.0

Descubra se um número é par ou impar em C#

using System;
class Program
{
    static void Main(string[] args)
    {
        double numero = 0;
        Console.Write("Digite um número: ");
        numero = double.Parse(Console.ReadLine());
        if (numero % 2 == 0)
        {
            Console.WriteLine("PAR");
        }
        else
        {
            Console.WriteLine("IMPAR");
        }
    }
}

Saída:

Digite um número: 24
PAR

Digite um número: 25
IMPAR

Bom por hora é isso, lembre-se de fixar bem a estrutura do IF já que é uma das mais usadas em programação! E até a próximo artigo onde falaremos de IFs aninhados.

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