Comando de seleção

Propaganda
BC & T
Universidade Federal do ABC
ESTRUTURAS DE CONTROLE
 Estruturas de controle permitem o controle do
fluxo de execução dos comandos
 Vamos analisar as seguintes estruturas de
controle:
 seqüencial
 desvio simples
 desvio composto
 repetição
ESTRUTURA SEQÜENCIAL
Uma estrutura seqüencial é um conjunto de
comandos que serão executados em uma
seqüência linear, de cima para baixo
Os comandos serão
executados na
mesma ordem em
que foram escritos
Convencionaremos que os comandos serão
seguidos por ponto-e-vírgula (;)
C1;
C2;
...
Cn;
ESTRUTURA SEQÜENCIAL
Assim, o algoritmo de SOMA, escrito em
pseudocódigo ficaria:
Algoritmo Soma
início
inteiro: x,y,soma;
leia (x, y);
soma  x + y;
escreva (soma);
fimalgoritmo.
DESVIO CONDICIONAL
 Desvio Condicional
 Desvio Condicional Simples
 Desvio Condicional Composto
 IF...ELSE (Encadeado)
 Leituras sugeridas.
DESVIO CONDICIONAL
Um desvio condicional é usado para decidir se um
conjunto de instruções deve, ou não, ser realizado
verdadeiro
media >=7
Imprimir “Aprovado”
falso
Necessário sempre que os programas encontrem
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>)
então
<instruções>
fimse
DESVIO CONDICIONAL SIMPLES
Exemplo: Se a média das notas do aluno for maior
Pseudocódigo
ou igual a 7, imprimir “Aprovado”
se (<condição>)
então
<instruções>
fimse
verdadeiro
media >=7
falso
Imprimir
“Aprovado”
se ( media >= 7.0 )
então
escreva( “Aprovado” );
fimse
DESVIO CONDICIONAL SIMPLES
A seguir tem-se a sintaxe em Java para o desvio
condicional simples:
Java
Pseudocódigo
se (<condição>)
então
<instruções>
fimse
if (<condição>){
<instruções>;
}
if (<condição>)
<instrução>;
DESVIO CONDICIONAL SIMPLES
se ( media >= 7.0 )
Pseudocódigo
então
escreva( “Aprovado” );
fimse
if ( media >= 7.0 )
Java
// Não é padrão do Java
System.out.println( “Aprovado” );
if ( media >= 7.0 ) {
System.out.print( “O Aluno está ” );
System.out.println( “Aprovado” );
} // fim do bloco if
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>
então
<instruções>
fimse
DESVIO CONDICIONAL SIMPLES
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)
então
escreva (“Aluno aprovado!”);
fimse;
fimAlgoritmo.
DESVIO CONDICIONAL COMPOSTO
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
verdadeiro
Media >=7
falso
Imprimir “Reprovado”
Imprimir “Aprovado”
DESVIO CONDICIONAL COMPOSTO
Pseudocódigo
se (<condição> )
então
início
<instruções>
fim
senão
início
<instruções>
fim
fimse
DESVIO CONDICIONAL COMPOSTO
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
Java
condicional composto:
Pseudocódigo
se (<condição> )
então
início
<instruções>
if ( <condição> ) {
<instruções>;
}
else {
<instruções>;
}
fim
senão
início
<instruções>
fim
fimse
if ( <condição> )
<instrução>;
else
<instrução>;
DESVIO CONDICIONAL COMPOSTO
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
início
<instruções>
fim
senão
início
<instruções>
fim
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 anual = ”, 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;
fimse;
fimalgoritmo.
IF…ELSE ANINHADOS (ENCADEADOS)
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 anual = ”, MA);
se ( MA >= 9)
então
início
escreva (“Conceito A”);
fim
senão
se ( MA >= 7)
então
início
escreva (“Conceito B”);
fim
IF…ELSE ANINHADOS (ENCADEADOS)
senão
se ( MA >= 6)
então
início
escreva (“Conceito C”);
fim;
senão
início
escreva (“Conceito D”);
fim;
fimse;
fimse;
fimse;
fimalgoritmo
Leituras Sugeridas
•Deitel, H. M. e Deitel, P. J.; JAVA – Como Programar;
6ª edição, Editora Pearson Prentice-Hall, 2005;
•Forbellone, A. L. V.; Eberspächer, H. F.; Lógica de
Programação - A Construção de Algoritmos e
Estruturas de Dados; 3ª edição, Editora Pearson
Prentice-Hall, 2005
Download