• Nenhum resultado encontrado

A14 estruturas.repeticao.java

N/A
N/A
Protected

Academic year: 2019

Share "A14 estruturas.repeticao.java"

Copied!
29
0
0

Texto

(1)

Estruturas de Repetição em Java

Bruno Cartaxo

http://sites.google.com/site/brunocartaxo

[email protected]

(2)

Tópicos a serem discutidos na disciplina

Introdução a computadores e algoritmos

Tipos de dados, operadores, variáveis, E/S

Verificação manual de algoritmos e modularização

Estruturas de decisão: comandos SE e CASO

Estruturas de repetição: comandos ENQUANTO e PARA

Vetores

Introdução à Java

Trabalhando com strings em Java

Estruturas de decisão em Java

Estruturas de repetição em Java

(3)
(4)

Comando while (enquanto)

Sintaxe: while (condição) {instruções}

Tem o propósito de repetir o bloco de instruções enquanto uma

condição não for estabelecida.

Cuidado com loops infinitos!

while (x < 10) {

// instruções a serem repetidas

(5)

Exemplo de uso do comando while

import java.util.Scanner;

public class ExemploWhile {

public static void main(String[] args) {

Scanner leitor = new Scanner(System.in);

System.out.print("Digite um número inteiro positivo: ");

int numero = leitor.nextInt();

while (numero > 0) {

System.out.print(numero + ", "); numero--;

}

System.out.println("FOGO!!!");

(6)

Comando for (para)

Sintaxe: for (inicialização; condição; incremento) {instruções}

Realização uma ação repetitiva com um contador que é inicializado e

incrementado em cada iteração.

Comumente usado para iterar sobre estruturas de dados como arrays.

for (int i = 0; i < 10; i++) {

// instruções a serem repetidas

(7)

Exemplo de uso do comando for

import java.util.Scanner;

public class ExemploFor {

public static void main(String[] args) {

Scanner leitor = new Scanner(System.in);

System.out.print("Digite um número inteiro positivo: ");

int numero = leitor.nextInt();

for (int i = 0; i < numero; i++) { System.out.print(i + ", ");

} }

(8)
(9)

Exemplo 1

Faça um programa em Java que leia diversos números positivos e

(10)

Exemplo 1

Estruturando solução

Entradas

• Números positivos

Saídas

• A metade dos números

Detalhes

• Usar o comando WHILE repetir a leitura de números até que seja digitado um valor negativo.

(11)

Exemplo 1

Código

import java.util.Scanner;

public class Exemplo1 {

public static void main(String[] args) {

Scanner leitor = new Scanner(System.in);

System.out.print("Digite um número (negativo para sair): "); int numero = leitor.nextInt();

while (numero >= 0) {

double metade = numero / 2.0;

System.out.println("A metade de " + numero +" é " + metade); System.out.print("Digite um número (negativo para sair): ");

numero = leitor.nextInt(); }

(12)

Exemplo 1

Execuções

Digite um número (negativo para sair): 10 A metade de 10 é 5.0

Digite um número (negativo para sair): 7 A metade de 7 é 3.5

Digite um número (negativo para sair): 5 A metade de 5 é 2.5

(13)

Exemplo 2

(14)

Exemplo 2

Estruturando solução

Entradas

• Números reais

Saídas

• Maior número dentre os informados

Detalhes

(15)

Exemplo 2

Código

import java.util.Scanner;

public class Exemplo2 {

public static void main(String[] args) {

Scanner leitor = new Scanner(System.in);

System.out.print("Digite um número (-1 para sair): ");

double numero = leitor.nextDouble();

double maior = numero;

while (numero != -1) {

System.out.print("Digite um número (-1 para sair): ");

numero = leitor.nextDouble();

if (numero > maior) {

maior = numero; }

}

System.out.println("O maior número digitado é: " + maior);

(16)

Exemplo 2

Execuções

(17)

Exemplo 3

(18)

Exemplo 3

Estruturando solução

Entradas

• 10 números inteiros

Saídas

• Quantidade de números ímpares

Detalhes

• Serão necessárias 10 leituras. Podemos criar uma variável contadora para controlar este laço.

• Precisaremos de uma outra variável para contar a quantidade de números ímpares.

• Não podemos deixar para contar após a repetição, pois cada número fornecido apaga o anterior. Logo precisamos ir contando após cada entrada, incrementando uma nova variável contadora.

(19)

Exemplo 3

Código

import java.util.Scanner;

public class Exemplo3 {

public static void main(String[] args) {

Scanner leitor = new Scanner(System.in); int contImpar = 0;

for (int i = 0; i < 10; i++) {

System.out.print("Digite um número inteiro: "); int numero = leitor.nextInt();

if (numero % 2 != 0) {

contImpar++; }

}

System.out.println("Quantidade de números impares digitados: " + contImpar); }

(20)

Exemplo 3

Execuções

Digite um número inteiro: 5 Digite um número inteiro: 9 Digite um número inteiro: 2 Digite um número inteiro: 1 Digite um número inteiro: 10 Digite um número inteiro: 23 Digite um número inteiro: 73 Digite um número inteiro: 18 Digite um número inteiro: 202 Digite um número inteiro: 15

(21)

Exemplo 4

(22)

Exemplo 4

Estruturando solução

Entradas

Quantidade de CDs

Valor de cada um dos CDs

Saídas

Valor total investido em CDs

Valor média de cada CD

Detalhes

Podemos usar a quantidade de CDs como limite final da variável contadora do

comando FOR que irá ler o valor de cada um deles.

(23)

Exemplo 4

Código

import java.util.Scanner;

public class Exemplo4 {

public static void main(String[] args) {

Scanner leitor = new Scanner(System.in);

System.out.print("Digite a quantidade de CDs: ");

int quantidadeCds = leitor.nextInt();

double somaPrecos = 0;

for (int i = 0; i < quantidadeCds; i++) {

System.out.print("Digite o preço do CD " + (i + 1) + ": ");

double preco = leitor.nextDouble();

somaPrecos = somaPrecos + preco; }

double valorMedio = somaPrecos / quantidadeCds;

System.out.println("Valor total investido: " + somaPrecos);

System.out.println("Valor médio por CD: " + valorMedio);

(24)

Exemplo 4

Execuções

(25)

Exemplo 5

(26)

Exemplo 5

Estruturando solução

Entradas

Diversos números inteiros

Saídas

Tabuada de cada um dos números digitados

Detalhes

Usar o comando WHILE para fazer as leituras dos números sendo -1 a condição de

parada.

(27)

Exemplo 5

Código

import java.util.Scanner;

public class Exemplo5 {

public static void main(String[] args) {

Scanner leitor = new Scanner(System.in);

System.out.print("Digite um número inteiro positivo (ou negativo para terminar): ");

int numero = leitor.nextInt();

while (numero >= 0) {

for (int i = 1; i <= 10; i++) {

int multiplicacao = numero * i;

System.out.println(numero + " X " + i + " = " + multiplicacao);

}

System.out.print("Digite um número inteiro positivo (ou negativo para terminar): ");

numero = leitor.nextInt(); }

(28)

Exemplo 5

Execuções

Digite um número inteiro positivo (ou negativo para terminar): 2 2 X 1 = 2

2 X 2 = 4 2 X 3 = 6 2 X 4 = 8 2 X 5 = 10 2 X 6 = 12 2 X 7 = 14 2 X 8 = 16 2 X 9 = 18 2 X 10 = 20

(29)

Estruturas de Repetição em Java

Bruno Cartaxo

http://sites.google.com/site/brunocartaxo

[email protected]

Referências

Documentos relacionados

Os dados originais foram submetidos à estatística descritiva a fim de se conhecer e resumir cada variável, logo após, para caracterizar a variabilidade espacial e a

Figura 12: Voltamogramas cíclicos da oxidação de 1 x 10 -3 mol L -1 de hidrazina sobre o eletrodo de carbono vítreo modificado com hexacianoferrato de rutênio (III) em

Haver Existir.. análise, a variável repetição do verbo no mesmo enunciado dessa análise, no arquivo de condições. Realizamos uma nova rodada após a resolução

Introdução: A população idosa vem crescendo significativamente nos últimos anos. Idoso é considerado qualquer indivíduo com idade a partir dos 60 anos nos países em

O fato é que no escopo extenso das estratégias de manipulação e mutação comportamental, assim como de manutenção da atenção dos usuários, pela vigilância permanente,

Também, como vivemos nos tempos modernos onde a internet e as redes sociais tornaram-se a parte integrante de nossa vida, não posso deixar de fora o fato de que

Cada vez mais se impõe a necessidade do poder se tornar competente. Mais especificamente, a partir do século XIX, todo agente do poder vai ser um agente de constituição de

atribui uma propriedade a um objeto a, mas sim afirma uma relação entre objeto e observador, relação essa que depende da velocidade relativa dos dois. Nessa nova