

Seu próximo nível começa aqui
Com a Assinatura Ilimitada, você tem tudo que precisa para sua aprovação.
Com a Assinatura Ilimitada, você combina prática, teoria e método em uma única assinatura com tudo que você precisa para sua aprovação.
A fim de fazer uso da técnica de polimorfismo, quais conceitos e/ou mecanismos no paradigma de programação orientado a objetos que se deve usar?
Herança e construtores.
Herança e interfaces.
Composição e construtores.
Generalização e composição.
Herança e construtores.
É utilizada na linguagem Java uma classe responsável pela leitura de informações que o usuário digita no console. O nome dessa classe é:
Reader
FileReader
System.in
Readable
Scanner
Sobre a utilização de objetos do tipo enum na linguagem Java, é correto afirmar que:
Constantes enum são implicitamente public.
Um tipo enum é uma lista separada por ponto e vírgulas.
Qualquer tentativa de criar um objeto de um tipo enum com um operador new resulta em um erro de compilação.
Tipos enum somente permitem o armazenamento de números inteiros.
Constantes enum não podem ser utilizadas em instruções for.
Considere o seguinte programa escrito em Java:
import java.util.ArrayList;
import java.util.List;
public class Programa {
public static void main(String[] args) {
List lst = new ArrayList();
lst.add("Java");
lst.add(new Double(1.5));
}
}
É possível inserir objetos de qualquer tipo na lista lst, cabendo ao programador converter os objetos de volta aos seus respectivos tipos ao obtê-los na lista. A partir do Java 5, podemos usar o recurso de tipos genéricos (generics) para restringir as listas a um determinado tipo de objetos (e não qualquer Object). Considerando também os avanços obtidos no Java 7, para restringirmos a lista lst ao tipo String, fazendo com que o comando que adiciona à lst um objeto do tipo Double cause erro de compilação, o comando que define a variável lst e cria o objeto ArrayList (primeiro comando do método main() no programa acima) deve ser reescrito como:
List lst = new ArrayList<>();
List[String] lst = new ArrayList[String]();
List(String) lst = new ArrayList(String)();
StringList lst = new StringArrayList();
List lst = new ArrayList();
Na linguagem Python, qual seria a forma correta de comentar uma linha de código?
#
/
'''
**
/
No framework Hibernate do Java, o estado conhecido como desanexado (detached) ocorre quando
o garbage collector da JVM detecta um objeto sem referência, mas ainda não o destruiu de fato.
um objeto de uma classe persistente é associado a uma sessão e adquire uma representação no banco de dados, e também um valor de identificador.
um objeto persistente acabou de ser destruído e sua representação no banco de dados foi excluída, sendo que a referência ao objeto não é mais válida.
um objeto de uma classe persistente acabou de ser instanciado, mas ainda não está associado a uma sessão Hibernate.
um objeto já esteve no estado persistente, mas teve sua sessão fechada, sendo que a referência ao objeto ainda é válida.
Assinale a alternativa correspondente à saída que será apresentada na tela ao executar o código abaixo, inserindo como entrada o valor 5 para a média e 0,75 para frequência.
import java.util.Scanner;
public class LogicaCondicional {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Entre com a média, de 0 a 10: ");
float media_aluno = input.nextFloat();
System.out.println("Entre com a frequência de 0 a 1 (indicando 100%): ");
float frequencia = input.nextFloat();
float media = 7;
float frequencia_minima = 0.75f;
if (media_aluno >= media && frequencia > frequencia_minima)
System.out.println("Você foi aprovado!");
else if (media_aluno >= media)
System.out.println("Solicite aprovação mediante justificativa de faltas.");
else if (frequencia > frequencia_minima){
float recuperar = media * 2 ‐ media_aluno;
if (recuperar <= 10)
System.out.println("Está em recuperação, tirar no mínimo " + recuperar);
else
System.out.println("Não está apto para recuperação.");
} else {
System.out.println("Você está reprovado.");
}
}
}
Você foi aprovado!
Solicite aprovação mediante justificativa de faltas.
Está em recuperação, tirar no mínimo 8.0
Não está apto para recuperação.
Você está reprovado.
Considere um arquivo de texto chamado "dados.txt" com o seguinte conteúdo:
Nome: Joselito
Idade: 30
Profissão: Engenheiro
Salário: 8000
Assinale o comando que irá procurar pela linha que contém “Salário” e, em seguida, imprimir o valor do salário somado a 1000:
awk '/
awk '/
awk '/
awk '/
awk '/
Analise as seguintes atribuições e expressões booleanas:
float R = 2, S = 2, T = -1, X = -3, Y = 1, Z = 0;
boolean A = (R>=5) || (T > Z) && (X-Y+R > 3 * Z);
boolean B = (R>=5) || (T > Z) && (X-Y+R > 3 * Z);
boolean C = (T + 3 >=4) || !(3 * R / 2 < S *3);
System.out.println(A+","+B+ ","+C);
Qual a saída do programa?
false, false, true.
true, true, false.
false, true, true.
false, false, false.
true, true, true.
Com relação aos conceitos de herança e polimorfismo na linguagem Java, assinale a alternativa incorreta.
Uma classe Java pode herdar simultaneamente interface e classe abstrata.
Uma classe abstrata pode ser instanciada diretamente.
Uma classe pode herdar várias interfaces.
Pode-se acessar membros públicos da superclasse por meio da palavra-chave super.
Analise as afirmativas abaixo sobre programação orientada a objetos.
1. Um campo, atributo ou método de uma instância funciona como uma variável, cujo valor pode ser alterado.
2. Uma instância de uma classe que contenha vários atributos públicos constitui um objeto mutável, cujo estado pode ser modificado.
3. A sobrecarga (overload) de métodos ocorre quando classes filhas reimplementam métodos definidos pela classe pai.
Assinale a alternativa que indica todas as afirmativas corretas.
É correta apenas a afirmativa 2.
São corretas apenas as afirmativas 1 e 2.
São corretas apenas as afirmativas 1 e 3.
São corretas apenas as afirmativas 2 e 3.
São corretas as afirmativas 1, 2 e 3.
O resultado da execução do código a seguir, escrito em Java, será SubA.
abstract class FuncaoA {
FuncaoA() {
this(null);
System.out.print(“FuncaoA”);
}
FuncaoA(SubA s) { this.init(); }
abstract void init();
}
class SubA extends FuncaoA {
void init() { System.out.print(“SubA”); }
public static void main (String[] arg) {
SubA a = new SubA(); }
}
Certo
Errado
A regressão linear multivariada é usada para análises estatísticas em Python e trabalha com uma variável explicativa.
Certo
Errado
Analise o código em Java a seguir:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | public class Main { public static class Macro { int carboidrato; int proteina; int gordura; public Macro(int carboidrato, int proteina, int gordura) { this.carboidrato = carboidrato; this.proteina = proteina; this.gordura = gordura; } } public static int calculaCalorias(Macro refeicao) { return 4 * refeicao.proteina + 4 * refeicao.carboidrato + 9 * refeicao.gordura; } public static void main(String[] args) { Macro refeicao = new Macro(0, 0, 0); System.out.println("calorias: " + calculaCalorias(refeicao)); } } |
A esse respeito, assinale a alternativa correta:
O classe 'Macro' precisa ter métodos 'get' e 'set' para permitir a consulta e a atualização das variáveis 'carboidrato', 'proteína' e 'gordura' de maneira individual.
O modificador de acesso da classe 'Macro' deveria ser 'private'.
A classe `Macro` define um tipo estruturado para armazenar informações nutricionais, como a quantidade de carboidratos, proteínas e gorduras em uma refeição.
As linhas 7-11 podem ser removidas sem causar erros.
A classe 'Macro' não tem nenhum método.
Na linguagem de programação Java, faz-se referência de um overflow quando:
Uma classe é estática
Um erro de compilação é gerado
O valor de uma variável do tipo inteiro é alterado para zero
Quando há um controle Try Catch e Exception
O valor da variável ultrapassa o máximo permitido do seu tipo
No contexto do Python, analise o script a seguir.
...
p1 = Person("John", 36)
print(p1.nome)
print(p1.cidade)
Assinale a correta definição da classe Pessoa que completa o script.
class Pessoa:
def __init__(self, nome, cidade):
self.nome = nome
self.cidade = cidade
class Pessoa:
new (self, nome, cidade):
.nome = nome
.cidade = cidade
class Pessoa (nome, cidade):
self.nome = nome
self.cidade = cidade
class Pessoa
init (nome, cidade)
class Pessoa (p1, p2):
def self:
self.nome = p1
self.cidade = p2
Uma abordagem para implementar programas orientados a eventos é criar um loop principal que aguarda pela ocorrência de eventos e dispara tratadores (sub-rotinas) apropriados quando esses eventos são detectados. Nesse contexto, é correto afirmar que
essa abordagem não pode ser usada para programas baseados em console, com interface de texto, mas sim para programas baseados em interface gráfica.
cada sub-rotina tratadora só pode ser chamada uma vez durante a execução do programa.
chamadas a tratadores, conforme a ocorrência de eventos, não podem passar parâmetros.
para que o programa finalize por meios normais, o loop principal deve prever um critério de saída (do próprio loop ou do programa como um todo), tal como a ocorrência de um evento específico.
a implementação dessa estrutura requer a utilização de linguagens orientadas a objetos, não sendo possível a utilização de linguagens baseadas em programação estruturada.
O operador lógico “e”, que também é denominado “disjunção”, apresenta o valor verdadeiro como resultado apenas quando todos os seus operandos também são verdadeiros.
Certo
Errado
Qual dos seguintes conceitos descreve a capacidade de um objeto de se comportar de várias maneiras diferentes, dependendo do contexto em que é usado?
Encapsulamento.
Herança.
Polimorfismo.
Interfaces.
Observe o trecho de código escrito na linguagem Java dentro de um método main()
byte n;
n = 20;
n = (byte) (n * 10);
System.out.println(n);
Pode-se afirmar corretamente que o valor impresso será:
–128
–56
0
127
200