Aula 4 Estruturas de Controle

Documentos relacionados
Sintaxe Básica de Java Parte 2

Prof. A. G. Silva. 28 de agosto de Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de / 1

Variáveis primitivas e Controle de fluxo

Seleção Múltipla Laços (while, do-while, for) AULA 05

Estruturas de Controle

INSTITUTO FEDERAL CATARINENSE Campus Ibirama

Programação Orientada a Objetos

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For

Linguagem Java - Introdução

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If...

Unidade 3: Estruturas de Controle Parte 2 - Lógica, SWITCH, FOR, WHILE e DO WHILE Prof. Daniel Caetano

Linguagem de Programação III

LÓGICA DE PROGRAMAÇÃO (JAVA) ESTRUTURAS REPETIÇÃO. Professor Carlos Muniz

Programação Estruturada e Orientada a Objetos

LINGUAGEM C: COMANDOS DE REPETIÇÃO

PHP: <?php echo("hello World");?> Printa Hello World na página do navegador, mais fácil do que no Java.

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis

PROCESSAMENTO DA INFORMAÇÃO LAÇOS E REPETIÇÕES. Prof. Dr. Francisco Isidro Massetto

Lógica de Programação. Lógica de Programação com Java

CONTROLE DE FLUXO. Algoritmos e Programação. Prof. Alceu Britto Slides cedidos pelo Prof. Edson J. R. Justino (PUCPR) Aula 9 e 10

Estruturas de Decisão

Linguagem Java: Sintaxe Java

4. Constantes. Constantes pré-definidas

Métodos Computacionais. Comandos Condicionais e de Repetição em C

Módulo 5. Instruções if e switch. Algoritmos e Estruturas de Dados I C++ (Rone Ilídio)

Desenvolvimento de Aplicações Desktop

Introdução à Programação. Expressões Booleanas e Comandos Condicionais

Estruturas de Controle em c#

Algoritmos e Programação

RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:

Comandos em C (cont.)

Aula 05 Estruturas de controle em PHP. Prof. Pedro Baesse

Algoritmos e Técnicas de

LINGUAGEM C: COMANDOS DE CONTROLE CONDICIONAL

Aula 4 Objetivos if/else while

INSTRUÇÕES DE REPETIÇÃO

5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios.

Introdução à Programação. Estruturas de Repetição

Estruturas de seleção. Prof.: Jesus

Programação I Estruturas de Repetição

Aula 08 Estruturas de Condição. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Linguagem de Programação Java Terceira aula. Prof. Rogério Albuquerque de Almeida

Desenvolvimento de Aplicações Desktop

Introdução à Linguagem de Programação Java 1 INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO JAVA

Algoritmos II prof. Daniel Oliveira

Introdução à Programação. Estruturas de Repetição

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição

Fundamentos de programação

Sintaxe da linguagem Java

Sintaxe Básica do Java. João Paulo Q. dos Santos

Capítulo 8. Estruturas de Controle no Nível de Sentença

Algoritmos e Programação

C Comandos de Controle

Tipos Primitivos, estruturas de iteração e decisão.

Linguagem C Estruturas de Repetição

Operadores e Estruturas de Decisão. Vanessa Braganholo

Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Lista de Exercícios para a Terceira Unidade

3. Linguagem de Programação C

Linguagem C. Programação Estruturada. Estruturas de Controle. Prof. Luis Nícolas de Amorim Trigo

Estruturas de Repe,ção e String

MsC. João Maria MsC. Liviane Melo

Programação Orientada a Objetos II Java Segunda aula. Prof. Rogério Albuquerque de Almeida

Programação de Computadores I. Linguagem C Estruturas de Repetição

Análise de Programação

Comando de Seleção em Java

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

SSC304 Introdução à Programação Para Engenharias. Controle de Fluxo. GE4 Bio

Instruções de controle: Parte by Pearson Education do Brasil

Algoritmos I Aula 13 Linguagem de Programação Java

Estruturas de Repetição e String

Universidade Federal de Uberlândia Faculdade de Computação. Estruturas de repetição

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

Prof. A. G. Silva. 13 de setembro de Prof. A. G. Silva INE5603 Introdução à POO 13 de setembro de / 21

Estruturas de Repetição e String. Vanessa Braganholo

Laboratório de Programação II

05/11/2018. Linguagem de Programação e Estruturada

