BC-0505 Processamento de Informação
Aula 03
Estrutura de Controle: Desvio Condiciona
l
material elaborado por Maria das Graças Marietto
z
Desvio Condicional
z
Desvio Condicional Simples
z
Desvio Condicional Composto
z
IF...ELSE (Encadeado)
DESVIO CONDICIONAL
Início
Trocar pneu.
Fim
ALGORITMO PARA TROCAR PNEU DE UM CARRO
ALGORITMO PARA TROCAR PNEU DE UM CARRO
• E se o estepe estiver vazio?
• Isto traz necessidade de uma decisão entre dois
cursos => Desvio condicional
• E se o estepe estiver vazio?
• Isto traz necessidade de uma decisão entre dois
cursos => Desvio condicional
Um desvio condicional é usado para decidir se um
conjunto de instruções deve, ou não, ser realizado
media >=7 Imprimir “Aprovado” verdadeiro
falso
Necessário sempre que os programas encontrarem
seqüências alternativas de ações, dependendo do
valor de determinada condição
DESVIO CONDICIONAL SIMPLES
No desvio condicional simples uma condição é
avaliada e, se o resultado for verdadeiro, um
conjunto de instruções é executado
Pseudocódigo
se (<condição>)
início
<instruções>
fimse
Exemplo: Se a média das notas do aluno for maior
ou igual a 7, imprimir “Aprovado”
se ( media >= 7.0 )
início
escreva( “Aprovado” );
fimse
media >=7 Imprimir “Aprovado” verdadeiro falsoPseudocódigo
se (<condição>)
início
<instruções>
fimse
DESVIO CONDICIONAL SIMPLES
A seguir tem-se a sintaxe em Java para o desvio
condicional simples:
Pseudocódigo
se (<condição>)
início
<instruções>
fimse
Java
if (<condição>)
{
<instruções>;
}
if (<condição>)
<instrução>;
se ( media >= 7.0 )
inicio
escreva( “Aprovado” );
fimse
Pseudocódigo
Java
if ( media >= 7.0 )
System.out.println( “Aprovado” );
if ( media >= 7.0 )
{
System.out.print( “O Aluno está ” );
System.out.println( “Aprovado” );
DESVIO CONDICIONAL SIMPLES
Supondo serem N1, N2, N3, N4 as quatro notas
bimestrais de um aluno, podemos avaliar sua
situação quanto à aprovação, nesse caso, obtida
atingindo-se média superior ou igual a 7.
Pseudocódigo
se <condição>
início
<instruções>
fimse
Algoritmo Média aritmética com aprovação
início
real: N1, N2, N3, N4,//notas bimestrais
MA; //média anual
leia (N1, N2, N3, N4); //entrada de dados
MA
← (N1 + N2 + N3 + N4)/4; //processamento
escreva(MA);
se ( MA >= 7)
início
escreva (“Aluno aprovado!”);
fimse;
public class media {
public static void main(String[] args) { //variaveis do tipo real
float nota1, nota2, nota3, nota4, mediaAritmetica; //entrada de dados
Scanner entrada = new Scanner (System.in); System.out.println("Entre com a nota 1: "); nota1= entrada.nextFloat ();
System.out.println("Entre com a nota 2: "); nota2= entrada.nextFloat();
System.out.println("Entre com a nota 3: "); nota3= entrada.nextFloat();
System.out.println("Entre com a nota 4: "); nota4= entrada.nextFloat();
//processamento
mediaAritmetica = (nota1+nota2+nota3+nota4)/4; //resultados
System.out.printf ("A média aritmética: %.2f", mediaAritmetica);
if (mediaAritmetica >= 7.0){
System.out.printf("Aluno aprovado!"); }//fim do if
} //fim do método main } //fim da classe média
No desvio condicional composto, uma condição é
avaliada e, se o resultado for verdadeiro, um conjunto
de instruções é executado. Caso contrário, outro
conjunto de instruções será executado
Media >=7 Imprimir “Aprovado” verdadeiro
falso
DESVIO CONDICIONAL COMPOSTO
Pseudocódigo
se (<condição> )
então
<instruções>
senão
<instruções>
fimse
Exemplo: Se a média das notas do aluno for maior
ou igual a 7, imprimir “Aprovado”. Caso contrário,
imprimir “Reprovado”
se ( media >= 7.0 )
então
escreva( “Aprovado” );
senão
escreva( “Reprovado” );
fimse
DESVIO CONDICIONAL COMPOSTO
A seguir tem-se a sintaxe em Java para o desvio
condicional composto:
Pseudocódigo
se (<condição>)
então
<instruções>
senão
<instruções>
fimse
Java
if ( <condição> )
<instrução>;
else
<instrução>;
if ( <condição> )
{
<instruções>;
}
else
{
<instruções>;
}
Nesse novo algoritmo vamos incluir a informação que
provém do resultado falso da condição (MA >=7), ou seja, a
reprovação do aluno.
Pseudocódigo
se (<condição>)
então
<instruções>
senão
<instruções>
fimse
Java
if (<condição>)
{
<instruções>;
}
else
{
<instruções>;
}
DESVIO CONDICIONAL COMPOSTO
Algoritmo Média aritmética com aprovação e reprovação início
real: N1, N2, N3, N4,//notas bimestrais MA; //média anual
leia (N1, N2, N3, N4); //entrada de dados MA ← (N1 + N2 + N3 + N4)/4; //processamento escreva(“Média annual = ”, MA);
se ( MA >= 7) então
início
escreva (“Aluno aprovado!”); escreva (“Parabéns!”);
fim; senão início
escreva (“Aluno reprovado!”); escreva (“Estude mais!”); fim;
public static void main(String[] args) { //variaveis do tipo real
float nota1, nota2, nota3, nota4, mediaAritmetica; //entrada de dados
Scanner entrada = new Scanner (System.in); System.out.println("Entre com a nota 1: "); nota1= entrada.nextFloat ();
System.out.println("Entre com a nota 2: "); nota2= entrada.nextFloat();
System.out.println("Entre com a nota 3: "); nota3= entrada.nextFloat();
System.out.println("Entre com a nota 4: "); nota4= entrada.nextFloat();
//processamento
mediaAritmetica = (nota1+nota2+nota3+nota4)/4; //resultados
DESVIO CONDICIONAL COMPOSTO
System.out.printf ("A média aritmética: %.2f", mediaAritmetica); if (mediaAritmetica >= 7.0){ System.out.printf("\nAluno aprovado"); System.out.printf("\nParabéns!"); }//fim do if else{ System.out.printf("\nAluno reprovado!"); System.out.printf("\nEstude mais!"); } //fim do else } //fim do método main } //fim da classe média
Seqüências de estruturas If-Else são usadas
para o teste de múltiplos casos
if ( media >= 9.0 )
System.out.print(“Conceito A”);
else
if ( media >= 7.0 )
System.out.print(“Conceito B”);
else
if ( media >= 6.0 )
System.out.print(“Conceito C”);
else
System.out.print(“Conceito D”);
IF…ELSE
ANINHADOS (ENCADEADOS)
Algoritmo Média aritmética com conceito início
real: N1, N2, N3, N4,//notas bimestrais MA; //média anual
leia (N1, N2, N3, N4); //entrada de dados MA ← (N1 + N2 + N3 + N4)/4; //processamento escreva(“Média annual = ”, MA);
se ( MA >= 9) início
escreva (“Conceito A”); fim; senão se ( MA >= 7) início escreva (“Conceito B”); fim;
se ( MA >= 6) início escreva (“Conceito C”); fim; senão início escreva (“Conceito D”); fim; finalalgoritmo