capítulo 8 - rui rossi · rui rossi dos santos programação de computadores em java editora...

Post on 22-Nov-2018

213 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

CapCapíítulo 8tulo 8Estruturas de RepetiEstruturas de Repetiççãoão

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Objetivos do Capítulo

� Apresentar as três estruturas de repetição (loops) disponíveis no Java: while, do-while e for.

� Indicar a sintaxe que deve ser empregada para a construção de cada diferente tipo de estrutura de repetição.

� Explorar diferentes tipos de tarefas que podem ser realizadas por uma estrutura de repetição e analisar quando cada uma delas é a mais adequada.

� Apresentar os mecanismos que podem ser empregados para interromper ou desviar o fluxo de execução em uma estrutura de repetição.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Introdução

� Estrutura de repetição = loop = laço

� Finalidade: repetir uma instrução ou bloco

� Composição:

� Inicialização

� Condição

� Corpo

� Iteração

� Tipos:

� while

� do-while

� for

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Estrutura while

� while = enquanto

� Sintaxe:

<inicialização>

while (<condição>)

<corpo>

<iteração>

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Estrutura while

� Código 8.1 – While.java

� Escreva um laço que imprima o valor de uma variável inteira.

� Esta variável deve iniciar com zero.

� A variável deve ser incrementada antes de ser impressa.

� Isso deve se repetir enquanto a variável for menor que cinco.

� Escreva um laço que imprima o valor de uma variável inteira e o caractere correspondente a ele.

� Esta variável deve iniciar com 69.

� A variável deve ser decrementada depois de ser impressa.

� Isso deve se repetir enquanto a variável for maior ou igual a 65.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Estrutura while

� Código 8.2 – ValidaNome.java

� Crie um programa que solicite o nome do usuário.

� Quando o nome for válido, exiba uma mensagem que indique suavalidade e encerre o aplicativo.

� Quando o nome for inválido, exiba uma mensagem de erro e solicite-onovamente.

� Para ser válido, o nome deve ter de 5 a 50 caracteres.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Estrutura do-while

� while versus do-while

� while = condição testada antes da primeira execução

� do-while: condição testada após uma execução

� Sintaxe:

<inicialização>

do

<corpo>

<iteração>

while (<condição>);

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Estrutura do-while

� Código 8.3 – DoWhile.java

� Escreva um laço que imprima o valor de uma variável inteira.

� Esta variável deve iniciar com nove.

� A variável deve ser incrementada antes de ser impressa.

� Isso deve se repetir enquanto a variável for menor que cinco.

� Escreva um laço que imprima o valor de uma variável inteira e o caractere correspondente a ele.

� Esta variável deve iniciar com 69.

� A variável deve ser decrementada depois de ser impressa.

� Isso deve se repetir enquanto a variável for maior ou igual a 65.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Estrutura do-while

� Código 8.4 – ValidaEmail.java

� Crie um programa que solicite o e-mail do usuário.

� Quando o e-mail for válido, exiba uma mensagem que indique suavalidade e encerre o aplicativo.

� Quando o e-mail for inválido, solicite-o novamente.

� Para ser válido, o e-mail deve atender aos seguintes requisitos:

� Deve ter pelo menos 5 caracteres.

� Deve ter somente um símbolo de arroba.

� Este símbolo não pode ser o primeiro caractere.

� Este símbolo não pode ser o último caractere.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Estrutura for

� Característica: compacta

� Sintaxe:

for (<inicialização>; <condição>; <iteração>)

<corpo>

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Estrutura for

� Código 8.5 – For.java

� Escreva um laço que imprima o valor de uma variável inteira.

� Esta variável deve iniciar com 1.

� A variável deve ser incrementada depois de ser impressa.

� Isso deve se repetir enquanto a variável for menor ou igual a 5.

� Escreva outro laço que imprima o valor de uma variável inteira.

� Esta variável deve iniciar com 5.

� A variável deve ser decrementada depois de ser impressa.

� Isso deve se repetir enquanto a variável for maior ou igual a 1.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Estrutura for

� Código 8.6 – Compras.java

� Crie um programa que solicite a descrição de 5 itens para compor uma lista de compras.

� Grave todos os itens em uma única string.

� Se o diálogo de entrada for cancelado, encerre o aplicativo.