Introdução a JAVA. Variáveis, tipos, expressões, comandos e blocos

Introdução. Universidade Federal de Uberlândia. Programação Orientada a Objetos. Prof. Fabiano Dorça

Ambientação com a Sintaxe de Java: parte 1

Lição 4 Fundamentos da programação

Noçõ linguagem Java. Profs. Marcel Hugo e Jomi Fred Hübner. Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB

Comandos de Controle do Programa

Estruturas de controle Parte 1

Semana 2 Estruturas de Condição, Seleção e Repetição. Prof. Tiago Jesus de Souza

Introdução a JAVA. Variaveis, tipos, expressões, comandos e blocos

Linguagens de Programação

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Java Standard Edition (JSE)

Algoritmos e Técnicas de Programação. Professora: Luciana Faria

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão

Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Estruturas de Controle - Seleção. Prof. César Melo

Fabiano Moreira.

Capítulo 4 Instruções de Controle: Parte I

Tipos, Literais, Operadores

Tipos, Literais, Operadores

Operadores e Estruturas de Decisão

Revisão C++ - Parte 1

Transcrição:

UNIP Universidade Paulista Ciência da Computação Aula 4 Estruturas de Controle Prof. Célio Ricardo Castelano 1

Tópicos Abordados 1) Instruções de seleção em Java: 2) Instruções de repetição em Java: 2

Instruções de Seleção Instrução if: Instrução de uma única seleção. Instrução if...else: Instrução de seleção dupla. Instrução switch: Instrução de seleção múltipla. 3

Instruções de Repetição Também conhecidas como instruções de loop. Realizam repetidamente uma ação enquanto a condição de continuação do loop permanecer verdadeira. Instrução while: Realiza as ações no seu corpo zero ou mais vezes. Instrução do while: Realiza as ações no seu corpo uma ou mais vezes. Instrução for: Realiza as ações no seu corpo zero ou mais vezes. 4

A instrução de uma única seleção if Instruções if: Executam uma ação se a condição especificada for verdadeira. Podem ser representadas por um símbolo de decisão (losango) em um diagrama de atividades UML. Setas de transição fora de um símbolo de decisão têm condições de guarda. O fluxo de trabalho segue a seta de transição cuja condição de guarda é verdadeira. 5

Operadores de Incremento/Decremento Figura 3.1 - Diagrama de atividades da UML de uma instrução de seleção única if. 6

A instrução de seleção dupla if else Instrução if...else: Executa uma ação se a condição especificada for true ou uma ação diferente se a condição especificada for false. Operador condicional (? : ): Único operador ternário do Java (recebe três operandos).? : e seus três operandos formam uma expressão condicional. Toda uma expressão condicional é avaliada para o segundo operando se o primeiro operando for true. Toda uma expressão condicional é avaliada para o terceiro operando se o primeiro operando for false. 7

A instrução de seleção dupla if else Figura 3.2 - Diagrama de atividades da UML de uma de instrução de seleção dupla if...else. 8

A instrução de seleção dupla if else (Continuação) Instruções if else aninhadas: Instruções if else podem ser colocadas dentro de outras instruções if else. O problema do else oscilante: Instruções else sempre estão associadas com a if imediatamente precedente, a menos que seja especificado o contrário pelas chaves { }. Blocos: Chaves { } associam instruções a blocos. Blocos podem substituir instruções individuais, como o corpo de uma if. 9

Boa Prática de programação Sempre utilizar as chaves em uma instrução if...else (ou outra) ajuda a evitar uma omissão acidental, especialmente ao adicionar instruções à parte if ou à parte else mais tarde. If (condicao) { } else { } Para evitar omitir uma ou as duas chaves, alguns programadores digitam as chaves de abertura ou fechamento de blocos antes de digitar as instruções individuais dentro das chaves. 10

A estrutura de seleção múltipla switch Instrução switch: Utilizada para múltiplas seleções. O comando switch executa a expressão e compara o valor encontrado com os valores:,,, etc. Quando encontra a igualdade ele executa o bloco de comandos daquele valor. A execução continuará até o final do switch ou até que ele encontre um break. 11

A estrutura de seleção múltipla switch Sintaxe: switch ( <expressão> ) { case <valor1>:<comandos 1> [break;] case <valor2>:<comandos 2> [break;] case <valor3>:<comandos 3> [break;] case <valor4>:<comandos 4> [break;]... default: <comandos default> } 12

