Upload
internet
View
108
Download
0
Embed Size (px)
Citation preview
BC & TBC & TUniversidade Federal do ABCUniversidade Federal do ABC
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
ESTRUTURAS DE CONTROLE
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.
ESTRUTURA SEQÜENCIAL
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
DESVIO CONDICIONAL
media >=7 Imprimir “Aprovado”
verdadeiro
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 ou igual a 7, imprimir “Aprovado”
se ( media >= 7.0 )
então
escreva( “Aprovado” );
fimse
media >=7 Imprimir “Aprovado”
verdadeiro
falso
Pseudocódigo
se (<condição>)
então
<instruções>
fimse
DESVIO CONDICIONAL SIMPLES
A seguir tem-se a sintaxe em Java para o desvio condicional simples:
Pseudocódigo
se (<condição>)
então
<instruções>
fimse
Java
if (<condição>){
<instruções>;
}
if (<condição>)
<instrução>;
DESVIO CONDICIONAL SIMPLES
se ( media >= 7.0 )
então
escreva( “Aprovado” );
fimse
if ( media >= 7.0 ) // 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
Pseudocódigo
Java
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
Media >=7 Imprimir “Aprovado”
verdadeiro
falso
Imprimir “Reprovado”
DESVIO CONDICIONAL COMPOSTOPseudocó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 condicional composto: Java
if ( <condição> ) {
<instruções>;
}
else {
<instruções>;
}
if ( <condição> )
<instrução>;
else
<instrução>;
Pseudocódigo
se (<condição> )
então
início
<instruções>
fim
senão
início
<instruções>
fim
fimse
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.
Java
if (<condição>){
<instruções>;
}
else {
<instruções>;
}
Pseudocódigo
se (<condição> )
então
início
<instruções>
fim
senão
início
<instruções>
fim
fimse
DESVIO CONDICIONAL COMPOSTOAlgoritmo 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
•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
Leituras Sugeridas