� Ao final, exiba a lista de compras com os 5 itens registrados.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Quebras de Laço

� Finalidade: interromper o fluxo normal de um laço

� Tipos:

� break: encerra o laço

� continue: desvia a execução

� No while e do-while: para a condição

� No for: para a iteração

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Quebras de Laço

� Código 8.7 – Break.java

� Crie um programa que solicite o nome do usuário.

� Quando o nome for válido, exiba uma mensagem co o nome informadoe encerre o aplicativo.

� Quando o nome for inválido, solicite-o novamente.

� Para ser válido, o nome deve ter pelo menos 2 caracteres.

� Para repetir a solicitação do nome, utilize um laço cuja condiçãojamais se torne falsa.

� Interrompa este laço quando o nome for válido.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Quebras de Laço

� Código 8.8 – Tarefas.java

� Crie um programa que solicite a descrição de até 10 tarefas para compor uma lista de coisas a serem feitas.

� Grave todas as tarefas em uma única string.

� Se o diálogo de entrada for cancelado, exiba a lista de tarefas queforam registradas.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Quebras de Laço

� Código 8.9 – Continue.java

� Crie um programa que solicite o nome do usuário.

� Utilize um laço for para realizar esta solicitação.

� Quando o nome for inválido, solicite-o novamente.

� Utilize o contador do laço for para contar quantas vezes um nomeinválido foi informado.

� Se nenhum erro tiver sido cometido, apenas apresente umamensagem de boas-vindas.

� Se um nome inválido tiver sido informado, a mensagem de boas-vindas deve incluir o número de erros cometidos.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Quebras de Laço

� Código 8.10 – Musicas.java

� Crie um programa que permita registrar até 10 músicas.

� O nome do artista e o nome da música devem ser informados atravésde diálogos distintos.

� Grave todos os dados em uma única string. Antes de gravá-los, converta o nome do artista para maiúsculo e o título da música paraminúsculo.

� Se um diálogo de entrada for cancelado, exiba uma lista com as músicas que foram registradas.

� Se um dado inválido for informado, exiba uma mensagem de erroe solicite-o novamente.

� O título da música deve ter de 2 a 30 caracteres.

� O nome do artista deve ter de 5 a 40 caracteres.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Exercício 1

� Crie um novo aplicativo, chamado Exercicio0801, que solicite seu nome completo e avalie se o dado informado é válido.

� Se o diálogo de entrada for cancelado, o aplicativo deve ser encerrado imediatamente.

� Se o nome não for válido, uma mensagem de erro deve ser exibida e o aplicativo deve solicitá-lo novamente.

� Se o nome for válido, o aplicativo deve exibir uma mensagem com o nome informado.

� As regras para a validação do dado informado são as seguintes:

� Deve ter de 5 a 50 caracteres.

� Não pode ter números.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Exercício 1

� As figuras abaixo ilustram a saída que deve ser produzida por este aplicativo para diferentes entradas.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Exercício 2

� Crie um novo aplicativo, chamado Exercicio0802, que solicite seu CPF e avalie se o dado informado é válido.

� Se o diálogo de entrada for cancelado, o aplicativo deve ser encerrado imediatamente.

� Se o CPF não for válido, uma mensagem de erro deve ser exibida e o aplicativo deve solicitá-lo novamente.

� Se o CPF for válido, o aplicativo deve exibir uma mensagem com o CPF informado.

� As regras para a validação do dado informado são as seguintes:

� Deve ter 11 caracteres.

� Todos os caracteres devem ser dígitos numéricos.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Exercício 2

� As figuras abaixo ilustram a saída que deve ser produzida por este aplicativo para diferentes entradas.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Exercício 3

� Crie um novo aplicativo, chamado Exercicio0803, que solicite um número e calcule o seu fatorial.

� Se o diálogo de entrada for cancelado, o aplicativo deve ser encerrado imediatamente.

� Se o número não for válido, uma mensagem de erro deve ser exibida e o aplicativo deve solicitá-lo novamente.

� Se o número for válido, o aplicativo deve exibir uma mensagem com o seu fatorial.

� Para ser válido, o número deve estar entre 0 e 25.

� O cálculo do fatorial de um número é realizado multiplicando-se este número por todos os números inteiros positivos anteriores a ele.

