Programação I Aula 5 (Instruções de Repetição) Prof. Gilberto Irajá Müller Última atualização 24/3/2009.

Slides:



Advertisements
Apresentações semelhantes
Introdução à Programação Um enfoque orientado a construção de modelos em programas baseados em objetos Gustavo Motta Departamento de Informática - UFPB.
Advertisements

Estruturas de Controle
UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL
Estruturas de Repetição
Linguagem II Walmor Cardoso Godoi, M.Sc.
Linguagem de Programação IV
Introdução à Programação usando Processing Programação Gráfica 2D Estrutura de Seleção Exercícios de Revisão Estrutura de Seleção 14/10/09 Bruno C. de.
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE II Prof. Thiago Pereira Rique
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique
Tomada de Decisões Aula 3.
Estrutura de Repetição
Laboratório de Programação de Computadores II Aula 1 2S/2009.
Cronograma de SCII - 2o. Ano de STPD - Profs. Fátima e Paulo
6.3 – Estruturas Repetitivas
Aula 6 Instruções de selecção e instruções condicionais.
DESENVOLVIMENTO DE COMÉRCIO ELETRÔNICO
O Portal do Estudante de Computação
Introdução a Computação e Cálculo Numérico
Introdução a Computação e Cálculo Numérico
Unidade I: “Dê um mergulho rápido”
Aula prática 4 Laços Monitoria de Introdução à Programação
Introdução à Programação Estruturas de Repetição
IAED Tagus, 2009/2010 Introdução à Programação em C (I)
Material Didático Proposto
FTIN Formação Técnica em Informática
Estruturas de Repetição
© 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)
ENGENHARIA DE AUTOMAÇÃO INDUSTRIAL
PROGRAMAÇÃO I UNIDADE 4.
LINGUAGENS DE PROGRAMAÇÃO PROF. DANIELA PIRES
Introdução à Programação de Computadores
Estrutura de Decisão e Repetição
Programação e Sistemas de Informação
Aula 4 – Java – Prof. Marcelo Heitor
Linguagem de Programação JAVA
Módulo I Capítulo 4: Operador de Repetição
PCI- Estrutura de Repetição
Aula 2 Igor Ebrahim (ies) if669 - Introdução à Programação Monitoria de IP.
Algoritmos e Estruturas de Dados
Prof. Renato de Oliveira Bastos
Programação I Aula 12 (Arrays Bidimensionais)
Algoritmos e Estrutura de Dados I
Introdução à Linguagem C
Algoritmos Comandos de repetição.
Algoritmo.
Estruturas de Controlo Repetitivas
Linguagens de Programação II
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Algoritmos e linguagens de programação 1 (aula 06) Prof. Alessandro Bernardo.
Linguagem C – Estrutura de Repetição
Aula Prática 2 Monitoria IP/CC (~if669).
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Algoritmos e linguagens de programação 1 (aula 09) Prof. Alessandro Bernardo.
Prof: Adriano A. Ribeiro
Programação I Aula 07 Autor: Francisco Airton Professor: André L. R. Didier 1.
Curso Técnico em Informática Professor Igor Vale.
ALGORITMOS Profº Antonio Carlos Marcelino de Paula.
Informática e Computação Aula Estrutura de Repetição
Profa. Maria Augusta Constante Puget
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Algoritmos e linguagens de programação 1 (aula 08) Prof. Alessandro Bernardo.
Fundamentos de Programação Aula 4. 2 Conteúdo Estruturas Básicas de Programação –Repetição, laço, loop ou iteração Exercícios.
Comandos de Repetição (While, Do..While e For)
Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho
Laço ou loop e repetição
CONDICIONAL IF Desenvolvido pelo Mestrando Rodrigo Moreira Barreto – VHLab (Virtual Humans Simulation Laboratory – PUCRS) 1 Desenvolvido por: Rodrigo Moreira.
Estrutura de Repetição
1 Estruturas de Controle 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.
Visual C# (parte 2) Prof. Igor Conrado Alves de Lima – Operadores, estruturas de decisão, vetores (arrays), e estruturas de.
ALGORITMOS Profº Antonio Carlos Marcelino de Paula 1.
IF E ITERAÇÃO WHILE Dilvan Moreira (baseado no livro Big Java e T. Munzner)
ESTRUTURAS REPETITIVAS
LOOPS EM JAVA Prof. André Aparecido da Silva
Transcrição da apresentação:

