Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

34
Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace

Transcript of Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

Page 1: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

Estrutura de decisão e repetição em JAVA

P. O. O.

Prof. Grace

Page 2: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

2

Elevador para pessoas

Resolva o exercício para um elevador convencional que precisa levar n pessoas, todas com peso z.

– Capacidade do elevador: double capacidade– Peso individual: double pesoIndiv– Qtd pessoas: int qtdPessoas– Qtd de pessoas por viagem: (int) capacidade/pesoIndiv– Qtd viagens: Qtd pessoas/ qtd pessoas por viagem– Arredondar pra cima!

Page 3: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

3

Trecho da Solução

Page 4: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

4

Exercícios

Seja n uma variável inteira contendo o número de

erros detectados em determinado processo. Use o

operador condicional ternário para codificar uma

instrução capaz de exibir saídas como:

– 1 erro detectado.

– 5 erros detectados

Page 5: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

5

Solução 1

Page 6: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

6

Solução 2

Page 7: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

7

Solução 3

Page 8: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

8

Solução 4

Não Funciona!!!

Page 9: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

9

Estrutura de decisão múltipla

Usada quando precisamos escolher uma entre várias alternativas previamente definidas;

switch(exp)

{

case const1: comando1;

break;

case const2: comando2;

break;

...

case constn: comandon;

break;

default: comando;

}

Page 10: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

10

Quais as saídas nesse exemplo?

Page 11: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

11

Calculadora

Uso da estrutura de decisão múltipla para

implementar uma simples calculadora;

O usuário digita uma expressão da forma

val1 <enter> operador <enter> val2 <enter> e o

programa fornece-lhe seu valor como resposta.

Os valores podem ser reais e os operadores aceitos

são: +, -, * e /.

Page 12: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

12

Solução (implementar)

Converte o operador de String para caracter

Page 13: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

13

Alterando a calculadora

Altere o exemplo anterior para que a calculadora exiba um erro caso seja feita uma divisão por zero.

Page 14: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

14

Outro exemplo: Rodízio

Dados os dígitos da placa de um carro, informe

o dia do seu rodízio. Use switch-case.

– Lembrando que o operador % (resto da divisão

inteira) pode nos auxiliar a selecionar o ultimo

dígito de um número inteiro. 1003 % 10 => 3

3076 % 10 => 6

Page 15: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

15

Trecho da Solução

... System.out.println("Digite a placa:");int placa = entrada.nextInt();if (placa<0 || placa >9999)

System.out.println("Placa inválida!");elseswitch( placa%10 )

{ case 1: case 2: System.out.println("2a feira"); break; case 3: case 4: System.out.println("3a feira"); break;

...default : System.out.println("6a feira");

}

Page 16: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

16

Solução 2

Page 17: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

17

Repetição com precondição

while (condição)

comando; V

Condição verdadeira para executar o comando

executado repetidamente

Page 18: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

18

Exercício – Exibir dígitos

Dado um número natural, exibir seus dígitos invertidos.

Ex: 8315 => 5138 Como? Divisão sucessiva por 10 (while n!=0).

Page 19: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

19

Solução

Page 20: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

20

Problemas...

Se n for negativo? Validar entrada...

E se n for igual a zero? Será impresso? Usar a repetição com pós-condição.

do{

<bloco de instruções> ...} while (<condição>);

Page 21: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

21

Solução 2

Variável declarada fora do bloco de repetição

Page 22: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

22

Exercício Dado um número natural, exibir seu fatorial.

Page 23: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

23

Repetição com contador

for (inicialização; condição; alteração)

comando; V

Atribui valor inicial ao contador

verifica se a contagem continua ou chegou ao fim

modifica o valor do contador

executado repetidamente

Page 24: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

24

Fatorial

Page 25: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

25

Exercício

Numa agência bancária, as contas são identificadas por números de até 6 dígitos seguidos de um dígito verificador, calculado da seguinte forma:

Ex.: Seja n = 7314 o número da conta.

1) Obtemos a soma dos dígitos de n:s = 7+3+1+4 = 15

2) Obtemos o dígito verificador a partir do resto da divisão de s por 10:d = s % 10 = 15 % 10 = 5

O número da conta é: 007314-5

Dado um número de conta n, exiba o número de conta completo correspondente.

Page 26: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

26

Lógica para a solução

Leia n;

Use um laço de repetição para somar seus dígitos;

Após o laço, obtenha o DV pelo resto da divisão por 10;

Imprima o número da conta formatado, incluindo o DV;

Page 27: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

27

Solução

Page 28: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

28

Mais exercícios

Um comerciante precisa informatizar o caixa de sua loja.

Codifique um programa que:- Leia uma série de valores correspondendo aos preços das

mercadorias compradas por um cliente (o valor zero finaliza a

entrada);- Calcule o valor total;- Aplique o desconto

conforme tabela ao lado;- Mostre o valor a ser pago

pelo cliente.

Page 29: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

29

Solução

Page 30: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

30

Pergunta!

É possível usar a estrutura switch-case para a solução do exercício anterior (caixa)?

Explique porquê?

Page 31: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

31

Lista de exercícios para dia 19/10

Entregar no dia da prova (19/10)– Q. 1, 5 e 6– Q. 12 e 16

Entregar relatório do Congresso (05/10)

Page 32: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

32

Mais exercícios para estudar

Dado n positivo e uma seqüência de n números calcular a soma dos elementos da seqüência.

Faça um loop para validar se n é maior que zero, ou seja, enquanto n<=0 exiba uma mensagem de erro e solicite um novo valor de n.

Page 33: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

33

Mais exercícios

Dado n positivo e uma seqüência de n números

calcular a média dos elementos da seqüência.

Faça um loop para validar se n é maior que zero,

ou seja, enquanto n<=0 exiba uma mensagem de

erro e solicite um novo valor de n.

Idem anterior, determinando o maior e o menor.

Dado N >= 0 inteiro e X real, calcular X elevado a potência N (sem usar pow).

Page 34: Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace.

34

Próximas aulas

05/10: Congresso 12/10: Feriado 19/10: Prova 1