Estrutura de decisão e repetição em JAVA P. O. O. Prof. Grace
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!
Trecho da Solução
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
Solução 1
Solução 2
Solução 3
Solução 4 Não Funciona!!!
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; ... case constn: comandon; default: comando; }
Quais as saídas nesse exemplo?
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 /.
Solução (implementar) Converte o operador de String para caracter
Alterando a calculadora Altere o exemplo anterior para que a calculadora exiba um erro caso seja feita uma divisão por zero.
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
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!"); else switch( placa%10 ) { case 1: case 2: System.out.println("2a feira"); break; case 3: case 4: System.out.println("3a feira"); ... default : System.out.println("6a feira"); }
Solução 2
Repetição com precondição while (condição) comando; V Condição verdadeira para executar o comando executado repetidamente
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).
Solução
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>);
Solução 2 Variável declarada fora do bloco de repetição
Exercício Dado um número natural, exibir seu fatorial.
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 executado repetidamente modifica o valor do contador
Fatorial
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.
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;
Solução
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.
Solução
Pergunta! É possível usar a estrutura switch-case para a solução do exercício anterior (caixa)? Explique porquê?
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)
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.
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).
Próximas aulas 05/10: Congresso 12/10: Feriado 19/10: Prova 1