LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique <thiagorique2011@gmail.com> http://thiagorique.wordpress.com/
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
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)
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”
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”
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
A INSTRUÇÃO DE SELEÇÃO DUPLA IF...ELSE Instruções if...else aninhadas
A INSTRUÇÃO DE SELEÇÃO DUPLA IF...ELSE Instruções if...else aninhadas
A INSTRUÇÃO DE SELEÇÃO DUPLA IF...ELSE Instruções if...else aninhadas
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:
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:
A INSTRUÇÃO DE SELEÇÃO DUPLA IF...ELSE Blocos Instruções contidas em um par de chaves
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
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.
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)
FORMULANDO ALGORITMOS: REPETIÇÃO CONTROLADA POR CONTADOR Algoritmo em pseudocódigo com repetição controlada por contador
FORMULANDO ALGORITMOS: REPETIÇÃO CONTROLADA POR CONTADOR Implementando a repetição controlada por contador na classe GradeBook Continua no próximo slide...
FORMULANDO ALGORITMOS: REPETIÇÃO CONTROLADA POR CONTADOR Implementando a repetição controlada por contador na classe GradeBook Continua no próximo slide...
FORMULANDO ALGORITMOS: REPETIÇÃO CONTROLADA POR CONTADOR Implementando a repetição controlada por contador na classe GradeBook Continua no próximo slide...
FORMULANDO ALGORITMOS: REPETIÇÃO CONTROLADA POR CONTADOR Implementando a repetição controlada por contador na classe GradeBook
FORMULANDO ALGORITMOS: REPETIÇÃO CONTROLADA POR CONTADOR A classe GradeBookTest
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)
FORMULANDO ALGORITMOS: REPETIÇÃO CONTROLADA POR SENTINELA Algoritmo em pseudocódigo com repetição controlada por sentinela
FORMULANDO ALGORITMOS: REPETIÇÃO CONTROLADA POR SENTINELA Implementando a repetição controlada por sentinela na classe GradeBook Continua no próximo slide...
FORMULANDO ALGORITMOS: REPETIÇÃO CONTROLADA POR SENTINELA Implementando a repetição controlada por sentinela na classe GradeBook Continua no próximo slide...
FORMULANDO ALGORITMOS: REPETIÇÃO CONTROLADA POR SENTINELA Implementando a repetição controlada por sentinela na classe GradeBook Continua no próximo slide...
FORMULANDO ALGORITMOS: REPETIÇÃO CONTROLADA POR SENTINELA Implementando a repetição controlada por sentinela na classe GradeBook
FORMULANDO ALGORITMOS: INSTRUÇÕES DE CONTROLE ANINHADAS Considere o pseudocódigo a seguir:
FORMULANDO ALGORITMOS: INSTRUÇÕES DE CONTROLE ANINHADAS Implementação Continua no próximo slide...
FORMULANDO ALGORITMOS: INSTRUÇÕES DE CONTROLE ANINHADAS Implementação
FORMULANDO ALGORITMOS: INSTRUÇÕES DE CONTROLE ANINHADAS Saída do programa
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 +, -, *, /, %.
OPERADORES DE ATRIBUIÇÃO COMPOSTA
Operadores de incremento e decremento
Operadores de incremento e decremento