• Nenhum resultado encontrado

Estrutura IF (Se) e IF-ELSE (Se-Senão)

N/A
N/A
Protected

Academic year: 2022

Share "Estrutura IF (Se) e IF-ELSE (Se-Senão)"

Copied!
7
0
0

Texto

(1)

C#

Estruturas de Decisão

Estrutura IF (Se) e IF-ELSE (Se-Senão)

IF IF – ELSE

if (<condição>) <comando ou bloco>

Funcionamento:

Condição verdadeira: o comando ou o conjunto de comandos é executado

Condição falsa: nenhum comando é executado

Pode ser que não seja executado qualquer comando

if (<condição>)

<comando ou bloco>

else

<comando ou bloco>

Funcionamento:

Condição verdadeira: apenas o primeiro conjunto é executado

Condição falsa: apenas o segundo conjunto é executado

Algum comando sempre será executado!

(2)

Empregando IF’s de modo seqüencial

if (<condição1>) <comando ou bloco>

else

<comando ou bloco>

if (<condição2>) <comando ou bloco>

else

<comando ou bloco>

:

if (<condiçãoN>) <comando ou bloco>

else

<comando ou bloco>

Supondo que tenhamos um trecho de código que apresente uma sucessão de IF’s, sua execução implicará obrigatoriamente na avaliação de cada uma das condições de maneira independente umas das outras.

Note que aqui a execução de qualquer um dos blocos de comandos do segundo IF independe completamente da execução do primeiro IF

Empregando IF’s de modo encadeado

if (<condição1>) <comando ou bloco>

else if (<condição2>) <comando ou bloco>

else if (<condição3>) <comando ou bloco>

:

else if (<condiçãoN>) <comando ou bloco>

else

<comando ou bloco>

Observe que o agrupamento de comandos IF’s de forma encadeada permite que N condições sejam avaliadas seqüencialmente mas com um resultado de execução bastante próprio.

Neste arranjo, assim que o

fluxo de execução encontrar

uma condição verdadeira,

todas as demais avaliações

não serão avaliadas.

(3)

Empregando IF’s de modo aninhado

if (<condição1>) { if (<condição2>)

<comando ou bloco>

else

<comando ou bloco>

} else {

if (<condição3>)

<comando ou bloco>

else

<comando ou bloco>

}

Nesta situação, antes de avaliar a condição2 já temos certeza de que condição1 é verdadeira, bem como, antes de avaliarmos a condição3 já sabemos de antemão que condição1 é falsa.

Esse processo é similar a construção:

(condição1) && (condição2)

!(condição1) && (condição3) entretanto, com clara vantagem

de não ser necessário avaliar mais de que uma única vez cada condição e

automaticamente eliminar a avaliação das outras condições que não nos interessam.

Exemplo – Média de duas notas

using System; 

using System.Collections.Generic; 

using System.Linq; 

using System.Text; 

 

namespace Condicional  { 

    class Program      { 

        static void Main(string[] args)          { 

      //declaração das variáveis        float n1, n2, media, exame; 

 

      Console.Write("Digite a primeira nota: "); 

      n1 = (float) Convert.ToDouble(Console.ReadLine()); 

 

      Console.Write("Digite a segunda nota: "); 

      n2 = (float) Convert.ToDouble(Console.ReadLine()); 

(4)

 

        if (media < 3.0)          { 

       Console.WriteLine("Aluno Reprovado com media = {0}", media); 

        } 

        else if (media >= 7.0)          { 

       Console.WriteLine("Aluno Aprovado com media = {0}", media); 

        }          else          { 

       Console.Write("Aluno de Exame com média {0}, informe nota da  prova: ", media); 

       exame = (float) Convert.ToDouble(Console.ReadLine()); 

       if (exame < 5.0) 

      Console.WriteLine("Aluno Reprovado"); 

       else 

      Console.WriteLine("Aluno Aprovado");  

        } 

        Console.ReadKey(); 

      }     }  }   

Comando Switch

switch (<expressão>) { case valor1:

<comandos>

break;

case valor2:

<comandos>

break;

: case valorN:

<comandos>

break;

default:

<comandos>

}

Este comando possibilita que se compare o conteúdo de uma variável para diversos casos de uma vez.

Os comandos relacionados ao primeiro caso somente serão executados somente se a expressão informada assumir valor igual a

valor1;

