Você está na página 1de 16

C#

- desvios condicionais;
IfElse SwitchCase
Desvios Condicionais
São usados em instruções para tomada de decisão de acordo com o
resultado de uma condição.
Sintaxes: if(condição){ Media <- (n1+n2)/2

instruções
}
Verdade
Media > 6 Aprovado

Falso

Fim
Desvios Condicionais Simples
int x = 0;
int y = 5;
// declaração IF em uma única linha
if (x > y){
 return;
}
Desvios Condicionais Composto
Sintaxes: if(condição){
instruções Media <- (n1+n2)/2

}
Else{ Verdade
Media > 6
instruções Falso

Aprovado
} Reprovado

Fim
Desvios Condicionais Composto
// declaração IF...ELSE
if (x > y){
 MessageBox.Show("X > Y");
}
Else{
  MessageBox.Show("X < Y");
}

• https://
docs.microsoft.com/pt-br/dotnet/csharp/language-reference/keywords/if-els
e
Desvios Condicionais Aninhado
Sintaxes: Media <- (n1+n2)/2
if(condição){
instruções Verdade
Media < 5
Falso
}
Else { Verdade Falso
if(condição){ Media >= 7
Reprovado
instruções
}
Else
Aprovado
Else{ Recuperação
instruções
}
}
Fim
Desvios Condicionais Aninhado
using System;
public class Program
{
public static void Main()
{
float nota = 8.5f;

if (nota >5){
if(nota > 7){
Console.WriteLine("aprovado");
}else{
Console.WriteLine("recuperação");
}
}
else{
Console.WriteLine("reprovado");
}
}
}
Desvios Condicionais Encadeada
Sintaxes: Media <- (n1+n2)/2
if(condição){
instruções Verdade Falso
Media < 5
}
Else if(condição){ Verdade Falso
Media >= 7
instruções Reprovado

}
Else
Aprovado
Recuperação
Else{
instruções
}
Fim
Desvios Condicionais Encadeada
using System;
public class Program
{
public static void Main()
{
/* aprovado maior que 7
recuperação maior que 5 menor que 7
reprovado menor que 5 */
float nota = 8.5f;
if (nota < 5){
Console.WriteLine("reprovado");
}
else{ //<= essa chave
if(nota >= 7){
Console.WriteLine("aprovado");
}
else{ //maior que 5 e menor 7
Console.WriteLine("recuperação");
}
}//<= essa chave
}
}
https://dotnetfiddle.net/ft5Mdl
Desvios Caso
Sintaxes: Expressão
switch (variável ou valor)
{
Verdade
case valor1: Case 1 Aprovado
// código 1
break; Falso
case valor2: Verdade Falso
Case 2 Aprovado
// código 2
break; Falso
case valor3: Verdade
// código 3 Case 3 Recuperação
break;
Falso
default: default
// código 3 Aprovado
break;
}
Fim
Desvios Caso
https://dotnetfiddle.net/jeAsmS
using System;

public class Program

public static void Main()

string expressao;

Console.WriteLine("Digite a situação do Aluno");

expressao = Console.ReadLine();

switch (expressao) {

case "aprovado": //bloco de instruções para liberar a matricula no proximo ano do curso

Console.WriteLine("liberar a matricula no proximo ano do curso");

break;

case "reprovado": //bloco de instruções para solicitar recuperação de nota do curso;

Console.WriteLine("instruções para solicitar recuperação de nota do curso");

break;

case "recuperação"://bloco de instruções para inscrever o aluno no mesmo ano do curso;

Console.WriteLine("instruções para inscrever o aluno no mesmo ano do curso");

break;

default:

//bloco de instruções padrão(quando não foi atendida nas instruções acima);

break;

}}}
Switch Case vs Else If

Switch/case é uma estrutura de condição que define o código a ser executado com base em uma
comparação de valores, é usado a igualdade para comparar os valores com uma expressão
-> switch (expressão )
A expressão de correspondência em geral uma variável é usada, e deve ser uma expressão que
retorna um valor dos seguintes tipos: char, cadeia de caracteres, bool, valor integral, IEnumerable.
Obs.: Ele não pode fazer outros tipos de comparação ou relação entre dados.
Estabeleça uma expressão no switch (um lado da comparação) Em cada case coloque uma valor
fixo, tem que ser literal (outro lado da comparação)
-> switch (expressão )
case valor:
Será comparado expressão = valor
Switch Case vs Else If
Apenas uma seção switch em uma instrução switch é executada. O C# não permite que a execução
continue de uma seção switch para a próxima. Por isso, o código a seguir gera um erro do
compilador, CS0163: "O controle não pode passar de um rótulo case (<case label>) para outro".
Esse requisito é atendido normalmente saindo explicitamente da seção switch usando uma
instrução break, goto ou return.

Uma instrução if identifica qual instrução executar com base no valor de uma expressão booliana,
nessa instrução é possível usar expressões complexas estabelecendo comparações e relações que
resultam em verdadeiro ou falso
Em uma instrução if-else, se condicional for avaliada como verdadeira, a bloco de comando será
executado senão será executado o bloco de código estabelecido no else.
Estrutura com else if é instrução if aninhar dentro de um bloco else
Switch Case vs Else If
public class Program public class Program
{ {
public static void Main() public static void Main()
{ {
int variavel = 3; int variavel = 3;
switch (variavel) { if (variavel == 0) {
case 0: //faz algo //faz algo
break; } else if (variavel == 1) {
case 1: //faz algo //faz algo
break; } else if (variavel == 2) {
case 2: //faz algo //faz algo
break; } else if (variavel == 3) {
case 3: //faz algo //faz algo
break; }
} }
}
}
}
Exercício
Crie um algoritmo para uma Calculadora, que permita a entrada de dois valores e escolha de uma
operação para execução de calculo entre os valores, utilize Switch Case.
• https://
docs.microsoft.com/pt-br/dotnet/csharp/language-reference/keywor
ds/switch

• https://
docs.microsoft.com/pt-br/dotnet/csharp/language-reference/keywor
ds/switch#pattern-matching-with-the-switch-statement
• https://
docs.microsoft.com/pt-br/dotnet/csharp/language-reference/keywor
ds/if-else

Você também pode gostar