� Por exemplo: o fatorial de 4 é 24 (4 x 3 x 2 x 1).

� Além disso, o fatorial de zero é igual a um.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Exercício 3

� As figuras abaixo ilustram a saída que deve ser produzida por este aplicativo para uma entrada válida.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Exercício 4

� Crie um novo aplicativo, chamado Exercicio0804, que realize um número ilimitado de cálculos de IMC.

� Para realizar cada cálculo, o aplicativo deve solicitar um peso e uma altura.

� Se qualquer um destes diálogos for cancelado, o aplicativo deve ser encerrado imediatamente.

� Se um destes dados informados não for válido, uma mensagem de erro deve ser exibida e o aplicativo deve solicitá-lo novamente.

� Se os dois dados forem válidos, o aplicativo deve exibir uma mensagem contendo o IMC e a categoria correspondentes.

� As regras para a validação dos dados informados são as seguintes:

� Peso: deve ser um número entre 1,0 e 300,0.

� Altura: deve ser um número entre 0,1 e 2,5.

� Depois de realizar um cálculo de IMC e exibir a mensagem final, o aplicativo deve iniciar um novo procedimento de captação de dados para um novo cálculo.

� Ele deve realizar esta tarefa pela quantidade de vezes que você desejar e só deve ser encerrado quando você cancelar um dos diálogos de entrada.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Exercício 4

� As figuras abaixo ilustram a saída que deve ser produzida por este aplicativo para duas entradas válidas.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Exercício 5

� Crie um novo aplicativo, chamado Exercicio0805, que simule a emissão de um relatório simplificado de folha de pagamento.

� O aplicativo deve utilizar diálogos de entrada de dados para solicitar o nome e o salário de um número ilimitado de funcionários.

� Se qualquer um destes diálogos for cancelado, o aplicativo deve ser encerrado imediatamente.

� Se um destes dados informados não for válido, uma mensagem de erro deve ser exibida e o aplicativo deve solicitá-lo novamente.

� As regras para a validação dos dados informados são as seguintes:

� Nome: deve ter de 2 a 30 caracteres.

� Salário: deve ser um valor igual ou superior a R$ 465,00.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Exercício 5

� O teto para recolhimento de INSS é de RS 354,07. Esse é o valor máximo que pode ser descontado do funcionário.

� Para cada funcionário, o aplicativo deve calcular os valores a serem descontados de seu salário a título de INSS e de Imposto de Renda. Para calcular o valor do INSS a ser descontado, utilize a tabela abaixo:

Salário Alíquota

Até R$ 965,67 8,0

De R$ 965,68 a R$ 1.609,45 9,0

De R$ 1.609,46 a R$ 3.218,90 11,0

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Exercício 5

� Para calcular o valor do Imposto de Renda, utilize a tabela abaixo.

Salário Alíquota

Até R$ 1.434,00 0,0

De R$ 1.434,01 a R$ 2.150,00 7,5

De R$ 2.150,01 a R$ 2.886,00 15,0

De R$ 2.886,01 a R$ 3.582,00 22,5

Acima de 3.582,00 27,5

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Exercício 5

� O aplicativo também deve calcular o salário líquido a ser pago a cada funcionário, que representa o valor do salário decrescido dos valores do INSS e do Imposto de Renda.

� Ele deve captar o nome e o salário de um funcionário e realizar todos estes cálculos a quantidade de vezes que você desejar.

� Quando você cancelar um dos diálogos de entrada de dados, este aplicativo deve exibir uma mensagem contendo uma lista com o nome e o salário de cada funcionário que você informou, bem como os valores do INSS e do Imposto de Renda e o salário líquido a ser pago a cada um deles.

� Ao final desta lista, o aplicativo também deve indicar algumas totalizações: a soma do valor de todos os salários, as somas dos descontos de INSS e de Imposto de Renda e a soma de todos os salários líquidos.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Exercício 5

� As figuras abaixo ilustram os diálogos produzidos por este aplicativo.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Contato

Com o autor:

Rui Rossi dos Santos

E-mail: livros@ruirossi.pro.br

Web Site: http://www.ruirossi.pro.br

Com a editora:

Editora NovaTerra

Telefone: (21) 2218-5314

Web Site: http://www.editoranovaterra.com.br

top related