Programação I Aula 5 (Instruções de Repetição) Prof. Gilberto Irajá Müller Última atualização 24/3/2009

Instruções de Repetição As instruções de repetição permitem fazer com que a execução de uma instrução (simples ou composta) seja repetida diversas vezes. Em Java existem três modalidades: while, for e do.

Instruções de Repetição while Permite repetir uma instrução ou um bloco, enquanto uma dada condição se mantiver verdadeira. Sintaxe: while (condição) instrução; ou while (condição) { instrução1; instrução2; }

Instruções de Repetição Inicialmente a condição é avaliada. Se der resultado true (verdadeiro), a instrução é executada e a condição volta a ser avaliada. Enquanto a condição for true (verdadeira), esse processo se repete. Quando a condição for false, o controle saltará para a primeira instrução após o laço while.

Instruções de Repetição Exemplo 5.1: int i = 1; while (i <= 5) System.out.println(i++); Qual será a saída?

Instruções de Repetição Exemplo 5.2: Teclado t = new Teclado(); double d = 0; int i = 1; while (i <= 5) { d = t.leDouble(); if (d > 0) System.out.println(Math.pow(d, 2)); i++; }

Instruções de Repetição for Permite repetir um ou vários comandos, dentro de um intervalo de valores, do início ao fim desse intervalo. Sintaxe: for(expressão inicial; condição; expressão incremento) instrução; ou for(expressão inicial; condição; expressão incremento){ instrução 1; instrução 2; }

Instruções de Repetição A instrução for equivale a uma instrução while do tipo: while (condição) { instrução; expressão incremento; }

Instruções de Repetição Exemplo 5.3: for(int i = 1; i < 6; i++) System.out.println(i); Qual é a saída do código acima? Utilize o for para o exemplo 5.2.

Instruções de Repetição for com múltiplos componentes Pode-se ter mais de uma expressão inicial, desde que separadas por vírgula. Esta construção não permite a declaração das variáveis de tipos de diferentes dentro do for. Exemplo 5.4: int i = 0; double d = 0; for (i = 1, d = 10; i <= 5; i++, d -=0.5) System.out.println(i + " " + d); QUAL É A SAÍDA DO CÓDIGO ACIMA?

Instruções de Repetição Laços for aninhados Acontece quando temos um for dentro do corpo de outro for. Exemplo 5.5: for (int i = 1; i<=5; i++) { for (int j = 1; j<=i; j++) System.out.print("* "); System.out.println(“”); } QUAL É A SAÍDA DO CÓDIGO ACIMA?

Instruções de Repetição do (...while) É uma versão do laço while-do, mas difere porque a condição é testada no fim do laço, enquanto no while o teste ocorre no início do laço. Assim, o laço while pode executar zero vezes, enquanto o do executa pelo menos uma vez.

Instruções de Repetição Sintaxe: do instrução; while (condição); ou do { instrução1; instrução2; } while (condição); Enquanto a condição for verdadeira (true), o laço será executado.

Instruções de Repetição Exemplo 5.6: int idade; Teclado t = new Teclado(); do idade = t.leInt("Informe a idade: "); while (idade <= 0); Faça o exemplo 5.4 com a instrução do/while

Instruções de Repetição Variáveis Locais Há situações em que necessitamos usar uma variável auxiliar dentro de um método, que não pode ser uma variável de instância (atributo), nem um parâmetro. Podemos declarar variáveis locais que serão conhecidas somente dentro do método. Quando o método terminar seu processamento, a variável desaparecerá. É o caso das variáveis usadas nos exemplos anteriores para controlar as repetições.

