Baixe o app para aproveitar ainda mais
Prévia do material em texto
Tarefa individual - Seleção GABARITO 1) Considere o seguinte trecho de código Java, para responder às questões: 1 int x= 2; 2 int y = 5; 3 boolean b1 = false; 4 boolean b2 = false; 5 x++; 6 b1 = y != x; 7 b2 = (y >=x) && b1; 8 System.out.println(b1 + " " + x + " " + b2 + " " + y); 9 y = y / x; 10 b1 = ! b1; 11 b2 = (x == y) || b1 && b2; 12 System.out.println(b1 + " " + x + " " + b2 + " " + y); a) Quais foram os sucessivos valores armazenados na variável x durante a execução do trecho acima? 2 e 3 b) Após a execução da linha 9, que valor será armazenado na variável y? 1 c) Após a execução da linha 10, que valores estarão armazenados nas variáveis b1 e b2, respectivamente? false e true d) Mostre a tela após a execução do trecho acima: true 3 true 5 false 3 false 1 2) Nos trechos de programa abaixo A, B e C e D são expressões booleanas, e C1, C2, C3, C4, C5 e C6 são comandos. if (A) if (B) { C1; if (C) { C2; C3; } else C4; } else C5; C6; if (A) { C1; if (B) C2; else if (C) C3; else if (D) { C4; C5; } else C6; } 3) Reescreva o trecho de código abaixo usando if`s, sem operadores lógicos. Indique quais os comandos que serão executados se: i) A, B e C tiverem valor true? C1, C2, C3, C6 ii) A = true, B = false e C = true? C5, C6 iii) A = true, B = true e C = false? C1, C4, C6 iv) A, B e C tiverem valor false? C6 Indique quais os comandos que serão executados se: v) todas as expressões booleanas forem true? C1, C2 vi) A = false, B = true, C= false, D = true? nenhum vii) A = true, B = false, C = false, D = true? C1, C4, C5 viii) A = true, B = false, C = true, D = true? C1, C3 result = b; if (a< =b && a<= c || x != 1) result = a; //versão 1 result = b; if (x != 1) result = a; if (a< =b ) if ( a<= c)| result = a; //versão 2 result = b; if (x != 1) result = a; else if (a< =b ) if ( a<= c)| result = a; //versão 3 result = b; if (a< =b ){ if ( a<= c)| result = a; } if (x != 1) result = a; 4) Complete o trecho de código que deve exibir na tela "bom dia", “boa tarde", "boa noite" ou “turno inválido” . Observe que deve ser aceita letra maiúscula ou minúscula. 5) Escreva um método que recebe, via parâmetro, um número inteiro e exibe na tela o número lido acompanhado da mensagem “Positivo”, “Negativo” ou “Zero”, conforme o caso. 6) Escreva um método que recebe três números inteiros e retorna o valor do menor deles. ........... char turno; turno = Teclado.leChar("Digite o turno [M-manhã ou T-tarde ou N- Noite]: "); if (turno == ‘M’ || turno == ‘m’) System.out.println("bom dia"); else if (turno == ‘T’ || turno == ‘t’) System.out.println("boa tarde"); else if (turno == ‘N’ || turno == ‘n’) System.out.println("boa noite"); else System.out.println("turno inválido”); public void verificaNumero (int num){ if (num > 0) System.out.println (num +"Positivo"); else if (num < 0) System.out.println (num + "Negativo"); else System.out.println (num+ "Zero"); } //com if`s encadeados public int achaMenor (int a, int b, int c){ if (a < b) if (a <c) return a; else return c; else if (b < c) return b; else return c; } //com if`s sequenciais public int achaMenor (int a, int b, int c){ int menor = a; if (b < menor) menor = b; if (c < menor) menor = c; return menor; } 7) Escreva um método que recebe, via parâmetros, a idade e o peso de um atleta e retorna a categoria do atleta, de acordo com a seguinte tabela: Idade Peso Categoria até 14 anos - Infantil 15 a 17 anos até 50 kg acima de 50 kg Juvenil leve Juvenil pesado 18 a 25 anos até 60kg acima de 60 kg Senior leve Senior pesado acima de 25 anos - Veterano public String defineCategoria (int id, int p){ String categoria = "Veterano "; if (id <=14) | categoria = "Infantil "; else if (id <=17) | if (p<= 50) | | categoria = "Juvenil leve "; | else | categoria = "Juvenil pesado "; else if (id <=25) if (p<= 60) | categoria = "Senior leve"; else categoria = "Senior pesado"; return categoria; } } } //outra forma public String defineCategoria (int id, int p){ if (id <=14) | return "Infantil "; else if (id <=17) | if (p<= 50) | return "Juvenil leve "; | else | return "Juvenil pesado "; else if (id <=25) | if (p<= 60) | | return "Senior leve"; | else return "Senior pesado"; else return "Veterano"; } } } Observe a ligação entre o if e o respectivo else. Este caractere deve ser removido do código se for compilar. 8) Escreva um método que recebe, via parâmetros, dois objetos do tipo Pessoa, cujos atributos são nome e idade. O método deve retornar o nome da pessoa mais velha ou “Mesma idade” se as duas pessoas tiverem a mesma idade. Considere que a classe Pessoa oferece métodos get para os atributos. public String nomeDaMaisVelha (Pessoa a, Pessoa b) { if (a.getIdade( ) > b.getIdade( )) return a.getNome( ); else if (b.getIdade( ) > a.getIdade( )) return b.getNome( ); else return “Mesma idade”; }
Compartilhar