A estrutura de seleção múltipla switch Figura 3.3 - Diagrama de atividade UML de instrução de seleção múltipla switch com instruções break. 13

A estrutura de seleção múltipla switch Exemplos switch (i) { case 1 : System.out.println("Valor de i é 1"); break; case 2 : System.out.println("Valor de i é 2"); break; case 3 : System.out.println("Valor de i é 3"); break; default: System.out.println("Default"); } // Switch que irá imprimir na tela o valor "Vitor" String nome = "Vitor"; switch (nome.hashcode()) { case "Vitor".hashCode() : System.out.println("Valor de nome é Vitor"); break; case "Paulo".hashCode() : System.out.println("Valor de nome é Paulo"); break; default: System.out.println("Default"); } 14

A estrutura de seleção múltipla switch Exemplos Não é necessário utilizar as chaves ({}) para delimitar um bloco de comandos, pois o interpretador executará todos eles até encontrar um break ou o switch finalizar. A única limitação do switch é que a deve retornar um valor numérico inteiro, qualquer um de seus quatro tipos primitivos. O switch não funciona com String, float, char e boolean por exemplo. E é por este motivo que no segundo switch do exemplo é utilizado o método hashcode (), que retorna um código inteiro único para cada String diferente. 15

A estrutura de seleção múltipla switch Boa prática de programação Embora cada case e a instrução default em uma switch possam ocorrer em qualquer ordem, coloque a instrução default por último. Quando a instrução default é listada por último, o break para essa instrução não é necessário. Alguns programadores incluem esse break para clareza e simetria com outros cases. 16

Operadores lógicos Operadores lógicos: Permite formar condições mais complexas. Combina condições simples. Operadores lógicos Java: && (E condicional) (OU condicional) & (E lógico booleano) (OU inclusivo lógico booleano) ^ (OU exclusivo lógico booleano)! (NÃO lógico) 17

Operadores lógicos (Continuação) Operador E (&&) condicional. Considere a seguinte instrução if: if ( gender == FEMALE && age >= 65 ) ++++seniorfemales; Condição combinada é true: se e somente se ambas as condições simples forem true. Condição combinada é false: se uma ou ambas as condições simples forem false. 18

Operadores lógicos (Continuação) && (E condicional) expressão1 expressão2 expressão1 && expressão2 false false False false true False true false False true true True Figura 3.4 - Tabela-verdade do operador && (E condicional). 19

Operadores lógicos (Continuação) Operador OU condicional ( ): Considere a seguinte instrução if: if ( ( semesteraverage >= 90 ) ( finalexam >= 90 ) ) System.out.println ( Aprovado ); A condição combinada é true: se uma das ou ambas as condições simples forem true. A condição combinada é false: se ambas as condições simples forem false. 20

Operadores lógicos (Continuação) (OU condicional) expressão1 expressão2 expressão1 expressão2 false false false false true true true false true true true true Figura 3.5 - Tabela-verdade do operador (OU condicional). 21

Operadores lógicos (Continuação) OU exclusivo lógico booleano (^): Um dos seus operandos é true e o outro é false: Avaliado como true. Ambos os operandos são true ou ambos são false: Avaliado como false. Operador de negação lógica (!): Operador unário. 22

Operadores lógicos (Continuação) ^ (OU exclusivo lógico booleano) expressão1 expressão2 expressão1 ^ expressão2 false false false false true true true false true true true false Figura 3.6 - Tabela-verdade do operador ^ (OU exclusivo lógico booleano). 23

A instrução de repetição while Instrução while: Repete uma ação enquanto a condição de continuação do loop permanecer verdadeira. Utiliza um símbolo de agregação no seu diagrama de atividades UML. Mescla dois ou mais fluxos de trabalho. É representado por um losango (como com os símbolos de decisão), mas com: múltiplas setas de transição incoming ; somente uma seta de transição outgoing ; e nenhuma condição de guarda em uma seta de transição. 24

A instrução de repetição while Figura 3.7 - Diagrama de atividades da UML da instrução de repetição while. 25

A instrução de repetição while Sintaxe: while (<condição>) { <comandos> } 26

A instrução de repetição while Exemplo: public class ExemploWhile { public static void main(string[] args) { int i=0; while(i++ < 10) { System.out.println("Contador é " + i); } } } while(true) { System.out.println("Laço infinito."); } 27