Instruções de Repetição Exemplo 5.7: int i = 0; double salario = 500.0; Se declararmos uma variável dentro do for, ela não será reconhecida fora do laço for. Perceba a diferença entre os dois trechos a seguir:

Instruções de Repetição double d = 0; for (d = 10; d > 0; d -= 0.5) System.out.println(d); for (double d = 10; d > 0; d -= 0.5) System.out.println(d); A variável “d” foi declarada fora do “for”. Portanto, terá vida útil nas instruções seguintes. A variável “d” foi declarada dentro do “for”. Portanto, terá vida útil somente dentro do “for”. A instrução ocasionará ERRO, pois não existe a variável “d”.

Instruções de Repetição Escopo de Variáveis O escopo de uma variável é o espaço do programa em que a referida variável é reconhecida. Java restringe o escopo da variável ao bloco onde foi declarada. Assim, quanto ao escopo, as variáveis se dividem em: Atributo privado – seu escopo é a classe toda Parâmetro – seu escopo é o método ou o construtor onde foi declarado Variável local – seu escopo é o método, ou o construtor, ou o for/while/do, ou o bloco de código onde foi declarada

Instruções de Repetição Vida útil das variáveis É o espaço de tempo que vai da alocação de memória para a variável até a sua eliminação (liberação deste espaço de memória), durante a execução de um programa: Atributo – alocação quando o objeto é instanciado e eliminação quando o objeto é destruído Parâmetro – alocação quando o método ou construtor onde foi declarado é chamado e eliminação quando o método ou construtor termina sua execução Variável local – alocação quando o método, construtor, for/while/do ou bloco de código onde ela foi declarada inicia a execução e eliminação ao término desta execução

Instruções de Repetição Contadores e Acumuladores O método a seguir lê do teclado diversas idades de pessoas parando quando for lida uma idade negativa ou nula. O método calcula e devolve a média das idades lidas, ou zero, se nenhuma idade positiva for lida.

Instruções de Repetição public int calculaMediaIdades() { // soma, conta e idade são variáveis locais int soma = 0; int cont = 0; Teclado t = new Teclado(); int idade = t.leInt("Digite uma idade(0 interrompe): "); while (idade > 0){ soma = soma + idade; cont++; idade = t.leInt("Digite uma idade(0 interrompe): "); } if (cont > 0) // este teste é para evitar a divisão por zero return soma / cont; else return 0; }

Instruções de Repetição Qual é a variável “contador”? Qual é a variável “acumulador”? Um contador executa uma tarefa de contagem de alguma grandeza (no caso, idades válidas digitadas). Um acumulador executa uma tarefa de soma de alguma grandeza (no caso, idades válidas digitadas). Um contador recebe incrementos constantes. Um acumulador recebe incrementos variáveis.

Métodos Exercício 5.8 Escreva um método Java que recebe a altura n e devolve um String com o seguinte triângulo (use o caractere de escape \n para indicar o salto de linha): etc... Dica: Tem dois for

Métodos Exercício 5.9 Escreva um método que calcula o fatorial de um determinado valor inteiro. Passe como parâmetro esse valor inteiro! Dica: Tem for

Métodos Exercício 5.10 Escreva um método que lê via teclado 8 números reais positivos e retorna o valor do maior deles. Validar os dados de entrada, pedindo outro número sempre que o usuário digitar um valor nulo ou negativo. Dica: Tem while, for e if

Métodos Exercício 5.11 Escreva um método em Java de nome max, que recebe quatro números inteiros e retorna o valor do maior deles. Dica: Tem if

Métodos Exercício 5.12 Escreva um método em Java que lê do teclado um número qualquer e retorna a palavra Positivo, Negativo ou Nulo, conforme o caso. Dica: Tem if... else if...

Métodos Referências bibliográficas