Os comandos relacionados ao segundo caso, somente se for igual ao valor2; e assim por diante.

Os comandos do bloco default somente serão executados se a expressão não combinar com qualquer um dos valores definidos nas clausulas case.

O bloco default é opcional e portanto pode ser omitido quando

desnecessário

(5)

Exemplo

using System; 

using System.Collections.Generic; 

using System.Linq; 

using System.Text; 

 

namespace ConsoleApplication1 

    class Program      { 

        static void Main(string[] args)          { 

      //Declaração das variáveis 

      int opcao;      //opção escolhida pelo usuário        float n1,       //valor do primeiro número        n2,         //valor do segundo número 

      resultado;  //valor do resultado da operação escolhida 

Exemplo (cont.)

     Console.WriteLine("\n‐:: CALCULADORA SIMPLES ::‐\n"); 

 

     //Coletando os números informados pelo usuário       Console.Write("Digite o primeiro número: "); 

     n1 = (float) Convert.ToDouble( Console.ReadLine() ); 

     Console.Write("Digite o segundo número: "); 

     n2 = (float) Convert.ToDouble( Console.ReadLine() ); 

 

     //Exibindo as opções para o usuário 

     Console.WriteLine("\n[1] ‐ Somar os números"); 

     Console.WriteLine("[2] ‐ Multiplicar os números"); 

     Console.WriteLine("[3] ‐ Dividir os números"); 

     Console.WriteLine("[4] ‐ Sair do Programa"); 

     Console.Write("Selecione uma opção ‐> "); 

 

     //Lendo do teclado qual a opçòa desejada       opcao = Convert.ToInt32( Console.ReadLine() ); 

(6)

Exemplo (cont.)

   //de acordo com a opção, realizaremos a operação     switch (opcao) 

   { 

      //[1] ‐ Somar os números        case 1: 

      resultado = n1 + n2; 

      Console.WriteLine("\nO resultado da soma é: {0}",  resultado); 

      break; 

      //[2] ‐ Multiplicar os números        case 2: 

      resultado = n1 * n2; 

      Console.WriteLine("\nO resultado da multiplicação é: 

{0}", resultado); 

      break; 

Exemplo (cont.)

      //[3] ‐ Dividir os números        case 3: 

      if (n2 == 0) 

      Console.WriteLine("\n\nImpossível dividir"); 

      else { 

      resultado = n1 / n2; 

      Console.WriteLine("\nO resultado da divisão é: {0}",  resultado); 

      }        break; 

      //[4] ‐ Sair do Programa        case 4: 

      break; 

      //Para qualquer outra opção        default: 

      Console.WriteLine("\nOps! A opção que escolhida não é válida."); 

   } 

(7)

Exemplo (cont.)

       //Uma pausa para ver os resultados 

       Console.Write("\nPressione enter para encerrar ..."); 

       Console.ReadKey(); 

    }    }  } 

Referências

Documentos relacionados

De acordo com o Princípio dos Mínimos Quadrados é escolhida a recta que minimiza a soma dos quadrados dos desvios... Pretende-se estimar a recta melhor ajustada aos

Portanto, o valor energético escrito no rótulo equivale a 586 kJ (quilojoule). a) Calcule, com base nos dados da tabela, o valor da variação de entalpia (ΔH), em kJ/mol, para

Não é permitida a reprodução deste conteúdo, de forma parcial ou total, quer em meio impresso ou digital, nem pode ser disponibilizado na internet sem permissão prévia, dos

Para tanto, realizou-se acompanhamento de reuniões, coletas e entregas de produtos, da burocracia existente, de forma a identificar suas etapas, organizar os procedimentos e

A estrutura de decisão “SE/ENTÃO/SENÃO”, funciona exatamente como a estrutura “SE”, com apenas uma diferença, em “SE” somente podemos executar comandos caso a condição

Divididos em três tipos: produtos que não requerem fermentação dada a natureza da sua massa, produtos que já passaram pelo processo de fermentação e produtos congelados

Os experimentos para quebra de emulsão na presença de líquidos iônicos e eta- nol foram conduzidos todos em batelada, empregando aquecimento micro-ondas, e em dois reatores, um do

O Diretor-Geral do Centro Federal de Educação Tecnológica Celso Suckow da Fonseca - CEFET/RJ, no uso de suas atribuições e considerando o Regulamento do