27
1 Estruturas de Controle

1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

Embed Size (px)

Citation preview

Page 1: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

1

Estruturas de Controle

Page 2: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

2

4.2 Algoritmos

• Algoritmos– Série de ações em uma ordem específica

• As ações executadas• Ordem na qual as ações são executadas

• Controle do Fluxo do Programa– Especificar a ordem na qual as ações são executadas

• As estruturas de controle ajudam a determinar esta ordem

Page 3: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

3

4.3 Pseudocódigo

• Pseudocódigo– Linguagem informal para desenvolver algoritmos– Não é executado em computadores– Ajuda os desenvolvedores a "pensar" em algoritmos

Page 4: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

4

4.4 Estruturas de Controle

• Execução seqüencial– As instruções do programa executam uma após a outra

• Transferência de Controle– Três estruturas de controle podem especificar a ordem de

execução das instruções:• estruturas de seqüência• estruturas de seleção• estruturas de repetição

Page 5: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

5

4.4 Estruturas de Controle

• As estruturas seqüenciais são o default para a execução de programas Java

• Java tem três estruturas de seleção– if– if…else– switch

• Java tem três estruturas de repetição– while– do…while– for

• Cada uma dessas palavras é uma palavra reservada Java

Page 6: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

6

4.5 Comando if (sem else)

• Estrutura de controle "entrada única/saída única"• Executa a ação somente se a condição for

verdadeira• Modelo de programação de ação/decisão

Page 7: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

7

diagrama de atividade para um comando if

[grade >= 60]

[grade < 60]

print “Passed”

Page 8: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

8

4.6 comando if…else

• Realiza a ação somente quando a condição é verdadeira

• Quando a condição é falsa, executa uma outra ação alternativa especificada pelo programador

• Operador condicional ternário (?:)• Estruturas if…else aninhadas

Page 9: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

9

diagrama de atividade para um comando if..else

[grade >= 60][grade < 60]print “Failed” print “Passed”

Page 10: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

10

4.7 O laço while

• Repita a ação enquanto a condição permanecer verdadeira

Page 11: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

11

Diagrama de atividade para um laço while.

[product <= 1000]

[product > 1000]

dobra o valor do produto

merge

decisão

instrução Java:product = 2 * product;

Page 12: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

124.8 Formulando algoritmos: Estudo de Caso 1 (Repetição controlada por

um contador)• Contador

– Variável que controla o número de vezes que um grupo de instruções é executada

• Media1.java calcula a média de notas– usa um contador para controlar o número de repetições

Page 13: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

13

 total 0contador 1

Enquanto contador <= 10Leia a próxima notatotal total + notacontador contador + 1

fim enquanto

media total / 10Imprime a média

Pseudo código de um algoritmo que usa uma estrutura de repetição controlada por um contador para resolver o problema da média de uma turma.

Page 14: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

14

Page 15: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

Outline15

Declara variáveis; contaNotas é o contador

Continua o laço enquanto contaNotas for menor ou

igual a 10

Page 16: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

Outline16

Media1.java

Page 17: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

17

4.9 Estudo de Caso 2 (Repetição controlada por uma sentinela)

• Valor sentinela– Usado para indicar o fim da entrada de dados

• Media2.java tem o número de repetições indefinido– Usuário entra o valor sentinela (-1) para terminar as

repetições

Page 18: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

18

total 0contador 0

Leia a primeira nota (talvez até a sentinela)

Enquanto o usuário não digitar o valor sentinelatotal total + notacontador contador + 1Leia a próxima nota (talvez seja a sentinela)

fim enquanto

se contador <> 0média total / contadorImprime a média

senãoImprime “Nenhuma nota foi entrada”

O problema da média resolvido por um laço com sentinela

Page 19: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

19

Page 20: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

Outline20

efetua o laço até que o valor da sentinela nota seja igual a (-1)

Formata o número com duas casas decimais

Page 21: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

Outline21

Media2.java

Page 22: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

22

4.10 Estudo de Caso 3: Estruturas de Controle Aninhadas

• Estruturas de Controle Aninhadas

Page 23: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

23

aprovados 0reprovados 0estudante 1

Enquanto estudante <= 10 Leia o próximo resultado de exame

Se o estudante passou aprovados aprovados + 1

senão reprovados reprovados + 1

  estudante estudante + 1

Fim enquanto

Imprime o número de aprovadosImprime o número de reprovados

Se aprovados > 8 Imprime “Aumentar a dificuldade!”

Pseudo código para o problema da estatística dos resultados.

Page 24: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

24

Page 25: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

Outline25

Page 26: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

Outline26

Analise.java

Page 27: 1 Estruturas de Controle. 2 4.2 Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas

27

Operadores Associação Tipo ++ -- direita para a esquerda pós-incremento e pós-

decremento ++ -- + - (type) direita para a esquerda unários * / % esquerda para a direita multiplicativos + - esquerda para a direita aditivos < <= > >= esquerda para a direita relacionais == != esquerda para a direita igualdade ?: direita para a esquerda condicional = += -= *= /= %= direita para a esquerda atribuição Fig. 4.15 Precedência e associação dos operadores vistos até aqui.