Baixe o app para aproveitar ainda mais
Prévia do material em texto
1) O que será exibido na tela pelo trecho Java abaixo: Tela: 2)a)O que será exibido na tela pelo trecho Java abaixo: int n = 9; System.out.println( “Tabuada de ” + n + “ : ’’); for (int cont = 1; cont <= 10; cont++) System.out.println (cont + “ X ” + n+ “ = ” + cont *n); Tela: Tarefa individual com Exercícios de Iteração ( R epetição ) int m = 1 2 ; int n = 1 5 ; while ( m < n ) { m = m +1 ; System.out.println( “ m= ” + m + “ ” + “ n= ” + n); } System.out.println( “ m= ” + m + “ ” + “ n= ” + n); GABARITO 2)b)Reescreva o trecho de código anterior usando o comando while em vez de for. 3) No trecho de código abaixo quantas vezes o comando if será executado? 4 vezes int a = 37; int b = 15; int c = 10; boolean ok = false; while ( !ok) { if ( a>b) a = a - c; else ok =true; } 4) Complete o método privado de nome leUmCodigo, que lê um código (do tipo inteiro) do teclado, e retorna o código válido lido. Só aceita códigos de 10 a 20. Cada vez que for digitado um código inválido, deve ser exibida uma mensagem de erro e o código deve ser lido novamente. private int leUmCodigo() { int codigo; do { codigo = Teclado.leInt("Digite um código: ”) ; if (codigo < 10 || codigo > 20) System.out.println (“Código inválido”); } while (codigo < 10 || codigo > 20); return codigo; } 5) A programação de um método possui, em geral, mais de um algoritmo válido e correto. Analise as codificações abaixo para um método que recebe, via parâmetro, um número inteiro e calcula e retorna o fatorial do número. Resposta 6) Complete o método que recebe, via parâmetro, um número inteiro positivo (n) e lê do teclado n números inteiros. O método deve retornar a soma do maior com o menor número lido. public int soma (int n) { int numDigitado = Teclado.leInt("Digite um número: ”) ; // lê o primeiro int maior = numDigitado; int menor = numDigitado ; for (int i = 2; i <= n; i++) { numDigitado = Teclado.leInt("Digite um número: ”) ; if (numDigitado < menor) menor = numDigitado; else if (numDigitado > maior) maior = numDigitado; } //fim for return menor + maior; } //fim método //outra versão public int soma (int n){ int maior =0; int menor = 0; int numDigitado ; for (int i = 1; i <= n; i++) { numDigitado = Teclado.leInt("Digite um número: ”) ; if (i == 1) { menor = numDigitado; maior = numDigitado; } else { if (numDigitado < menor) menor = numDigitado; if (numDigitado > maior) maior = numDigitado; } //fim else } //fim for return menor + maior; } //fim método public long fatorial (int n) { long fat = 1; for (int i = n; i >= 1; i--) { fat = fat * i; } return fat; } public long fatorial (int n) { long f = 1; long prod; for (int i = 1; i <= n; i++) { prod = f * i; f = prod; } return f; } E Tela * - * -* - * - *- * - * -* - * - * - * -* - * - * - * - 8) Mostre o que será exibido na tela se o valor recebido no parâmetro n for 5 . public void exibe ){ ( int n for ( int i=n; i>=1; i -- ){ for int j=1; j<=i; j ++) ( System.out.print( “ * - ” ) ; System.out.println(); } } public double geraExibeNumerosSomaImpares (int n) { int somaImpares = 0; // acumulador de ímpares int contImpares = 0; // contador de ímpares double media = 0; int num; for( int i=1; i<=n; i++){ num = 10 + (int)(Math.random()*40); System.out.print(num +" "); if (num % 2 == 1){ somaImpares = somaImpares +num; contImpares++; } } //fim for if (contImpares>0) media = (double) somaImpares / contImpares; return media; } // fim método 7) Escreva um método que recebe, via parâmetro, um número inteiro positivo (n) e gera e exibe na tela n números aleatórios inteiros obtidos do intervalo [10,50), usando o método Math.random(). Além de exibir os números, o método deve calcular e retornar a média aritmética dos números gerados que são ímpares. Se nenhum ímpar foi gerado a média é zero. Dicas: 10 +(int) (Math.random( )*40) gera um número no intervalo [10,50). • Um número é ímpar se o resto da divisão do número por 2 é 1. • Média aritmética dos ímpares é o somatório de todos os ímpares, dividido pela quantidade de ímpares. Então devemos ter um acumulador e um contador. • Nos exemplos do capítulo 9 temos métodos com contadores e/ou acumuladores 9) Escreva um método, usando o comando for, que exibe na tela todas as letras minúsculas, a partir do fim do alfabeto, isto é, começando pela letra ‘z’ e terminando com a letra ‘a’. 10) Escreva um método que recebe via parâmetros dois números inteiros positivos a e b. O método deve gerar e exibir na tela todos os múltiplos de 3 de a até b (se a menor que b) ou de b até a (se b menor ou igual a a). O método está codificado usando os comandos while. Rescreva o método, sem usar while, usando comando(s) for. método usando o comando while. public void geraMultiplosDeTres (int a, int b){ if ( a < b) { while (a <= b) { if (a % 3 == 0) System.out.print(a +" "); a++; } } else { while (b <= a) { if (b % 3 == 0) System.out.print(b +" "); b++; } } } método usando o comando for. public void geraMultiplosDeTres (int a, int b){ if ( a < b){ for (int i = a; i <= b; i++) { if (i % 3 == 0) System.out.print(i +" "); } //fim for } else{ for (int i = b; i <= a; i++) { if (i % 3 == 0) System.out.print(i +" "); } //fim for } //fim else } //fim método public void exibeLetrasMinusculasDezAtea( ) { for (char letra = 'z'; letra >= 'a'; letra--) { System.out.println(letra); } } //outra versão usando for public void geraMultiplosDeTres (int a, int b) { if ( a > b) { int guarda = a; //se a é maior que b, troca a = b; b = a; } for (int i = a; i <= b; i++) { if (i % 3 == 0) System.out.print (i +" "); } } //mais uma versão com while e for public void geraMultiplosDeTres (int a, int b) { if ( a > b) { int guarda = a; a = b; b = a; } while (a%3!=0) //enquanto a não é múltiplo de 3, incrementa a a++; for (int m = a; m <= b; m= m+3) { //gera somente os múltiplos de 3 System.out.print (m +" "); } }
Compartilhar