Aula teórica 11. Tema 11. Repetição. Ciclo while Ciclo do-while Ciclo for

Documentos relacionados
AULA TEÓRICA 7. Tema 4. Estruturas de controlo (continuação).

Aula teórica 10 Tema 10. Selecção Instruções de selecção:

Aula teórica 14. Tema 12. Subprogramas (cont)

AULA TEÓRICA 5 Tema 3. Instruções básicas de entrada e saída (continuação)

Aula teórica 4. Tema 3. Linguagem de Programação Java. Manipulação de informação simples (cont.)

AULA TEÓRICA 4. Tema 2. Introdução a programação em Java (Continuação) Tema 3. Instruções básicas de entrada e saída

Programação Orientada aos Objectos I

Aula teórica 13. Tema 12. Subprogramas. Subprogramas em Java Chamada de métodos. Área de domínio das variáveis. Preparado por eng.

AULA TEÓRICA 3 Tema 2. Introdução a programação em Java (JVM, JDK)

AULA TEÓRICA 1 Tema 6. Algoritmos e Fluxogramas

AULA TEÓRICA 2. Tema 1. Desenho de Algoritmos (continuação)

AULA TEÓRICA 3. Tema 2. Introdução a programação em Java (Continuação)

AULA TEÓRICA 10. Tema 9. Interface. Tema 10. Recursividade

Introdução à Programação LP JAVA

Aula Teórica 8. Preparado por eng.tatiana Kovalenko

Array de objectos Array de objectos Criação Exemplo:

AULA TEÓRICA 7 Tema 7. Colecções (cont.) Vector Ø Criação Ø Manipulação

AULA TEÓRICA 3. Tema 4. Excepções Ø Tratamento de excepções

AULA TEÓRICA 9. Tema 8. Herança (continuação) Ø Sobreposição de métodos. Ø Variáveis e métodos estáticos. Ø Hierarquia de classes.

Tema 7. Colecções AULA TEÓRICA 6. Listas: ArrayList, LinkedList, Vector Ø Criação Ø Manipulação

Instituto Superior de Ciências e Tecnologia de Moçambique

AULA TEÓRICA 4. Tema 3. Linguagem de programação de alto nível Java

Instituto Superior de Ciências e Tecnologia de Moçambique

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

Programação e Algoritmos I 1 o semestre

Herança. Caso queira referir-se a um construtor da super classe, a sintaxe é diferente: super.nomedoatributo; super.nomedometodo(<parametros>)

Vetores Unimensionais

AULA TEÓRICA 4. Tema 5. Ficheiros. Ficheiro do tipo texto. Ficheiros de Objectos. Ø Classe File Ø Criação. Manipulação. Ø Classe StringTokenizer

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

Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

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

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO

