Alguém pode, por favor, me ajudar?
Analise as assertivas a seguir sobre as linguagens Python, HTML5, PHP e Java.
I - Python é uma linguagem de programação de alto nível, compilada e imperativa.
II - HTML5, ou HTML versão 5, é uma linguagem de marcação para documentos web.
III - A linguagem PHP é uma linguagem interpretada, capaz de gerar conteúdo dinâmico.
IV - Java é uma linguagem compilada por uma máquina virtual, onde suas aplicações rodam dependentes do sistema operacional.
Assinale a alternativa referente às assertivas CORRETAS.
A) Está correta somente a assertiva IV.
B) Estão corretas somente as assertivas I e II.
C) Estão corretas somente as assertivas II e III.
D) Estão corretas somente as assertivas I, III e IV.
E) Estão corretas somente as assertivas II, III e IV.
2. Analise o seguinte código escrito na linguagem Java:
public static double recursive (double d) {
if (d <= 1) {
return 1;
}
else {
return d * recursive(d - 1);
}
}
Assinale o conteúdo que será exibido na saída do programa quando a função for chamada com o parâmetro 6:
A) 120
B) 240
C) 360
D) 720
3. Na linguagem Java, um método que é apenas declarado como membro de uma classe, mas não provê uma implementação, deve ser declarado como:
A) abstract.
B) initial.
C) generic.
D) parametrized.
E ) void.
4. Baseando-se na Java Collections Framework, escolha a alternativa INCORRETA.
A) O método put da interface Map retorna o valor anterior associado à chave informada ou null caso não haja mapeamento anterior para a chave informada.
B) TreeMap implementa a interface NavigableMap.
C) A implementação de LinkedList não é sincronizada
D) ArrayList possui melhor desempenho com relação a LinkedList para todos os casos.
E) A implementação de Hashtable é sincronizada.
5. Marque abaixo o código que não é compilável ao utilizar Java 12.
A) var var = 5;
B) public static void x(var a, var b) { System.out.println(a); }
C) var x = "oi";
D) List<Integer> lista = Arrays.asList(1, 2, 3); lista.forEach(n -> System.out.println(n));
E) List<String> lista = Arrays.asList("a1", "a2", "b1", "c2", "c1"); lista.stream().filter(s -> s.startsWith("c")).map (String::toLowerCase).forEach(System.out::println);
6. A função calcular implementa um exemplo do conceito de:
A) composição.
B) herança.
C) polimorfismo.
D) recursividade.
7. Considere o seguinte trecho de código em Java:
Por esse código, na definição das classes, constata-se o emprego do conceito de
A) generalização.
B) especialização.
C) herança.
D) composição.
8. Na linguagem de programação Java, o conceito de um objeto ter a capacidade de ser referenciado de diversas formas é conhecido como:
A) Herança.
B) Reescrita.
C) Super Classe.
D) Polimorfismo.
9. O seguinte erro de compilação foi emitido quando se tentou compilar uma classe Java denominada MiClase.
Esse erro é devido ao fato de que:
A) a classe MiClase não implementa o método void miMetodo().
B) o método miMetodo() não foi explicitamente declarado como void embora a classe MiClase o tenha sido.
C) a classe MiClase deveria ter sido explicitamente declarada abstrata já que o método miMetodo() nela definido não é void.
D) o método abstrato miMetodo() é definido numa classe não abstrata, MiClase.
10. Considere as seguintes afirmações sobre o uso de classes na linguagem Java:
I. A uma variável de subclasse final é possível atribuir uma referência de superclasse não final.
II. Todos os métodos definidos em uma classe declarada como final são igualmente final.
III. Mesmo se declarado como final, um método pode ser redefinido numa subclasse dinâmica.
Está correto somente o que se afirma em
A) II.
B) I e II.
C) I e III.
D) III.
Soluções para a tarefa
Resposta:
1-) C.
2-) D.
3-) A.
4-) D.
5-) B
6-) C.
7-) D.
8 -) D.
9-) D.
10-) A.
Explicação:
1ª QUESTÃO
I - Python é uma linguagem de programação de alto nível, compilada e imperativa.
Essa afirmação é falsa. Python é uma linguagem interpretada e não compilada.
Pode-se dizer, resumidamente, que uma linguagem compilada é executada diretamente pela máquina e uma linguagem interpretada é executada por um programa intermediário, o interpretador. O código interpretado é, então, executado pela máquina.
IV - Java é uma linguagem compilada por uma máquina virtual, onde suas aplicações rodam dependentes do sistema operacional.
Essa afirmação é falsa. O código Java é transformando, em uma primeira instância, em Bytecode Java e, depois, através de uma Máquina Virtual Java (Java Virtual Machine ou JVM), o sistema operacional executa esse código. Por causa disso, o (código) Java não é dependente de um único sistema operacional.
2ª QUESTÃO
O resultado é a alternativa D, 720, pois o que o código é uma permutação. Ou seja, como a variável é dita a ser 6, a função faria o mesmo fator que uma conta matemática 6 fatorial (6!), que resulta em 720.
3ª QUESTÃO
Pode-se dizer que um método abstract forma as fundações para uma estrutura.
Eles são métodos que não possuem nenhum código dentro de seu corpo - este código deve ser criado por uma classe que herda a classe com o método abstract.
4ª QUESTÃO
LinkedLists são mais eficientes que ArrayLists na inserção ou remoção de elementos pois elas são listas duplamente ligadas (doubly linked lists). Resumidamente, listas duplamente ligadas possuem um meio de referir ao elemento (nódulo) anterior em sua sequência, diferentemente das listas normais que podem apenas se referir ao elemento atual ou ao próximo.
5ª QUESTÃO
Não é possível utilizar variáveis var como parâmetros de métodos.
6ª QUESTÃO
Esta pergunta não adiciona o código completo mas essa pergunta é do teste COMPERVE - 2016 - UFRN - Técnico em Tecnologia da Informação.
Na prova, o seguinte código é disponibilizado:
public abstract class OperacaoMatematica {
public abstract double calcular(double x, double y);
}
public class Soma extends OperacaoMatematica {
public double calcular(double x, double y) {
return x + y;
}
}
public class Subtracao extends OperacaoMatematica {
public double calcular(double x, double y) {
return x - y;
}
}
Levando isso em consideração, a resposta é C, Polimorfismo pois as subclasses herdam um método de uma superclasse e o modificam para as suas próprias necessidades.
7ª QUESTÃO
Esta pergunta não adiciona o código completo mas essa pergunta é do teste COMPERVE - 2016 - UFRN - Técnico em Tecnologia da Informação.
Na prova, o seguinte código é disponibilizado:
public class Motor {
private int potencia;
private String combustivel;
}
public class Rodas {
private String dimensoes;
private String fabricante;
}
public class Automovel {
private Motor motor;
private Rodas rodas;
}
A alternativa correta é a D, Composição pois a classe Automovel cria objetos das classes previamente declaradas para o seu uso próprio. Como é possível deduzir pelo nome, composição é o ato de usar outros elementos para compor algo dentro do código.
8ª QUESTÃO
O polimorfismo é a capacidade de reutilização de um código em outros locais dentro de um programa. A sexta questão dá um ótimo exemplo de Polimorfismo.
9ª QUESTÃO
Esta pergunta não adiciona o código completo mas essa pergunta é do teste UECE-CEV - 2018 - Prefeitura de Sobral - CE - Auditor de Controle Interno - Auditoria em Tecnologia da Informação.
Na prova, o seguinte código é disponibilizado:
MiClase.java:1: class MiClase must be
declared abstract.
It does not define void miMetodo() from
class MiClase.
public class MiClase{
1 error
Com isso, a alternativa D é a resposta pois, pelo código, é possível ver que a classe MiClase define um método como Abstract mas não é definida como Abstract.
10ª QUESTÃO
I. A uma variável de subclasse final é possível atribuir uma referência de superclasse não final.
Falso. Uma variável final precisa de um valor fixo.
III. Mesmo se declarado como final, um método pode ser redefinido numa subclasse dinâmica.
Falso. Qualquer coisa final NÃO pode ser alterada.