A instrução de repetição for O comando for cria um laço de repetição no fluxo do programa baseado em três parâmetros: expressão inicial: Onde é executado apenas uma vez, na entrada do laço. condição: É executado a cada iteração do laço e determina quando o programa deve sair do mesmo. Caso a condição seja verdadeira, repete-se os do laço uma vez, caso seja falsa, o programa pula para a próxima instrução seguinte ao laço. incremento: É uma operação normal, executada a cada iteração. Geralmente é usada para incrementar contadores ou configurar variáveis. 28

A instrução de repetição for for (<expressão inicial>; <condição>; <incremento>) { } <comandos> Sintaxe: 29

A instrução de repetição for Exemplo: public class ExemploFor { public static void main(string[] args) { for (int i=0; i<10; i++) { System.out.println("Contador é " + i); } } for (;;) { System.out.println("Laço infinito."); } } 30

Exemplos com a estrutura for Variando a variável de controle em uma instrução for Faz a variável de controle variar de 1 a 100 em incrementos de 1 for ( int i = 1; i <= 100; i++ ) Faz a variável de controle variar de 100 a 1 em incrementos de 1 for ( int i = 100; i >= 1; i-- ) Faz a variável de controle variar de 7 a 77 em incrementos de 7 for ( int i = 7; i <= 77; i += 7 ) Faz a variável de controle variar de 20 a 2 em decrementos de 2 for ( int i = 20; i >= 2; i -= 2 ) Faz a variável de controle variar na seqüência: 2, 5, 8, 11, 14, 17, 20 for ( int i = 2; i <= 20; i += 3 ) Faz a variável de controle variar na seqüência : 99, 88, 77, 66, 55, 44, 33, 22, 11, 0 for ( int i = 99; i >= 0; i -= 11 ) 31

A instrução de repetição do while O comando do.. while é utilizada quando se quer que o corpo do laço seja executado pelo menos uma vez. A expressão de comparação é avaliada depois que o laço foi executado, enquanto ela for verdadeira os são repetidos. 32

A instrução de repetição do while do { <comandos> } while (<condição>); Sintaxe: 33

A instrução de repetição do while Sintaxe: public class ExemploDoWhile { public static void main(string[] args) { int i=0; do { System.out.println("Contador é " + i); } while(++i < 10) } } do { System.out.println("Laço infinito."); } while(true); 34

Comando break É a declaração de desvio usada para sair de um laço antes do normal. O tipo determina para onde é transferido o controle. O break é transfere o controle para o final de uma construção de laço (for, do, while ou switch). O laço vai encerrar independentemente de seu valor de comparação e a declaração após o laço será executada. 35

Comando break int i = 0; while (true) { System.out.println(i); if ( i++ >= 10 ) break; } Exemplo: Este exemplo imprime os valores da variável i de 0 até 9. 36

Comando continue A declaração continue faz com que a execução do programa volte imediatamente para o início do laço, porém para a próxima interação. O continue faz o interpretador pular para a próxima iteração e obriga-o a testar a condição. 37

Comando continue for (int i =-10; i < 10; i++) { if ( i = = 0 ) continue; System.out.println(i); } No exemplo, é impresso os valores de - 10 até 9 pulando o número zero. 38

Exercício 1 Implemente um programa em Java para a leitura das seguintes informações: codigo, nome, nota1, nota2, nota3, nota4 Todas as notas do tipo Float; Faça o seguinte teste: Caso a média das quatro notas seja maior ou igual a 28, imprima: Aluno Aprovado ; Caso contrário, imprima: Aluno Reprovado. 39

Exercício 2 Implemente um programa em Java para a leitura das seguintes informações: codigo, nome, nota1, nota2, nota3, nota4 Todas as notas do tipo Float (valores entre 0 e 5); Calcule a média e imprima de acordo com os seguintes valores: (Utilize o comando switch/case) Média = 0 ( Nota Zero Péssimo ); Média = 1 ( Nota Um Ruim ); Média = 2 ( Nota Dois Regular ); Média = 3 ( Nota Três Bom ); Média = 4 ( Nota Quatro Ótimo ); Média = 5 ( Nota Cinco Excelente ); 40

Exercício 3 Implemente um programa em Java para calcular a tabuada. O usuário deverá entrar com o número para cálculo. Faça duas versões, uma utilizando a instrução de repetição for e outra com while 41