linguagem de programaÇÃo orientada a objetos instruÇÕes de controle – parte i prof. thiago...

35
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique <[email protected]> http://thiagorique.wordpress.com/

Upload: internet

Post on 17-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

INSTRUÇÕES DE CONTROLE – PARTE I

Prof. Thiago Pereira Rique

<[email protected]>

http://thiagorique.wordpress.com/

Page 2: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

AGENDA

Estruturas de controle A instrução de seleção única if A instrução de seleção dupla if...else A instrução de repetição while Formulando algoritmos: repetição controlada

por contador Formulando algoritmos: repetição controlada

por sentinela Formulando algoritmos: instruções de controle

aninhadas Operadores de atribuição composta Operadores de incremento e decremento

Page 3: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

ESTRUTURAS DE CONTROLE

Estrutura de sequência Execução sequencial, instrução após instrução.

Instruções de seleção if (seleção única) if...else (seleção dupla) switch (seleção múltipla)

Instruções de repetição Também chamadas instruções de loop Condição de continuação do loop (verdadeira) while (executa ações zero ou mais vezes) For (executa ações zero ou mais vezes) do...while (executa ações uma ou mais vezes)

Page 4: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

A INSTRUÇÃO DE SELEÇÃO ÚNICA IF

Considere o exemplo: Se a nota do aluno for maior que ou igual a 60

imprima “Aprovado”

Page 5: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

A INSTRUÇÃO DE SELEÇÃO DUPLA IF...ELSE

Considere o exemplo: Se (if) a nota do aluno for maior que ou igual a

60 imprima “Aprovado” Caso contrário (else) imprima “Reprovado”

Page 6: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

A INSTRUÇÃO DE SELEÇÃO DUPLA IF...ELSE

Operador condicional (?:)

Único operador ternário do Java Primeiro operando

Expressão boolean Segundo operando

Valor da expressão condicional se a expressão boolean for true

Terceiro operando Valor da expressão condicional se a expressão boolean

for false

Page 7: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

A INSTRUÇÃO DE SELEÇÃO DUPLA IF...ELSE

Instruções if...else aninhadas

Page 8: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

A INSTRUÇÃO DE SELEÇÃO DUPLA IF...ELSE

Instruções if...else aninhadas

Page 9: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

A INSTRUÇÃO DE SELEÇÃO DUPLA IF...ELSE

Instruções if...else aninhadas

Page 10: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

A INSTRUÇÃO DE SELEÇÃO DUPLA IF...ELSE

O problema do else oscilante O compilador Java sempre associa um else à

instrução if imediatamente anterior, a menos que instruído de outro modo pela colocação de chaves ({ e }).

O compilador interpreta da seguinte forma:

Page 11: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

A INSTRUÇÃO DE SELEÇÃO DUPLA IF...ELSE

O problema do else oscilante Para forçar a instrução if...else aninhada para

executar como foi originalmente concebida, devemos escrevê-la assim:

Page 12: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

A INSTRUÇÃO DE SELEÇÃO DUPLA IF...ELSE

Blocos Instruções contidas em um par de chaves

Page 13: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

A INSTRUÇÃO DE REPETIÇÃO WHILE

Uma instrução de repetição (ou um loop) permite especificar que um programa deve repetir uma ação enquanto alguma condição permanece verdadeira.

Considere o pseudocódigo: Enquanto houver mais itens em minha lista de

compras, compre o próximo item e risque-o da minha lista

Page 14: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

A INSTRUÇÃO DE REPETIÇÃO WHILE

Considere um segmento de programa projetado para calcular a primeira potência de 3 maior que 100. Suponha que a variável int product tenha sido inicializada como 3.

A variável product é igual a 3 no início do while Cada iteração da instrução while multiplica

product por 3, fazendo a variável assumir os valores 9, 27, 81, 243.

A execução do programa continua com a próxima instrução depois do while.

Page 15: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

FORMULANDO ALGORITMOS: REPETIÇÃO CONTROLADA POR CONTADOR

Considere o problema: Uma classe de dez alunos se submeteu a um

