22
BC & T BC & T Universidade Federal do ABC Universidade Federal do ABC

BC & T Universidade Federal do ABC. Estruturas de controle permitem o controle do fluxo de execução dos comandos Vamos analisar as seguintes estruturas

Embed Size (px)

Citation preview

Page 1: BC & T Universidade Federal do ABC. Estruturas de controle permitem o controle do fluxo de execução dos comandos Vamos analisar as seguintes estruturas

BC & TBC & TUniversidade Federal do ABCUniversidade Federal do ABC

Page 2: BC & T Universidade Federal do ABC. Estruturas de controle permitem o controle do fluxo de execução dos comandos Vamos analisar as seguintes estruturas

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

Page 3: BC & T Universidade Federal do ABC. Estruturas de controle permitem o controle do fluxo de execução dos comandos Vamos analisar as seguintes estruturas

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

Page 4: BC & T Universidade Federal do ABC. Estruturas de controle permitem o controle do fluxo de execução dos comandos Vamos analisar as seguintes estruturas

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

Page 5: BC & T Universidade Federal do ABC. Estruturas de controle permitem o controle do fluxo de execução dos comandos Vamos analisar as seguintes estruturas

Desvio Condicional

Desvio Condicional Simples

Desvio Condicional Composto

IF...ELSE (Encadeado)

Leituras sugeridas.

DESVIO CONDICIONAL

Page 6: BC & T Universidade Federal do ABC. Estruturas de controle permitem o controle do fluxo de execução dos comandos Vamos analisar as seguintes estruturas

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

Page 7: BC & T Universidade Federal do ABC. Estruturas de controle permitem o controle do fluxo de execução dos comandos Vamos analisar as seguintes estruturas

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

Page 8: BC & T Universidade Federal do ABC. Estruturas de controle permitem o controle do fluxo de execução dos comandos Vamos analisar as seguintes estruturas

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

Page 9: BC & T Universidade Federal do ABC. Estruturas de controle permitem o controle do fluxo de execução dos comandos Vamos analisar as seguintes estruturas

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>;

Page 10: BC & T Universidade Federal do ABC. Estruturas de controle permitem o controle do fluxo de execução dos comandos Vamos analisar as seguintes estruturas

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

Page 11: BC & T Universidade Federal do ABC. Estruturas de controle permitem o controle do fluxo de execução dos comandos Vamos analisar as seguintes estruturas

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

Page 12: BC & T Universidade Federal do ABC. Estruturas de controle permitem o controle do fluxo de execução dos comandos Vamos analisar as seguintes estruturas

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.

Page 13: BC & T Universidade Federal do ABC. Estruturas de controle permitem o controle do fluxo de execução dos comandos Vamos analisar as seguintes estruturas

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”

Page 14: BC & T Universidade Federal do ABC. Estruturas de controle permitem o controle do fluxo de execução dos comandos Vamos analisar as seguintes estruturas

DESVIO CONDICIONAL COMPOSTOPseudocódigo

se (<condição> )

então

início

<instruções>

fim

senão

início

<instruções>

fim

fimse

Page 15: BC & T Universidade Federal do ABC. Estruturas de controle permitem o controle do fluxo de execução dos comandos Vamos analisar as seguintes estruturas

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

Page 16: BC & T Universidade Federal do ABC. Estruturas de controle permitem o controle do fluxo de execução dos comandos Vamos analisar as seguintes estruturas

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

Page 17: BC & T Universidade Federal do ABC. Estruturas de controle permitem o controle do fluxo de execução dos comandos Vamos analisar as seguintes estruturas

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

Page 18: BC & T Universidade Federal do ABC. Estruturas de controle permitem o controle do fluxo de execução dos comandos Vamos analisar as seguintes estruturas

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.

Page 19: BC & T Universidade Federal do ABC. Estruturas de controle permitem o controle do fluxo de execução dos comandos Vamos analisar as seguintes estruturas

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”);

} }}

Page 20: BC & T Universidade Federal do ABC. Estruturas de controle permitem o controle do fluxo de execução dos comandos Vamos analisar as seguintes estruturas

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

Page 21: BC & T Universidade Federal do ABC. Estruturas de controle permitem o controle do fluxo de execução dos comandos Vamos analisar as seguintes estruturas

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

Page 22: BC & T Universidade Federal do ABC. Estruturas de controle permitem o controle do fluxo de execução dos comandos Vamos analisar as seguintes estruturas

•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