RESPOSTA: import java.util.arraylist; import java.util.list; class CarrinhoDeCompras2 { List<Produto> produtos;

Aula 4 Estruturas de Controle

Equivale a um conjunto de if 's encadeados, porém mais estruturado.

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

Programação Estruturada e Orientada a Objetos

Vetores Unimensionais

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

Estruturas de controle Parte 1

Algoritmos I Aula 14 Java: estruturas de seleção e repetição

Lógica de Programação e Algoritmos

AULA TEÓRICA 10 Tema 9. Introdução à programação. Desenho de Algoritmos

Introdução à Programação

Linguagem de Programação III

Vetores Unimensionais

Estruturas de Repetição e String

Variáveis primitivas e Controle de fluxo

1. Estude e implemente a classe Exemplo1 apresentada abaixo:

PROGRAMAÇÃO JAVA. Parte 3

Algoritmos e Programação

Estruturas de Repe,ção e String

Torneio Estudantil de Computação Multi-Linguagem de Aveiro. Escola Superior de Tecnologia e Gestão de Águeda Universidade de Aveiro TECLA 2009

Aula 7 Estruturas de Repetição Cleverton Hentz

Estruturas de Controle

LÓGICA DE PROGRAMAÇÃO (JAVA) VARIÁVEIS. Professor Carlos Muniz

Desenvolvimento de Aplicações Desktop

Conceitos básicos de programação

Laboratório de Programação. Aula 12 Java 5COP088. Aula 12 Exceções Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr

INSTRUÇÕES DE REPETIÇÃO

Aula teórica 3. Tema 3.Computadores e linguagens Linguagens de Programação Compilação e linkagem LP Java. Preparado por eng.

Sintaxe Básica de Java Parte 2

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

Análise de Programação

Estruturas de Repetição e String. Vanessa Braganholo

Tipos de dados e comandos POO

Sintaxe da linguagem Java

ALGORITMOS. Professor: Diego Oliveira. Aula 06 - Tipos Primitivos de Dados

JAVA. Professor: Bruno Toledo

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

Aula 10 Comandos de Repetição For e Do While

Fundamentos de Programação 1

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

Programação Orientada a Objetos SANTOS, Rafael (PLT)

ESQUEMA AULA PRÁTICA 1

Java Standard Edition (JSE)

Prof. A. G. Silva. 13 de novembro de Prof. A. G. Silva INE5603 Introdução à POO 13 de novembro de / 1

ESQUEMA AULA PRÁTICA 1

Instituto Politécnico de Setúbal. Escola Superior de Tecnologia. Departamento de Sistemas e Informática. Guia para codificação em JAVA

Lição 4 Fundamentos da programação

PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA

2 Vectores de objectos

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

Java e sua Sintaxe. Estrutura mínima de um programa em Java: public class Exemplo { }

Linguagem de Programação II Implementação

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

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Fabiano Moreira.

Algoritmos I Aula 13 Linguagem de Programação Java

Aula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz

Estruturas de Decisão

Java Standard Edition (JSE)

Conceitos básicos de programação

Linguagens de Programação Classificação

ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java.

Linguagem Java: Sintaxe Java

Entrada Processamento Saída

Transcrição:

Tema 11. Repetição Ciclo while Ciclo do-while Ciclo for Aula teórica 11 Objectivos da aula: No final da aula estudante deve: Utilizar correctamente as instruções de repetição. Saber escolher entre as instruções de repetição. Preparado por eng.tatiana Kovalenko 1

Repetição A maioria dos programas que têm interesse prático incluem estruturas repetitivas. Exemplo: agenda de telefones. A situação poderia ser ainda mais complicada se o número de pessoas não fosse conhecido à partida. Uma forma eficaz de resolver este problema é a utilização de uma estrutura que se encarregue de fazer repetir as instruções que permitem ler os dados de uma pessoa tantas vezes quantas as pessoas envolvidas. Estas estruturas são denominadas por estruturas repetitivas ou ciclos. Quando não sabemos quantas vezes deve se fazer a repetição utilizam-se os ciclos while e do...while. O critério de execução ou paragem destes ciclos depende de uma condição, que será testada antes ou depois de cada execução de ciclo. 2

Ciclo while O ciclo while faz o teste primeiro e executa as instruções depois, caso a condição for verdadeira. Se o resultado for verdadeiro, as instruções (I) - + são executadas, seguindo-se um novo cálculo da condição. Quando a condição tiver resultado falso, o ciclo terminará, prosseguindo a execução do programa na instrução seguinte ao ciclo.? I Sintaxe da instrução while: inicialização; //da variável de controle de repetições while (condição) { instruções;//executadas apenas enquanto condição for true acção; //increm. ou decrem. da variável de controle 3

Exemplo: Calcular a média de N números inteiros fornecidos pelo utilizador. import java.io.*; public class MediaN_Numeros1 { public static void main(string args[])throws IOException { //Declaração de variáveis BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); float media, soma = 0; int quant, num; int contador = 0; //inicialização da variável de controle System.out.println("Quantos são numeros? (>0)"); quant = Integer.parseInt(br.readLine()); while (contador < quant) { System.out.println("Intr. o proximo numero: "); num = Integer.parseInt(br.readLine()); soma += num; contador ++; //acção, i.e. incrementação da variável de controle media = soma/quant; System.out.println("A media dos "+quant+" numeros = "+ media); 4

M Note-se que, devido ao facto de a condição boleana ser testada antes, o conjunto de instruções pode nunca vir a ser executado. Isto acontece se o resultado da condição for false logo no início. Mao programar um ciclo é necessário criar as condições para que o mesmo possa terminar. Ciclo do...while Ao contrário do ciclo while, o ciclo do...while primeiro executa as instruções e depois faz o teste. Caso a condição for verdadeira o ciclo repete-se. Sintaxe da instrução do...while: inicialização; I do { intruções; + acção;? - while (condição); 5

M Notar que, devido ao facto de a condição apenas ser testada no fim, o conjunto de instruções é executado pelo menos uma vez. O Exemplo anterior modificamos usando ciclo do-while: import java.io.*; public class MediaN_Numeros2 { public static void main(string args[])throws IOException { //Declaração de variáveis BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); float soma = 0; int quant,num,contador=0; System.out.println("Quantos numeros pretende(>0)?"); quant = Integer.parseInt(br.readLine()); do { System.out.println("Intr. proximo numero: "); num = Integer.parseInt(br.readLine()); soma += num; contador++; //acção, i.e. incrementação da variável de controle while(contador < quant); System.out.println("media de "+quant+" numeros= "+ soma/quant); 6

Uma das utilizações mais comuns deste tipo de repetição é a validação de dados fornecidos pelo utilizador. Exemplo: Pretende se introduzir numero de horas trabalhadas, sabendo que os valores podem variar de 0 a 12. No caso contrário deve aparecer um aviso de erro e pedido de repetir a entrada do valor. import java.io.*; public class ValidarHorasTrab { public static void main (String args [])throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); byte h; do { System.out.print("Qde de horas trabalhadas? "); h = Byte.parseByte(br.readLine()); if (h < 0 h > 12) System.out.println("Valor invalido!tente de novo!"); while (h < 0 h > 12); System.out.println("Horas trabalhadas: "+ h); 7

Referência bibliográfica: António José Mendes; Maria José Marcelino. Fundamentos de programação em Java 2. FCA. 2002. Elliot Koffman; Ursula Wolz. Problem Solving with Java. 1999. John R. Hubbard. Theory and problems of programming with Java. Schaum s Outline series. McGraw-Hill. H. Deitel; P. Deitel. Java, como programar. 4 edição. 2003. Bookman. Rui Rossi dos Santos. Programando em Java 2 Teoria e aplicações. Axcel Books. 2004 8