questionário. As notas (inteiros no intervalo 0 a 100) desse questionário estão disponíveis. Determine a média da classe no questionário.

Algoritmo em pseudocódigo com repetição controlada por contador Variável contador (ou variável de controle) A repetição controlada por contador costuma ser

chamada de repetição definida ( número de repetições é conhecido previamente)

Page 16: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

FORMULANDO ALGORITMOS: REPETIÇÃO CONTROLADA POR CONTADOR

Algoritmo em pseudocódigo com repetição controlada por contador

Page 17: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

FORMULANDO ALGORITMOS: REPETIÇÃO CONTROLADA POR CONTADOR

Implementando a repetição controlada por contador na classe GradeBook

Continua no próximo slide...

Page 18: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

FORMULANDO ALGORITMOS: REPETIÇÃO CONTROLADA POR CONTADOR

Implementando a repetição controlada por contador na classe GradeBook

Continua no próximo slide...

Page 19: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

FORMULANDO ALGORITMOS: REPETIÇÃO CONTROLADA POR CONTADOR

Implementando a repetição controlada por contador na classe GradeBook

Continua no próximo slide...

Page 20: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

FORMULANDO ALGORITMOS: REPETIÇÃO CONTROLADA POR CONTADOR

Implementando a repetição controlada por contador na classe GradeBook

Page 21: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

FORMULANDO ALGORITMOS: REPETIÇÃO CONTROLADA POR CONTADOR

A classe GradeBookTest

Page 22: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

FORMULANDO ALGORITMOS: REPETIÇÃO CONTROLADA POR SENTINELA

Considere o seguinte problema: Desenvolva um programa para tirar a média da

classe que processe as notas de acordo com um número arbitrário de alunos toda vez que é executado.

Algoritmo em pseudocódigo com repetição controlada por sentinela Valor de sentinela (valor de sinal, valor fictício ou

valor de flag) para indicar o “fim da entrada de dados”

A repetição controlada por sentinela costuma ser chamada de repetição indefinida (número de repetições não é conhecido previamente)

Page 23: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

FORMULANDO ALGORITMOS: REPETIÇÃO CONTROLADA POR SENTINELA

Algoritmo em pseudocódigo com repetição controlada por sentinela

Page 24: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

FORMULANDO ALGORITMOS: REPETIÇÃO CONTROLADA POR SENTINELA

Implementando a repetição controlada por sentinela na classe GradeBook

Continua no próximo slide...

Page 25: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

FORMULANDO ALGORITMOS: REPETIÇÃO CONTROLADA POR SENTINELA

Implementando a repetição controlada por sentinela na classe GradeBook

Continua no próximo slide...

Page 26: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

FORMULANDO ALGORITMOS: REPETIÇÃO CONTROLADA POR SENTINELA

Implementando a repetição controlada por sentinela na classe GradeBook

Continua no próximo slide...

Page 27: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

FORMULANDO ALGORITMOS: REPETIÇÃO CONTROLADA POR SENTINELA

Implementando a repetição controlada por sentinela na classe GradeBook

Page 28: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

FORMULANDO ALGORITMOS: INSTRUÇÕES DE CONTROLE ANINHADAS

Considere o pseudocódigo a seguir:

Page 29: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

FORMULANDO ALGORITMOS: INSTRUÇÕES DE CONTROLE ANINHADAS

Implementação

Continua no próximo slide...

Page 30: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

FORMULANDO ALGORITMOS: INSTRUÇÕES DE CONTROLE ANINHADAS

Implementação

Page 31: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

FORMULANDO ALGORITMOS: INSTRUÇÕES DE CONTROLE ANINHADAS

Saída do programa

Page 32: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

OPERADORES DE ATRIBUIÇÃO COMPOSTA

Instruções do tipo variável = variável operador expressão;

podem ser abreviadas como variável operador= expressão;

onde operador pode ser +, -, *, /, %.

Page 33: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

OPERADORES DE ATRIBUIÇÃO COMPOSTA

Page 34: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

OPERADORES DE INCREMENTO E DECREMENTO

Page 35: LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique

OPERADORES DE INCREMENTO E DECREMENTO