BC & T Universidade Federal do ABC. Estruturas de controle permitem o controle do fluxo de...

Post on 21-Apr-2015

104 views 0 download

Transcript of BC & T Universidade Federal do ABC. Estruturas de controle permitem o controle do fluxo de...

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