Pesquisar este blog

quarta-feira, 28 de agosto de 2013

Estrutura Condicional C#

Estrutura condicional:

As estruturas condicionais dos programas será a primeira condição lógica explorada neste curso. Existem dois tipos de estrutura condicional no C# o if else (se e senão) e o switch case (escolha caso).

Condições

As estruturas condicionais sempre avaliam se uma condição é verdadeira ou não, caso ela seja verdadeira o programa irá executar uma parte do código.

Comando Nome Definição
> Maior Retorna verdadeiro quando o atributo do lado esquerdo é maior do que o atributo do lado direito.
< Menor Retorna verdadeiro quando o atributo do lado esquerdo é menor do que o atributo do lado direito.
>= Maior igual Retorna verdadeiro quando o atributo do lado esquerdo é maior do que o atributo do lado direito ou se os atributos são iguais.
<= Menor igual Retorna verdadeiro quando o atributo do lado esquerdo é menor do que o atributo do lado direito ou se os atributos são iguais.
== Igual Retorna verdadeiro quando os dois lados da comparação são iguais
!= Diferente Retorna verdadeiro quando os dois lados da comparação são diferentes
| Ou lógico Retorna verdadeiro quando um dos dois lados é verdadeiro, executa os dois lados da condição.
|| Ou condicional Retorna verdadeiro quando um os dois lados da comparação é verdadeiro, mas não executa o segundo lado quando o primeiro for verdadeiro.
^ Ou exclusivo Retorna verdadeiro quando somente um os dois lados da comparação é verdadeiro.
& E lógico Retorna verdadeiro quando os dois lados da comparação é verdadeiro. Executa os dois lados da condição.
&& E condicional Retorna verdadeiro quando os dois lados da comparação é verdadeiro. Só executa o segundo lado da condiçao quando o primeo é verdadeiro.

IF ELSE

O if/else é usado quando precisamos testar uma condição em nosso programa, por exemplo, caso você queira fazer um programa que cumprimente o usuário, quando ele entre no seu programa. Se o horário for entre 06 e 12, o seu programa irá falar Bom dia <Nome do usuário>, caso o horário de entrada do usuário seja entre 12:01 e 18hs o sistema irá dizer: Boa tarde, <Nome do usuário>
e finalmente caso o horário seja entre 18:01 e 24h o sistema irá dizer, boa noite <Nome do usuário>
Este é um típico uso de if/else, no if definimos a condição para o programa executar uma parte do código e ele funciona da seguinte maneira:
if( condição booleana ) { // se ou caso a condição é verdadeira
código a ser executado quando a condição é verdadeira
} else { // senão
código a ser executado quando a condição booleana é falsa
Exemplo de código usando uma comparação:

int numero2 = 2;
int numero3 = 3;
if(numero2 % 2 == 0){
   Console.WriteLine("A variável número2 é par");
}else{
   Console.WriteLine("A variável número2 é impar");
}
if(numero3 % 2 == 0){
   Console.WriteLine("A variável número3 é par");
}else{
   Console.WriteLine("A variável número3 é impar");
}
Veja a comparação que estamos fazendo no primeiro if é, se o resultado do resto da divisão por 2 é 0, então significa que o número é par, senão o número é impar.
As mesmas comparações podem ser realizadas com todos os outros condicionais como o >, o <, etc.

Switch Case

Switch case é uma operação usada para testar uma condição em uma lista de possibilidades. Esta condição pode ser usada em variáveis do tipo inteiro ou string. O switch case só testa condições de igualdade, não há testes de maior,menor ou diferente. A declaração de switch funciona da seguinte maniera:
switch (<nome_da_variavel>)// Teste a variável.
{
case 1: // Caso o valor da variável seja 1
    <Código da condição>
    break// Final do case, quando o break é executado o programa finaliza o switch.
default// Código caso nenhum case tenha sido verdadeiro
    <Código da condição caso nenhum dos cases acima seja verdadeiro>
    break// Final do switch
}

Abaixo temos um exemplo de código de switch:
int variavelTestada = 1;
switch (variavelTestada)
{
case 1:
    Console.WriteLine("Caso variavelTestada seja 1");
    break;
case 2:
    Console.WriteLine("Caso variavelTestada seja 2");
    break;
default:
    Console.WriteLine("Caso variavelTestada não seja nem 1, nem 2");
    break;
}
No código acima, a condição a ser executada será o código dentro do case 1, já que o valor da variável variavelTestada é 1.
Este código só executaria o default, caso a variável variavelTestada não seja nem 1, nem 2.
Lembrando que toda vez que colocarmos qualquer código dentro do case, deveremos  inserir o comando break para demarcar o final daquele bloco de código.
switch (variavelTestada)
{
    // Este switch causará um erro.
    case 1:
        Console.WriteLine("Caso variavelTestada seja 1...");
        // Faltou adicionar o break aqui.
    case 2:
        Console.WriteLine("... e/ou Caso variavelTestada seja 2");
        break;
}
O caso acima não executa, pois o bloco do case 1 não tem uma marcação de finalização, faltou inserir o break.
Existe a possibilidade de fazermos um teste em uma variável caso ela tenha mais de um valor, como mostrado abaixo:
        int n = 2;
        switch(n) 
        {
            case 1:
            case 2: 
            case 3: 
                Console.WriteLine("Caso n seja 1, 2 ou 3.");
                break; 
            default: 
                Console.WriteLine("Caso n seja diferente de 1,2 ou 3.");
                break; 
        }


Como não há nenhuma linha de código entre os cases, o código executará caso o valor de n seja 1, 2 ou 3.

Exercícios:

  1. Construa um programa que receba o nome do usuário, o seu genero (M para masculino e F para Feminino) e a sua idade. Este programa deverá cumprimentar o usuário da seguinte forma. Para idade entre 0 e 3 anos, olá bebê, entre 4 e 8 anos olá criança, entre 9 e 12 olá garoto(a), entre 13 e 18 olá moça(o), entre 19 e 40 srta/rapaz, entre 40 e 60 sr(a) e finalmente maior que 61 anciã(ão).
  2. Faça um programa que receba o nome e o salário do usuário e aplique o dissídio conforme tabela do Sindiesp 2013, os valores do dissídio são:
    1. Para salários de até 2000,00, o reajuste será de 7,68%
    2. Para salários entre 2000,01 e 5000,00 será de 7,16%
    3. Para salários entre 5000,01 e 20000,00 será de 6,66%
    4. Para salários acima de 20000,01 o reajuste será fixo de 1000,00.
  3. Em 2013 o Governo Federal declarou como meta da inflação o valor de 4,5% com uma taxa de erro de 2% para cima ou para baixo, portanto a meta de inflação será entre 2,5% e 6,5%. Faça um programa que receba a taxa de inflação do ano, e determine se ela ficou exatamente na meta, se ela ficou dentro da faixa de erro mas abaixo da meta, se ela ficou acima da meta mas dentro da faixa de erro, se ela ficou fora da meta para baixo ou se ela ficou fora da meta para cima.

Apresentação

Nenhum comentário:

Postar um comentário