Sie sind auf Seite 1von 4

Voc e pode escrever em Java ou portugu es estruturado.

Pode ser feito ` a l apis e use o verso da folha para escrever os algoritmos. 1. (2.0) Escreva um algoritmo/programa que recebe um inteiro n e imprime a quantidade de d gitos que n possui. Por exemplo, se n = 274 ent ao seu algoritmo dever a imprimir 3; um outro exemplo, se n = 24901 seu algoritmo dever a imprimir 5. Para realizar este exerc cio n ao use a classe String.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

public class Ex1 { public static void main ( String [] args ) { Scanner le = new Scanner ( System . in ) ; System . out . println ( " Digite n : " ) ; int n = le . nextInt () ; if ( n == 0) { System . out . println ( " O n u mero de d gitos e 1"); } else { int conta = 0; while ( n != 0) { conta ++; n = n / 10; } System . out . println ( " O n u mero de digitos e " + conta ) ; } } }

17 18 19

2. (4.5) Seguem algumas quest oes sobre vetores que dever ao ser implementadas dentro do mesmo algoritmo. Voc e pode fazer qualquer item deste exerc cio, mesmo que n ao tenha feito um item anterior. (1.0) Declare um vetor de n umeros reais com 20 posi co es e preencha o vetor com 20 n umeros reais usando um comando de repeti c ao. 1

(2.0) Usando o mesmo vetor do item anteior, leia um n umero real x e imprima quantos n umeros do vetor s ao menores e quantos s ao maiores do que x. (1.5) Usando o mesmo vetor do item anterior, escreva um programa que soma todos os n umeros do vetor.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

public class Ex2 { public static void main ( String [] args ) { Scanner le = new Scanner ( System . in ) ; double [] vetor = new double [20]; // preenchendo o vetor com n u meros reais for ( int i = 0; i < 20; i ++) { System . out . println ( " Digite um n u mero real : " ) ; vetor [ i ] = le . nextDouble () ; } // contando quantos s~ a o maiores e menores do que x System . out . println ( " Digite real x : " ) ; double x = le . nextDouble () ; int contaMaior = 0 , contaMenor = 0; for ( int i = 0; i < 20; i ++) { if ( vetor [ i ] < x ) { contaMenor = contaMenor + 1; } else if ( vetor [ i ] > x ) { contaMaior = contaMaior + 1; } } // fazendo a somat o ria , vou usar o while para variar mas poderia ser feito com for double soma = 0; int i = 0; while ( i < 20) { soma = soma + vetor [ i ]; i = i + 1; } // Respostas System . out . println ( " A qtd de n u m maiores do que " + x + " e " + contaMaior ) ; System . out . println ( " A qtd de n u m menores do que " + x + " e " + contaMenor ) ; 2

26 27 28 29 30 31 32 33

34

35 36 37

System . out . println ( " A somat o ria vale " + soma ) ; } }

3. (1.5) Dado o c odigo abaixo:


1 2 3 4 5 6 7 8 9 10 11 12 13 14

public static void main ( String [] args ) { int [] vetor = {8 , 2 , -3 , 5 , 9 , 4 , 5 , 6}; int tam = _________ ; for ( int i = 0; i < tam ; i ++) { int j = _______ ; while ( j < tam ) { if ( __________ ) { vetor [ i ] = _______ + vetor [ j ]; } j = j + 1; } } System . out . println ( " Fim do programa " ) ; } Assinale a op c ao que preenche corretamente as lacunas do c odigo para que no m do programa (linha 13) o vetor v tenha o seguinte conte udo: 20 12 7 15 19 10 11 6

(a) vetor.length; j + 1; vetor[j] % 2 == 0 e vetor[i] (b) vetor.length - 1; j + 1; vetor[j] % 2 == 1 e vetor[i] (c) vetor.length; i + 1; vetor[j] % 2 == 0 e vetor[i] (d) vetor.length - 1; i + 1; vetor[j] % 2 == 0 e vetor[i] (e) vetor.length; i + 1; vetor[j] > 0 e vetor[j] RESPOSTA CERTA: ITEM C

4. (2.0) Dados o vetor abaixo e o c odigo a seguir: 6


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

-2 5 1 8 2 4

public static void main ( String [] args ) { int [] vet = {6 , -2 , 5 , 1 , 8 , 2 , 4}; int tam = vet . length ; for ( int i = 0; i < tam - 1; i ++) { int pos = i ; for ( int j = i + 1; j < tam ; j ++) { if ( vet [ pos ] > vet [ j ]) { pos = j ; } } int aux = vet [ i ]; vet [ i ] = vet [ pos ]; vet [ pos ] = aux ; } } Coloque em cada linha da tabela abaixo os valores do vetor ap os a execu ca o da linha 13 do algoritmo. E poss vel que sobre ou falte linhas da tabela, no caso de sobrar deixe as linhas em branco e se faltar coloque as linhas faltantes. 6 -2 -2 -2 -2 -2 -2 -2 6 1 1 1 1 1 5 5 5 2 2 2 2 1 1 6 6 4 4 4 8 8 8 8 8 5 5 2 2 2 5 5 8 6 4 4 4 4 6 6 8

Coment arios: Se voc e notar, o for interno est a procurando a posi ca o do menor valor dentro do vetor a partir da posi ca o i. Encontrando o ndice do menor elemento ele troca com a posi ca o i. O for externo indica a posi ca o inicial do vetor que ser a usada para encontrar o menor elemento. Boa sorte! Eduardo Gondo

Das könnte Ihnen auch gefallen