Prévia do material em texto
Local: AUDITÓRIO - EAD - Auditório / Andar / Polo Barra da Tijuca / POLO UVA BARRA MARAPENDI - RJ
Acadêmico: EAD-IL10311-20194A
Aluno: DANIEL FRANCISCO ALVES FELICIANO
Avaliação: A2-
Matrícula: 20182300254
Data: 22 de Novembro de 2019 - 14:30 Finalizado
Correto Incorreto Anulada Discursiva Objetiva Total: 7,50/10,00
1 Código: 36871 - Enunciado: Um desenvolvedor Java precisa implementar os métodos de acesso da classe Usuário,
que possui os seguintes atributos: nomeUsuário, nomeLogin e senha (todos do tipo String).Compare as possíveis
soluções apresentadas a seguir e avalie qual é a correta para atender à implementação do método que permite
realizar a atribuição e o armazenamento na memória da propriedade nomeLogin. Lembrando que o nomeLogin só
será atribuído se o texto passado como parâmetro não estiver vazio.
a) public void setNomeLogin(n) { if(n.isEmpty()) { nomeLogin = n; } else {
System.out.println("valor inválido, não foi atribuído"); }}
b) public void setNomeLogin(String n) { nomeLogin = n;}
c) public void setNomeLogin(String n) { if(!n.isEmpty()) { nomeLogin = n; } else {
System.out.println("valor inválido, não foi atribuído"); }}
d) public void getNomeLogin(String n) { if(!n.isEmpty()) { nomeLogin = n; } else {
System.out.println("valor inválido, não foi atribuído"); }}
e) public String setNomeLogin(String n) { if(!n.isEmpty()) { nomeLogin = n; } else {
System.out.println("valor inválido, não foi atribuído"); }}
Alternativa marcada:
c) public void setNomeLogin(String n) { if(!n.isEmpty()) { nomeLogin = n; } else {
System.out.println("valor inválido, não foi atribuído"); }}
Justificativa: Resposta correta: public void setNomeLogin(String n) { if(!n.isEmpty()) {
nomeLogin = n; } else { System.out.println("valor inválido, não foi
atribuído"); }}
O método de acesso usado para realizar a atribuição e o armazenamento na memória de uma propriedade do
objeto é o Setter. Esses métodos são sempre do tipo void, pois não retornam valores.Como existe a restrição de que
o atributo não pode ser um texto vazio, é necessário verificar se o parâmetro que o método recebe é vazio – por
meio do método isEmpty().isEmpty() – Retorna true se for vazio.Como não queremos que seja um texto vazio,
usamos o operador de negação (!). Distratores:public void setNomeLogin(String n) { nomeLogin =
n;}Incorreta. Apesar de utilizar o método de acesso Setter, não valida se o parâmetro n está vazio. public void
getNomeLogin(String n) { if(!n.isEmpty()) { nomeLogin = n; } else
{ System.out.println("valor inválido, não foi atribuído"); }}Incorreta. O método de
acesso Getter é responsável por recuperar da memória os valores atribuídos às propriedades do objeto. Exemplo
de utilização do método Getter corretamente:public String getNomeLogin() { return nomeLogin;} (Erro:
public String ..... Correto public void ….)public String setNomeLogin(String n) { if(!n.isEmpty()) {
nomeLogin = n; } else { System.out.println("valor inválido, não
foi atribuído"); }}
Incorreta. O método de acesso Setter não retorna nada. São sempre do tipo void.
public void setNomeLogin(n) { if(n.isEmpty()) { nomeLogin = n; }
else { System.out.println("valor inválido, não foi atribuído"); }}Incorreta. São
encontrados dois erros no método acima:1) Precisamos definir o tipo de dados do parâmetro de entrada: public
void setNomeLogin (String n)2) A condição da estrutura condicional está verificando se o parâmetro está vazio e,
caso afirmativo, vai armazenar nulo no atributo nomeLogin. Ficou faltando o operador de negação (!) antes de n --
- if( !n.isEmpty()).
1,50/ 1,50
2 Código: 36872 - Enunciado: Durante a implementação de uma classe, o programador decidiu aplicar o conceito de
polimorfismo de sobrecarga. Analise a implementação da classe a seguir para obter as informações necessárias
para a codificação correta do polimorfismo.class PesoIdeal { String nome, situacao; int idade; double peso,
altura;}
Compare as possíveis soluções de métodos apresentadas nas alternativas e avalie qual apresenta corretamente a
implementação do conceito de polimorfismo de sobrecarga.
a) public void cadastroParcial(String n, int i) { }public void cadastroParcial(int i, String n) { }public void
cadastroParcial(String n, int i, double p) { }public void cadastroParcial(String n, int i, double p, double a) { }
b) public void cadastroParcial1(double p, double a) { }public void cadastroParcial2(double p, int i, double a) {
}public void cadastroParcial3(String n, int i, double a) { }public void cadastroParcial4(double a, int i, String n) { }
1,50/ 1,50
c) public void cadastroParcial(double p, double a, int i) { }public void cadastroParcial(double p, int i, double a)
{ }public void cadastroParcial(String n, int i, double a) { }public void cadastroParcial(double a, int i, double p) { }
d) public void cadastroParcial(String n, int i) { }public void cadastroParcial(String n, double p) { }public void
cadastroParcial(String n, double p, double a) { }public void cadastroParcial(String n, double a, double p) { }
e) public void cadastroParcial1(String n, int i) { }public void cadastroParcial2(int i, String n) { }public void
cadastroParcial3(String n, int i, double p) { }public void cadastroParcial4(String n, int i, double p, double a) { }
Alternativa marcada:
a) public void cadastroParcial(String n, int i) { }public void cadastroParcial(int i, String n) { }public void
cadastroParcial(String n, int i, double p) { }public void cadastroParcial(String n, int i, double p, double a) { }
Justificativa: Resposta correta:public void cadastroParcial(String n, int i) { }public void cadastroParcial(int i, String
n) { }public void cadastroParcial(String n, int i, double p) { }public void cadastroParcial(String n, int i, double p,
double a) { } Assinaturas: cadastroParcial(String, int) { } cadastroParcial(int, String) { } cadastroParcial(String,
int, double) { } cadastroParcial(String, int, double, double) { }
Polimorfismo de sobrecarga de métodos é obtida ao se criar mais de um método com o mesmo nome em uma
mesma classe. Para isso, é importante que esses métodos possuam diferentes assinaturas de métodos.Sobrecarga
de métodos é obtida ao se criar mais de um método com o mesmo nome em uma mesma classe. Para isso, é
importante que esses métodos possuam diferentes assinaturas de métodos. Distratores:public void
cadastroParcial1(String n, int i) { }public void cadastroParcial2(int i, String n) { }public void cadastroParcial3(String
n, int i, double p) { }public void cadastroParcial4(String n, int i, double p, double a) { }
Incorreta. Os métodos não possuem o mesmo nome: cadastroParcial1(), cadastroParcial2(), cadastroParcial3(),
cadastroParcial4(). public void cadastroParcial(String n, int i) { }public void cadastroParcial(String n, double p) {
}public void cadastroParcial(String n, double p, double a) { }public void cadastroParcial(String n, double a, double
p) { } Assinaturas: cadastroParcial(String, int i) { }cadastroParcial(String, double) { }cadastroParcial(String, double,
double) { }cadastroParcial(String, double, double) { }
Incorreta. Apesar de os métodos possuíremo mesmo nome, as assinaturas não são diferentes. O terceiro e o
quarto método possuem a mesma assinatura. public void cadastroParcial(double p, double a, int i) { }public void
cadastroParcial(double p, int i, double a) { }public void cadastroParcial(String n, int i, double a) { }public void
cadastroParcial(double a, int i, double p) { }
Incorreta. Apesar de os métodos possuírem o mesmo nome, as assinaturas não são diferentes. O segundo e o
quarto método possuem a mesma assinatura.Assinaturas: cadastroParcial(double, double, int) {
}cadastroParcial(double, int, double) { }cadastroParcial(String, int, double) { }cadastroParcial(double, int, double) {
} public void cadastroParcial1(double p, double a) { }public void cadastroParcial2(double p, int i, double a) { }public
void cadastroParcial3(String n, int i, double a) { }public void cadastroParcial4(double a, int i, String n) {
} Assinaturas: cadastroParcial1(double, double) { }cadastroParcial2(double, int, double) { }cadastroParcial3(String,
int, double) { }cadastroParcial4(double, int, String) { }
Incorreta. Os métodos não possuem o mesmo nome: cadastroParcial1(), cadastroParcial2(), cadastroParcial3(),
cadastroParcial4().
3 Código: 36642 - Enunciado: Um desenvolvedor precisa criar uma aplicação financeira para uso com a conversão
de valores entre reais e dólares. Sabe-se que o valor do dólar deve ser alterado durante a execução da aplicação,
mas de forma que, ao se atualizar esse valor por meio de um objeto, todos os demais sejam atualizados
conjuntamente. Para isso, é necessário definir o atributo como compartilhado.Examine as opções de instruções a
seguir e determine aquela que permite que seja definido um atributo cujo valor seja compartilhado, ou seja, ao ser
atualizado o seu valor, todos os demais objetos criados a partir da classe na aplicação serão atualizados.
a) public double dolar = 4.125;
b) public const double dolar = 4.125;
c) public static double dolar = 4.125;
d) public abstract double dolar = 4.125;
e) public final double dolar = 4.125;
Alternativa marcada:
b) public const double dolar = 4.125;
Justificativa: Resposta correta: public static double dolar = 4.125;.Um atributo é dito estático quando é
compartilhado por todas as instâncias da classe, ou seja, seu conteúdo é compartilhado por todos os objetos
criados e, quando um objeto realiza uma alteração, o valor é atualizado em todos os demais.
Distratores:public final double dolar = 4.125;. Incorreta. Um atributo é dito final quando o seu valor, após ser
inicializado, não pode mais ser alterado durante a execução da aplicação, o seu valor será constante.public double
dolar = 4.125;. Incorreta. Um atributo sem modificador pode ser alterado durante a execução da aplicação.public
abstract double dolar = 4.125;. Incorreta. Um atributo não pode receber o modificador abstract, que é utilizado
apenas com métodos. Um método abstract é aquele que não é implementado em uma classe abstrata ou
interface.public const double dolar = 4.125;. Incorreta. O modificador const não faz parte da linguagem Java.
0,00/ 1,00
4 Código: 36640 - Enunciado: Durante o desenvolvimento de uma aplicação, notou-se a necessidade de restringir o
acesso do atributo cpf, de forma que somente suas subclasses possam acessá-lo. A figura a seguir representa a
hierarquia das classes que foram implementadas no mesmo pacote.
Examine as opções a seguir, determinando aquela que apresenta corretamente a definição do membro cpf que
atenda ao requisito descrito anteriormente.
a) protected int cpf;
b) pakage int cpf;
c) int cpf;
d) public int cpf;
e) private int cpf;
Alternativa marcada:
a) protected int cpf;
Justificativa: Resposta correta: protected int cpf;.Para se definir que um atributo possa ser acessado por
subclasses da classe onde foi declarado, devemos utilizar o conceito de Encapsulamento protected.
Distratores:public int cpf;. Incorreta. Métodos ou atributos public são sempre acessíveis por todos os métodos de
quaisquer outras classes. É o nível menos rígido de proteção no Encapsulamento.int cpf;. Incorreta. Omissão
(pakage ou padrão). A classe, método ou atributo é acessível somente por métodos das classes que pertencem ao
mesmo pacote (pakage).pakage int cpf;. Incorreta. O uso de pakage não é permitido na linguagem Java, a definição
de Encapsulamento por pacote não requer modificador.private int cpf;. Incorreta. Os métodos e atributos private,
são acessíveis somente por membros da própria classe.
1,00/ 1,00
5 Código: 36611 - Enunciado: Considere a classe a seguir:class IMC { String nome; double peso, altura;}Sabe-se
que métodos construtores são usados para controlar a criação (instanciação) do objeto e só executam neste
momento e que podem ser sobrecarregados. Sendo assim, qual é a quantidade máxima de métodos construtores
que podemos criar para a classe IMC?
a) 4.
b) 5.
c) 8.
d) 6.
e) 7.
Alternativa marcada:
c) 8.
Justificativa: Resposta correta: 8.Métodos construtores podem ser sobrecarregados e seguem a mesma regra da
sobrecarga de métodos, os parâmetros são verificados não de acordo com o identificador, mas sim pela sequência
dos tipos (Assinatura). Sendo assim, podemos criar os seguintes métodos construtores, totalizando 8 métodos
construtores:public IMC() { }public IMC(String) { }public IMC(double) { }public IMC(String, double) { }public
IMC(double, String) { }public IMC(String, double, double) { }public IMC(double, String, double) { }public
IMC(double, double, String) { }
0,50/ 0,50
6 Código: 36609 - Enunciado: As linguagens de programação trabalham com três diferentes métodos de
implementação, que são: compilação, interpretação pura e híbrido. Em relação à linguagem Java, analise as
afirmativas a seguir:I. O código é compilado uma vez, gerando o bytecode, que pode ser interpretado quantas
vezes forem necessárias e em qualquer ambiente java existente.II. O bytecode é dependente do hardware e
so�ware (sistema operacional) do computador onde ocorreu a compilação.III. Atualmente realiza uma compilação
just-int-time (no momento da compilação), com o intuito de aumentar o desempenho.IV. O interpretador java
também é conhecido como JVM (Java Virtual Machine), que nada mais é do que um so�ware que é capaz de
interpretar os bytecodes em um ambiente específico.Está correto o que se afirma em:
a) II e IV.
b) II e III.
c) I e III.
d) III e IV.
e) I e IV.
Alternativa marcada:
0,00/ 0,50
d) III e IV.
Justificativa: Resposta correta: I e IV.O código é compilado uma vez, gerando o bytecode, que pode ser
interpretado quantas vezes forem necessárias e em qualquer ambiente java existente. Verdadeira. Java gera um
código intermediário chamado bytecode, que é um código especial de máquina que não leva em consideração um
ambiente específico, mas para um ambiente genérico que independe do ambiente de desenvolvimento.O
interpretador java também é conhecido como JVM (Java Virtual Machine), que nada mais é do que um so�ware
que é capaz de interpretar os bytecodes em um ambiente específico. Verdadeira. É criado um interpretador Java
(JVM) para cada ambiente onde o Java poderá ser executado. Sendo assim, esse interpretador poderá então
executar qualquer aplicação Java desenvolvida para ele. Dessa forma, temos uma JVM específica para cada
ambiente ou dispositivo específico, mas não podemos esquecer que, uma vez compilado um programa ou
aplicação, essa técnica permite que o programa seja executado em qualquer ambiente.
Distratores:O bytecode é dependente do hardware e so�ware (sistema operacional) do computador onde ocorreu a
compilação. Falsa. O bytecode é uma linguagem de máquina genérica que o processo de compilação da linguagem
Java usa para padronizar as aplicações Java, independentemente do ambiente onde ocorreu o processo de
compilação.Atualmente realiza uma compilação just-int-time (no momento da compilação), com o intuito de
aumentar o desempenho. Falsa. Uma vez que realiza a compilação just-in-time no momento da execução, na etapa
do interpretador.7 Código: 36882 - Enunciado: No desenvolvimento de um projeto de sistema baseado nos conceitos de
programação orientada a objetos, um desenvolvedor recebeu como tarefa a criação de uma classe. Sabendo-se
que outro desenvolvedor da equipe está criando a classe Veículo, a sua tarefa é desenvolver a classe Carro,
conforme a modelagem a seguir:
Classe Veiculo:Definição dos atributos.Os métodos de acesso dos atributos.Cinco métodos construtores.Métodos:
Imprimir, Cadastrar e EntradaDados. Classe Carro:• Definição dos atributos.• Os métodos de acesso dos
atributos.• Cinco métodos construtores. Desenvolva a codificação na linguagem Java da classe Carro,
implementando os métodos definidos:Após analisar a situação problema, você deve partir da premissa (certeza)
de que a classe Veiculo já se encontra pronta e de acordo com os critérios apresentados anteriormente.A classe
Carro deverá reaproveitar ao máximo todos os atributos e métodos disponibilizados pela classe Veiculo.Lembre-se
de criar apenas a classe Carro.Utilize a boa prática de programação em Java. Cuidado com o tamanho da letra para
que caiba no espaço de resposta.
Resposta:
Comentários: Os métodos não foram implementados.
Justificativa: Expectativa de resposta: import java.util.Scanner; public class Carro extends Veiculo{ String tipo;
public String getTipo() { return tipo; } public void setTipo(String t) { tipo = t; } public Carro() {
super(); // Não é obrigatório } public Carro(String tipo) { setTipo(tipo); } public Carro(String tipo, String
m) { super(m); // reaproveitamento setTipo(tipo); } public Carro(String tipo, double p, String m) {
super(p, m); // reaproveitamento setTipo(tipo); } public Carro(String tipo, String m, double p) { super(m,
p); // reaproveitamento setTipo(tipo); }}
1,50/ 2,50
8 Código: 36645 - Enunciado: Um desenvolvedor precisa criar uma classe para atender às necessidades de uma
aplicação, utilizando os conceitos de programação orientada a objetos implementada na linguagem
Java.Considere os atributos a seguir para a classe:
ClasseAtributosMétodosViolaoMarca: textoNúmero Cordas: inteiroImprimir (exibe todos os valores dos atributos do
objeto).Cadastrar (recebe todos os valores dos atributos e armazena no objeto).EntradaDados (realiza a entrada de
dados dos atributos do objeto).
Construa a classe Violao, definindo os seus atributos e implementando os métodos solicitados.Utilize a boa prática
de programação em Java.
Resposta:
Justificativa: Expectativa de resposta:public class Violao{String marca;int numeroCordas;public void imprimir(){
System.out.println(“Marca:” + marca); System.out.println(“Número Cordas:” + numeroCordas);}public void
entradaDados(){ Scanner ent = new Scanner(System.in); System.out.println(“Marca:”);
setMarca(ent.nextLine()); System.out.println(“Número Cordas:” + numeroCordas);
setNumeroCordas(Integer.parseInt(ent.nextLine()));}public void cadastrar(String m, int nc){ setMarca(m);
setNumeroCordas(nc);}}
1,50/ 1,50
(https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/22/1d3eef26-
0d5e-11ea-9a43-0242ac110002.jpg?
Signature=eZ4KfV4Q%2FyYZzNTUEqRFZTV7Qkc%3D&Expires=1574735547&AWSAccessKeyId=AKIAJ5OVDHP63TNW
https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/22/1d3eef26-0d5e-11ea-9a43-0242ac110002.jpg?Signature=eZ4KfV4Q%2FyYZzNTUEqRFZTV7Qkc%3D&Expires=1574735547&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3PQ
https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/22/1f1de39c-0d5e-11ea-9a43-0242ac110002.jpg?Signature=7g0GlRpt5grHP1zWziRhSl7Kmc0%3D&Expires=1574735547&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3PQ
(https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/22/1f1de39c-
0d5e-11ea-9a43-0242ac110002.jpg?
Signature=7g0GlRpt5grHP1zWziRhSl7Kmc0%3D&Expires=1574735547&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3P
https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/22/1f1de39c-0d5e-11ea-9a43-0242ac110002.jpg?Signature=7g0GlRpt5grHP1zWziRhSl7Kmc0%3D&Expires=1574735547&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3PQ
(https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/22/20c23446-
0d5e-11ea-9a43-0242ac110002.jpg?
Signature=KuJp%2FmyPjYqCY7iUTKe9vS�cNA%3D&Expires=1574735547&AWSAccessKeyId=AKIAJ5OVDHP63TNW
https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/22/20c23446-0d5e-11ea-9a43-0242ac110002.jpg?Signature=KuJp%2FmyPjYqCY7iUTKe9vSffcNA%3D&Expires=1574735547&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3PQ
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732362/a0584830-c732-11e8-8ec2-0242ac11002e/ 1/9
Local: Sala 2 - Sala de Aula / Andar / Polo Campo Grande / POLO CAMPO GRANDE - RJ
Acadêmico: EAD-IL10311-20194A
Aluno: MICHEL SOARES DE ASSIS
Avaliação: A2-
Matrícula: 20184300185
Data: 22 de Novembro de 2019 - 14:30 Finalizado
Correto Incorreto Anulada Discursiva Objetiva Total: 5,90/10,00
1 Código: 36874 - Enunciado: Durante o desenvolvimento de um projeto, verificou-se a necessidade de
implementar as classes Humano, Homem e Mulher. Então, o programador identificou que não há por que criarmos
objetos Humanos e sim objetos Homens e Mulheres.Compare as possíveis soluções apresentadas a seguir e avalie
qual apresenta a correta codificação, de forma que a classe Humano sirva para modelar objetos que possuam
características semelhantes, mas que ainda assim tenham comportamento distinto para ações semelhantes.
a) public abstract class Humano {}public abstract Homem extends Humano {}public abstract Mulher extends
Humano {}
b) public abstract class Humano {}public class Homem extends Humano {}public class Mulher extends
Humano {}
c) public abstract Humano {}public class Homem implements Humano {}public class Mulher implements
Humano {}
d) public interface Humano {}public class Homem extends Humano {}public class Mulher extends Humano {}
e) public class Humano {}public class Homem extends Humano {}public class Mulher extends Humano {}
Alternativa marcada:
e) public class Humano {}public class Homem extends Humano {}public class Mulher extends Humano {}
Justificativa: Resposta correta:public abstract class Humano {}public class Homem extends Humano {}public class
Mulher extends Humano {}
O conceito a ser aplicado é o de classes abstratas. Uma classe abstrata não pode ser instanciada por meio da
palavra chave new com o uso de um construtor seu. As classes Homem e Mulher devem herdar da classe Humano,
por isso foi aplicado o conceito extends. As classes Homem e Mulher deverão implementar os métodos abstratos
definidos na classe Humano.
Distratores:public class Humano {}public class Homem extends Humano {}public class Mulher extends Humano {}
Incorreta. Como a classe Humano não pode ser instanciada, é preciso aplicar o conceito de classes abstratas e,
para isso, utilizamos o termo abstract (antes de class) na definição da classe humano.
public abstract class Humano {}public abstract Homem extends Humano {}public abstract Mulher extends Humano
{}
Incorreta. Como a classe Humano não pode ser instanciada, é preciso aplicar o conceito de classes abstratas. As
demais classes (Homem e Mulher) devem herdar da classe Humano e, sendo assim, estas não devem ser definidas
como abstract.
public interface Humano {}public class Homem extends Humano {}public class Mulher extends Humano {}
Incorreta. Como a classe Humano não pode ser instanciada, é preciso aplicar o conceito de classes abstratas, e não
o conceito de interface (uma interface Java é uma classe abstrata onde todos os seus métodos são abstract e
public e seus atributos são static e final implicitamente. Uma interface é então uma classe completamente
abstrata ou classe abstrata pura).
public abstract Humano {}public class Homemimplements Humano {}public class Mulher implements Humano
{} Incorreta. Como a classe Humano não pode ser instanciada, é preciso aplicar o conceito de classes abstratas,
mas a classe Humano não possui o modificador class, para determinar que a mesma se trata de uma classe. Já nas
classes Homem e Mulher foi aplicado o modificador de interfaces (implements), onde deveria ser aplicado o
conceito de herança.
0,00/ 1,50
2 Código: 36611 - Enunciado: Considere a classe a seguir:class IMC { String nome; double peso, altura;}Sabe-se
que métodos construtores são usados para controlar a criação (instanciação) do objeto e só executam neste
momento e que podem ser sobrecarregados. Sendo assim, qual é a quantidade máxima de métodos construtores
que podemos criar para a classe IMC?
a) 8.
b) 7.
c) 5.
d) 4.
e) 6.
Alternativa marcada:
0,00/ 0,50
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732362/a0584830-c732-11e8-8ec2-0242ac11002e/ 2/9
e) 6.
Justificativa: Resposta correta: 8.Métodos construtores podem ser sobrecarregados e seguem a mesma regra da
sobrecarga de métodos, os parâmetros são verificados não de acordo com o identificador, mas sim pela sequência
dos tipos (Assinatura). Sendo assim, podemos criar os seguintes métodos construtores, totalizando 8 métodos
construtores:public IMC() { }public IMC(String) { }public IMC(double) { }public IMC(String, double) { }public
IMC(double, String) { }public IMC(String, double, double) { }public IMC(double, String, double) { }public
IMC(double, double, String) { }
3 Código: 36609 - Enunciado: As linguagens de programação trabalham com três diferentes métodos de
implementação, que são: compilação, interpretação pura e híbrido. Em relação à linguagem Java, analise as
afirmativas a seguir:I. O código é compilado uma vez, gerando o bytecode, que pode ser interpretado quantas
vezes forem necessárias e em qualquer ambiente java existente.II. O bytecode é dependente do hardware e
so�ware (sistema operacional) do computador onde ocorreu a compilação.III. Atualmente realiza uma compilação
just-int-time (no momento da compilação), com o intuito de aumentar o desempenho.IV. O interpretador java
também é conhecido como JVM (Java Virtual Machine), que nada mais é do que um so�ware que é capaz de
interpretar os bytecodes em um ambiente específico.Está correto o que se afirma em:
a) II e III.
b) I e IV.
c) II e IV.
d) I e III.
e) III e IV.
Alternativa marcada:
e) III e IV.
Justificativa: Resposta correta: I e IV.O código é compilado uma vez, gerando o bytecode, que pode ser
interpretado quantas vezes forem necessárias e em qualquer ambiente java existente. Verdadeira. Java gera um
código intermediário chamado bytecode, que é um código especial de máquina que não leva em consideração um
ambiente específico, mas para um ambiente genérico que independe do ambiente de desenvolvimento.O
interpretador java também é conhecido como JVM (Java Virtual Machine), que nada mais é do que um so�ware
que é capaz de interpretar os bytecodes em um ambiente específico. Verdadeira. É criado um interpretador Java
(JVM) para cada ambiente onde o Java poderá ser executado. Sendo assim, esse interpretador poderá então
executar qualquer aplicação Java desenvolvida para ele. Dessa forma, temos uma JVM específica para cada
ambiente ou dispositivo específico, mas não podemos esquecer que, uma vez compilado um programa ou
aplicação, essa técnica permite que o programa seja executado em qualquer ambiente.
Distratores:O bytecode é dependente do hardware e so�ware (sistema operacional) do computador onde ocorreu
a compilação. Falsa. O bytecode é uma linguagem de máquina genérica que o processo de compilação da
linguagem Java usa para padronizar as aplicações Java, independentemente do ambiente onde ocorreu o
processo de compilação.Atualmente realiza uma compilação just-int-time (no momento da compilação), com o
intuito de aumentar o desempenho. Falsa. Uma vez que realiza a compilação just-in-time no momento da
execução, na etapa do interpretador.
0,00/ 0,50
4 Código: 36878 - Enunciado: Um desenvolvedor precisa implementar o método entradaDados() na classe
Treinamento, implementada a seguir. Considere que os métodos setters e getters serão implementados
corretamente.
class Treinamento { String nomeAluno; int ano; double nota;// Métodos setters// Métodos
getters}
Compare as possíveis soluções apresentadas a seguir e avalie qual é a correta para atender à implementação do
método entradaDados() da classe, responsável por realizar a entrada de dados por meio do teclado.
a) public void entradaDados ( ){ Scanner sc = new Scanner(System.in); System.out.println("Aluno:");
nomeAluno = sc.nextLine(); System.out.println("Ano:"); ano = sc.nextLine(); System.out.println("Nota:"); nota =
sc.nextLine();}
b) public void entradaDados (String nomeAluno, int ano, double nota){ Scanner sc = new
Scanner(System.in); System.out.println("Aluno:"); nomeAluno = sc.nextLine(); System.out.println("Ano:"); ano =
Integer.parseIntDouble(sc.nextLine()); System.out.println("Nota:"); nota = Double.parseDoublet(sc.nextLine());}
c) public void entradaDados ( ){ Scanner sc = new Scanner(System.in); System.out.println("Aluno:");
nomeAluno = nextLine(); System.out.println("Ano:"); ano = Double.parseDouble(nextLine());
System.out.println("Nota:"); nota = Double.parseDoublet(nextLine());}
d) public void entradaDados ( ){ Scanner sc = new Scanner(System.in); System.out.println("Aluno:");
nomeAluno = sc.nextLine(); System.out.println("Ano:"); ano = Integer.parseIntDouble(sc.nextLine());
1,50/ 1,50
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732362/a0584830-c732-11e8-8ec2-0242ac11002e/ 3/9
System.out.println("Nota:"); nota = Double.parseDoublet(sc.nextLine());}
e) public void entradaDados ( ){ Scanner sc = new Scanner(System.in); System.out.println("Aluno:");
nomeAluno = sc.nextLine(); System.out.println("Ano:"); ano = Double.parseDouble(sc.nextLine());
System.out.println("Nota:"); nota = Double.parseDoublet(sc.nextLine());}
Alternativa marcada:
d) public void entradaDados ( ){ Scanner sc = new Scanner(System.in); System.out.println("Aluno:"); nomeAluno
= sc.nextLine(); System.out.println("Ano:"); ano = Integer.parseIntDouble(sc.nextLine());
System.out.println("Nota:"); nota = Double.parseDoublet(sc.nextLine());}
Justificativa: Resposta correta:public void entradaDados ( ){ Scanner sc = new Scanner(System.in);
System.out.println("Aluno:"); nomeAluno = sc.nextLine(); System.out.println("Ano:"); ano =
Integer.parseIntDouble(sc.nextLine()); System.out.println("Nota:"); nota =
Double.parseDoublet(sc.nextLine());} Como os atributos ano e Nota não são String, precisamos realizar a
conversão de dados, utilizando Integer.parseInt() e Double.parseDouble() respectivamente.Distratores:public void
entradaDados ( ){ Scanner sc = new Scanner(System.in); System.out.println("Aluno:"); nomeAluno = nextLine();
System.out.println("Ano:"); ano = Double.parseDouble(nextLine()); System.out.println("Nota:"); nota =
Double.parseDoublet(nextLine());}
Incorreta. Faltou identificar o objeto que executará o método nextLine(). Neste caso o sc (sc.nexLine()). public void
entradaDados ( ){ Scanner sc = new Scanner(System.in); System.out.println("Aluno:"); nomeAluno =
sc.nextLine(); System.out.println("Ano:"); ano = Double.parseDouble(sc.nextLine()); System.out.println("Nota:");
nota = Double.parseDoublet(sc.nextLine());}
Incorreta. O atributo ano é do tipo int. Sendo assim, utilizamos o Integer.parseInt(sc.nextLine()), ao invés de
Double.
public void entradaDados ( ){ Scanner sc = new Scanner(System.in); System.out.println("Aluno:"); nomeAluno =
sc.nextLine(); System.out.println("Ano:"); ano = sc.nextLine(); System.out.println("Nota:"); nota =
sc.nextLine();} Incorreta. Como os atributos ano e notanão são do tipo String, há necessidade de convertê-los para
os seus respectivos tipos de dados apropriados, utilizando Integer.parseInt() e Double.parseDouble()
respectivamente. public void entradaDados (String nomeAluno, int ano, double nota){ Scanner sc = new
Scanner(System.in); System.out.println("Aluno:"); nomeAluno = sc.nextLine(); System.out.println("Ano:"); ano =
Integer.parseIntDouble(sc.nextLine());Incorreta. Como o método a ser implementado é de entrada de dados, onde
o método tem como objetivo solicitar a entrada de dados via teclado ao usuário e armazenar nos seus respectivos
atributos, o método não deve receber nenhum parâmetro.
5 Código: 36637 - Enunciado: Durante o desenvolvimento de uma aplicação na linguagem Java, com os conceitos
de programação orientada a objetos, foi implementado o método a seguir:
public double calcularVenda(double val, double perc, int qtd) { ............. }
Determine o uso de polimorfismo de sobrecarga de métodos que está sendo aplicado de forma correta:
a) public double calcularVenda(double perc, double val, int qtd)
b) public double calcular(double val, int qtd, double perc)
c) public int calcularVenda(int qtd, double val, double perc)
d) public double calcularVenda(double v, double p, int q)
e) public int Venda(double val, double perc, int qtd)
Alternativa marcada:
d) public double calcularVenda(double v, double p, int q)
Justificativa: Resposta correta: public double calcularVenda(double perc, double val, int qtd)A sobrecarga de
métodos é obtida ao se criar mais de um método com o mesmo nome em uma mesma classe. Para isso, é
importante que esses métodos possuam diferentes assinaturas de métodos.Esse método possui o mesmo nome
do método original e possui uma assinatura diferente.
Distratores:public int Venda(double val, double perc, int qtd). Incorreta. Não possui o mesmo nome do método
original.public double calcular(double val, int qtd, double perc). Incorreta. Não possui o mesmo nome do método
original.public double calcularVenda(double v, double p, int q). Incorreta. Esse método possui o mesmo nome,
mas está incorreto porque tem a mesma assinatura do método original.public double calcularVenda(double perc,
double val, int qtd). Incorreta. Esse método possui o mesmo nome, mas está incorreto porque tem a mesma
assinatura do método original.
0,00/ 1,00
6 Código: 36639 - Enunciado: Para o desenvolvimento de um projeto de sistema orientado a objetos na linguagem
Java, considere o trecho de código a seguir:
public class Pessoa { }public class Funcionario extends Pessoa { }public class Supervisor extends Funcionario { }
Examine as opções apresentadas e determine a correta:
1,00/ 1,00
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732362/a0584830-c732-11e8-8ec2-0242ac11002e/ 4/9
a) A classe Pessoa é subclasse direta da classe Supervisor.
b) A classe Supervisor é subclasse direta tanto de Pessoa como de Funcionario.
c) A classe Supervisor é subclasse direta de Pessoa.
d) A classe Funcionario é superclasse direta de Supervisor.
e) A classe Supervisor é superclasse direta de Funcionario e de Pessoa.
Alternativa marcada:
d) A classe Funcionario é superclasse direta de Supervisor.
Justificativa: Resposta correta: A classe Funcionario é superclasse direta de Supervisor.A classe Supervisor herda
diretamente da classe Funcionário, ou seja, a classe Funcionario é superclasse direta de Supervisor.
Distratores:A classe Pessoa é subclasse direta da classe Supervisor. Incorreta. A classe Pessoa é superclasse direta
de Funcionario.A classe Supervisor é superclasse direta de Funcionario e de Pessoa. Incorreta. A classe Pessoa que
é a superclasse de Funcionario, que é superclasse de Supervisor.A classe Supervisor é subclasse direta de Pessoa.
Incorreta. A classe Supervisor é subclasse direta de Funcionario.A classe Supervisor é subclasse direta tanto de
Pessoa, como de Funcionario. Incorreta. A classe Supervisor é subclasse direta de Funcionário. Já a classe
Funcionario é subclasse direta de Pessoa.
7 Código: 36883 - Enunciado: Você faz parte de uma equipe de projeto que precisa desenvolver uma aplicação para
a indústria de calçados. A aplicação deve ser criada na linguagem Java seguindo os critérios conceituais da
programação orientada a objetos. A equipe é composta por três desenvolvedores, dos quais um deve desenvolver
a aplicação, outro a classe Calcado e você deve desenvolver a classe Sapato.A sua tarefa é desenvolver a classe
Sapato, conforme a modelagem a seguir:
Classe Calcado:Definição dos atributos;Os métodos de acesso dos atributos.Cimco métodos
construtores.Métodos: Imprimir, Cadastrar e EntradaDados. Classe Sapato:• Definição dos atributos.•
Os métodos de acesso dos atributos.• Cinco métodos construtores.• Métodos: Imprimir e Cadastrar.
Desenvolva a codificação na linguagem Java da classe Sapato:Após analisar a situação problema, você deve
partir da premissa (certeza) de que a classe Calcado já se encontra pronta e de acordo com os critérios
apresentados anteriormente.A classe Sapato deverá reaproveitar ao máximo todos os atributos e métodos
disponibilizados pela classe Calcado.A classe Sapato deverá reaproveitar no mínimo um método construtor da
classe Calcado.Lembre-se de criar apenas a classe Sapato.Utilize a boa prática de programação em Java. Cuidado
com o tamanho da letra para que caiba no espaço de resposta.
Resposta:
Comentários: Não há reaproveitamento de código dos demais métodos (entrada e imprimir).
Justificativa: Expectativa de resposta:import java.util.Scanner; public class Sapato extends Calcado{ String cor;
public String getCor() { return cor; } public void setCor(String c) { cor = c; } public Sapato() { super();
// Não é obrigatório } public Sapato(String cor) { setCor(cor); } public Sapato(String cor, String tipo) {
super(tipo); // reaproveitamento setCor(cor); } public Sapato(String cor, int tamanho, String tipo) {
super(tamanho, tipo); // reaproveitamento setCor(cor); } public Sapato(String cor, String tipo, int tamanho)
{ super(tipo, tamanho); // reaproveitamento setCor(cor); } public void cadastrar(String tipo, int
tamanho, String cor) { super.cadastrar(tipo, tamanho); // reaproveitamento setCor(cor); } @Override //
Não é obrigatório public void imprimir(){ super.imprimir();// reaproveitamento System.out.println("Cor :"
+ cor); } }
2,20/ 2,50
8 Código: 36645 - Enunciado: Um desenvolvedor precisa criar uma classe para atender às necessidades de uma
aplicação, utilizando os conceitos de programação orientada a objetos implementada na linguagem
Java.Considere os atributos a seguir para a classe:
ClasseAtributosMétodosViolaoMarca: textoNúmero Cordas: inteiroImprimir (exibe todos os valores dos atributos
do objeto).Cadastrar (recebe todos os valores dos atributos e armazena no objeto).EntradaDados (realiza a
entrada de dados dos atributos do objeto).
Construa a classe Violao, definindo os seus atributos e implementando os métodos solicitados.Utilize a boa prática
de programação em Java.
Resposta:
Comentários: Faltaram os métodos de acesso.
Justificativa: Expectativa de resposta:public class Violao{String marca;int numeroCordas;public void imprimir(){
System.out.println(“Marca:” + marca); System.out.println(“Número Cordas:” + numeroCordas);}public void
entradaDados(){ Scanner ent = new Scanner(System.in); System.out.println(“Marca:”);
setMarca(ent.nextLine()); System.out.println(“Número Cordas:” + numeroCordas);
1,20/ 1,50
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732362/a0584830-c732-11e8-8ec2-0242ac11002e/ 5/9
setNumeroCordas(Integer.parseInt(ent.nextLine()));}public void cadastrar(String m, int nc){setMarca(m);
setNumeroCordas(nc);}}
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732362/a0584830-c732-11e8-8ec2-0242ac11002e/ 6/9
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732362/a0584830-c732-11e8-8ec2-0242ac11002e/ 7/9
(https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/27/8c7395e6-
1159-11ea-a9c8-0242ac110003.jpg?
Signature=DwRXrKHelz7M3JmLzYWDn2EnV4o%3D&Expires=1574964587&AWSAccessKeyId=AKIAJ5OVDHP63TNW
https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/27/8c7395e6-1159-11ea-a9c8-0242ac110003.jpg?Signature=DwRXrKHelz7M3JmLzYWDn2EnV4o%3D&Expires=1574964587&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3PQ
https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/27/8e3eda20-1159-11ea-a9c8-0242ac110003.jpg?Signature=91r12gpBiTItESp%2FwuFD2XW4CK8%3D&Expires=1574964587&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3PQ
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732362/a0584830-c732-11e8-8ec2-0242ac11002e/ 8/9
(https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/27/8e3eda20-
1159-11ea-a9c8-0242ac110003.jpg?
Signature=91r12gpBiTItESp%2FwuFD2XW4CK8%3D&Expires=1574964587&AWSAccessKeyId=AKIAJ5OVDHP63TNW
https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/27/8e3eda20-1159-11ea-a9c8-0242ac110003.jpg?Signature=91r12gpBiTItESp%2FwuFD2XW4CK8%3D&Expires=1574964587&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3PQ
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732362/a0584830-c732-11e8-8ec2-0242ac11002e/ 9/9
(http://strtec.s3.amazonaws.com/ilumno/processamento/imagens_readables/2019/11/27/8fb890b2-
1159-11ea-a9c8-0242ac110003.jpg?
Signature=YV0wgRqJ63QszSwWDOk8J4lVFWk%3D&Expires=1574964587&AWSAccessKeyId=AKIAJ5OVDHP63TNW
http://strtec.s3.amazonaws.com/ilumno/processamento/imagens_readables/2019/11/27/8fb890b2-1159-11ea-a9c8-0242ac110003.jpg?Signature=YV0wgRqJ63QszSwWDOk8J4lVFWk%3D&Expires=1574964587&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3PQ
08/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5886397/dd84ae80-3535-11e9-ba31-0242ac110007/ 1/7
Local: Sala 1 - TJ - Prova On-line / Andar / Polo Tijuca / POLO UVA TIJUCA
Acadêmico: EAD-IL10328-20203A
Aluno: CAIO DANIEL MORAIS AUGUSTO
Avaliação: A2-
Matrícula: 20191303405
Data: 26 de Setembro de 2020 - 08:00 Finalizado
Correto Incorreto Anulada Discursiva Objetiva Total: 9,00/10,00
1 Código: 36638 - Enunciado: Um desenvolvedor recebeu como tarefa a criação da classe
Funcionario, que se relaciona hierarquicamente com a classe Pessoa, conforme pode ser
observado na modelagem a seguir:
Determine a opção cujo trecho de código em Java está implementando a classe Funcionario
corretamente:
a) public class Pessoa implements Funcionario { }
b) public class Funcionario { }
c) public class Pessoa extends Funcionario { }
d) public class Funcionario extends Pessoa { }
e) public classe Funcionário implements Pessoa { }
Alternativa marcada:
d) public class Funcionario extends Pessoa { }
Justificativa: Resposta correta: public class Funcionario extends Pessoa { }.A figura apresenta a
aplicação do conceito de herança, onde a classe Funcionario herda da classe Pessoa. Na
linguagem Java, a sintaxe para implementar o conceito de herança é: public class <nome da
classe “filha”> extends <nome da classe “pai”> { }Nesse caso, a classe “filha” é Funcionario e a
classe “mãe” é Pessoa.
Distratores:public class Funcionario { }. Incorreta. Essa instrução implementa a classe
Funcionário sem o conceito de herança e, como podemos observar na modelagem, a classe
Funcionário herda da classe Pessoa. public class Pessoa extends Funcionario { }. Incorreta. Essa
instrução, apesar de implementar o conceito de herança, faz uma inversão entre as classes Pai e
Filha.public class Pessoa implements Funcionario { }. Incorreta. Essa instrução utiliza o termo
implements, que só deve ser usado para interfaces.public classe Funcionário implements Pessoa
{ }. Incorreta. Essa instrução utiliza o termo implements, que só deve ser usado para interfaces.
1,00/ 1,00
2 Código: 36875 - Enunciado: Durante a implementação de uma classe, o programador decidiu
aplicar o conceito de sobrecarga de métodos construtores. Analise a implementação da classe
abaixo. (Considere que os métodos Setters e Getters serão implementados corretamente).class
PesoIdeal { String nome, situacao; int idade; double peso, altura; public PesoIdeal () {
} public PesoIdeal(String n, double p) { setNome(n); setPeso(p); }
public PesoIdeal(String n, double p, double a) { setNome(n); setPeso(p);
setAltura(a); } public PesoIdeal(double a, double p) { setAltura(a);
setPeso(p); }} Compare as possíveis soluções apresentadas a seguir e avalie qual apresenta a
correta codificação da criação do objeto atleta.
a) PesoIdeal atleta = new PesoIdeal (“Paulo”, “Sobrepeso”,80.5, 1.8)
b) PesoIdeal atleta = new PesoIdeal(Paulo,80.5, 1.8)
c) PesoIdeal = new atleta(1.80, 80.5);
d) PesoIdeal atleta = new PesoIdeal(1.80, 80.5);
e) Atleta = new PesoIdeal(1.80, 80.5);
Alternativa marcada:
1,50/ 1,50
08/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5886397/dd84ae80-3535-11e9-ba31-0242ac110007/ 2/7
d) PesoIdeal atleta = new PesoIdeal(1.80, 80.5);
Justificativa: Resposta correta: PesoIdeal atleta = new PesoIdeal(1.80, 80.5);Método construtor:
possui o mesmo nome da classe. Sobrecarga de método construtor: métodos com mesmo nome
da classe, mas com assinaturas diferentes.Sintaxe para criar objeto: <nome da classe> nome do
objeto = new <nome do método construtor>;
Está utilizando o quarto método construtor definido na classe PesoIdeal.
Distratores:Atleta = new PesoIdeal(1.80, 80.5);. Incorreta. A sintaxe para criar um objeto é: <nome
da classe> nome do objeto = new <nome do método construtor>;. Nesse caso, faltou o nome da
classe antes da palavra Atleta.PesoIdeal = new atleta(1.80, 80.5);. Incorreta. A sintaxe para criar
um objeto é: <nome da classe> nome do objeto = new <nome do método construtor>; Nesse
caso, faltou o nome do objeto depois do nome da classe.PesoIdeal atleta = new
PesoIdeal(Paulo,80.5, 1.8). Incorreta. O problema está na passagem dos parâmetros do método
construtor. Quando temos o tipo de dados String, o mesmo deve ser passado entre aspas –
“Paulo”, ou ser o identificador de uma variável do tipo String, que não foi identificada de acordo
com a boa prática em desenvolvimento Java.PesoIdeal atleta = new PesoIdeal (“Paulo”,
“Sobrepeso”,80.5, 1.8). Incorreta. Não foi implementado na classe PesoIdeal nenhum método
com a assinatura: PesoIdeal(String, String, double, double).Assinaturas dos métodos
implementados:PesoIdeal ()PesoIdeal(String, double)PesoIdeal(String, double,
double)PesoIdeal(double, double)
3 Código: 36630 - Enunciado: O conhecimento das técnicas de desenvolvimento de sistemas
baseadas no paradigma de programação orientada a objetos é fundamental para o
desenvolvimento de sistemas complexos, facilitando a divisão de tarefas em partes mais simples
e fáceis de serem desenvolvidas, permitindo que, posteriormente, essas partes sejam agrupadas
de forma a resolver problemas que envolvem grandes e complexos sistemas.
Em relação aos conceitos de orientação a objetos, analise as afirmativas a seguir:I. Os atributos
definem um conjunto de descritores do objeto de forma geral são capazes de realizar as ações
necessárias do objeto para o contexto do sistema.II. As classes na programação orientada a
objetos são responsáveis por descrever as características e as ações que o objeto poderá
realizar.III.Os métodos de acesso Getters são responsáveis por recuperar valores atribuídos às
propriedades e que se encontram armazenados na memória de um objeto. Não podem ser do
tipo void.IV. Os métodos de acesso Setters são responsáveis por realizar a atribuição e o
armazenamento na memória de uma propriedade do objeto. Se necessário, eles podem retornar
parâmetros.Identifique as afirmativas corretas:
a) I e III.
b) II e IV.
c) II e III.
d) III e IV.
e) I e IV.
Alternativa marcada:
c) II e III.
Justificativa: Resposta correta: II e III.As classes na programação orientada a objetos são
responsáveis por descrever as características e as ações que o objeto poderá realizar. Verdadeira.
Classe é um conjunto de códigos de programação que definem um modelo para a criação de um
ou mais objetos. É uma estrutura capaz de representar diferentes objetos, com propriedades
distintas, mas com as mesmas características. A classe é o modelo para a criação dos objetos.Os
métodos de acesso Getters são responsáveis por recuperar valores atribuídos às propriedades e
que se encontram armazenados na memória de um objeto. Não podem ser do tipo void.
Verdadeira. Os métodos Getters nunca são do tipo void, pois sempre retornam um valor, devendo
ser do mesmo tipo do atributo que irá retornar.
Distratores:Os atributos definem um conjunto de descritores do objeto de forma geral são
capazes de realizar as ações necessárias do objeto para o contexto do sistema. Falsa. Os atributos
0,50/ 0,50
08/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5886397/dd84ae80-3535-11e9-ba31-0242ac110007/ 3/7
de uma classe são responsáveis por descrever o objeto quanto as suas características, mas não
são responsáveis pela realização das ações.Os métodos de acesso Setters são responsáveis por
realizar a atribuição e o armazenamento na memória de uma propriedade do objeto. Se
necessário, eles podem retornar parâmetros. Falsa. Os métodos Setters são sempre do tipo void,
porque nunca devem retornar nada.
4 Código: 36609 - Enunciado: As linguagens de programação trabalham com três diferentes
métodos de implementação, que são: compilação, interpretação pura e híbrido. Em relação à
linguagem Java, analise as afirmativas a seguir:I. O código é compilado uma vez, gerando o
bytecode, que pode ser interpretado quantas vezes forem necessárias e em qualquer ambiente
java existente.II. O bytecode é dependente do hardware e so�ware (sistema operacional) do
computador onde ocorreu a compilação.III. Atualmente realiza uma compilação just-int-time (no
momento da compilação), com o intuito de aumentar o desempenho.IV. O interpretador java
também é conhecido como JVM (Java Virtual Machine), que nada mais é do que um so�ware que
é capaz de interpretar os bytecodes em um ambiente específico.Está correto o que se afirma em:
a) II e III.
b) I e III.
c) II e IV.
d) I e IV.
e) III e IV.
Alternativa marcada:
d) I e IV.
Justificativa: Resposta correta: I e IV.O código é compilado uma vez, gerando o bytecode, que
pode ser interpretado quantas vezes forem necessárias e em qualquer ambiente java
existente. Verdadeira. Java gera um código intermediário chamado bytecode, que é um código
especial de máquina que não leva em consideração um ambiente específico, mas para um
ambiente genérico que independe do ambiente de desenvolvimento.O interpretador java
também é conhecido como JVM (Java Virtual Machine), que nada mais é do que um so�ware que
é capaz de interpretar os bytecodes em um ambiente específico. Verdadeira. É criado um
interpretador Java (JVM) para cada ambiente onde o Java poderá ser executado. Sendo assim,
esse interpretador poderá então executar qualquer aplicação Java desenvolvida para ele. Dessa
forma, temos uma JVM específica para cada ambiente ou dispositivo específico, mas não
podemos esquecer que, uma vez compilado um programa ou aplicação, essa técnica permite
que o programa seja executado em qualquer ambiente.
Distratores:O bytecode é dependente do hardware e so�ware (sistema operacional) do
computador onde ocorreu a compilação. Falsa. O bytecode é uma linguagem de máquina
genérica que o processo de compilação da linguagem Java usa para padronizar as aplicações
Java, independentemente do ambiente onde ocorreu o processo de compilação.Atualmente
realiza uma compilação just-int-time (no momento da compilação), com o intuito de aumentar o
desempenho. Falsa. Uma vez que realiza a compilação just-in-time no momento da execução, na
etapa do interpretador.
0,50/ 0,50
5 Código: 36636 - Enunciado: Para o desenvolvimento de uma aplicação utilizando os conceitos
de programação orientada a objeto na linguagem Java, considere a classe a seguir:class IMC
{String nome;double peso, altura;}Determine, dentre as alternativas, aquela que implementa
corretamente o método de acesso que permite recuperar valores atribuídos à propriedade peso,
que se encontra armazenada na memória de um objeto.
a) public double setPeso( ) { return peso; }
b) public setPeso(double p) { peso = p; }
c) public double getPeso( ) { return peso; }
d) public getPeso( ) { return peso; }
0,00/ 1,00
08/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5886397/dd84ae80-3535-11e9-ba31-0242ac110007/ 4/7
e) public getPeso(double peso) { return peso; }
Alternativa marcada:
a) public double setPeso( ) { return peso; }
Justificativa: Resposta correta:public double getPeso( ) { return peso; }
O método de acesso que é responsável por recuperar valores é o Getter. Esses métodos nunca
recebem parâmetro, uma vez que apenas devem retornar o valor atribuído à propriedade, além
disso, devem ser definidos com o mesmo tipo do atributo que irá retornar.
Distratores:public getPeso( ). Incorreta. Não foi definido o tipo de retorno, apenas métodos
construtores não possuem tipo de retorno.public getPeso(double peso). Incorreta. Não definido
o tipo de retorno e métodos Getters não recebem parâmetros.public setPeso(double p).
Incorreta. Não definido o tipo de retorno e o método é do tipo Setter, que realiza o
armazenamento e não o retorno.public double setPeso( ). Incorreta. O método é do tipo Setter,
que realiza o armazenamento e não o retorno, além disso, métodos Setters são sempre do tipo
void.
6 Código: 36879 - Enunciado: Um desenvolvedor precisa implementar os métodos de acesso da
classe Treinamento, a qual possui os seguintes atributos: nomeAluno, ano e nota. Compare as
possíveis soluções apresentadas a seguir e avalie qual é a correta para atender à implementação
do método que permite realizar a atribuição e o armazenamento na memória da propriedade
nota. Lembrando que a nota de um aluno precisa estar entre 0 e 10 para que seja armazenada no
atributo; caso contrário, deverá armazenar o valor 0 (zero) no atributo.
a) public void setNota(double n) { if(n >= 0 && n <= 10) { nota = n; }
else { nota = 0; }}
b) public void setNota(double n) { if(n <= 10) { nota = n; } else {
nota = 0; }}
c) public double setNota(double n) { if(n >= 0 && n <= 10) { return n; }
else { return 0; }}
d) public void setNota(double n) { if(n >= 0 || n < 10) { nota = n; } else
{ nota = 0; }}
e) public void getNota(double n) { if(n >= 0 && n <= 10) { nota = n; }
else { nota = 0; }}
Alternativa marcada:
a) public void setNota(double n) { if(n >= 0 && n <= 10) { nota= n; } else {
nota = 0; }}
Justificativa: Resposta correta:public void setNota(double n) { if(n >= 0 && n <= 10) {
nota = n; } else { nota = 0; }}
O método de acesso usado para realizar a atribuição e o armazenamento na memória de uma
propriedade do objeto é o Setter. A nota tem que ser maior igual a 0 e menor ou igual a 10. Para
isso, precisamos aplicar uma estrutura condicional if(). Lembrando que o operador lógico E em
Java é: &&. Distratores:public double setNota(double n) { if(n >= 0 && n <= 10) {
return n; } else { return 0; }}
Incorreta. O método Setter não deve retornar valor. Sendo assim, ele deve ser do tipo void, e não
double.
public void setNota(double n) { if(n <= 10) { nota = n; } else { nota
= 0; }}
Incorreta. Se a nota for menor que zero, será aceita, uma vez que a condição só verifica se a nota
é menor ou igual a 10. public void setNota(double n) { if(n >= 0 || n < 10) { nota = n;
} else { nota = 0; }}
Incorreta. Não podemos utilizar o operador lógico ou (em Java ||) para esse caso, uma vez que
basta uma condição ser verdade para que tudo seja verdade. Nesse caso, se a nota for 11, será
1,50/ 1,50
08/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5886397/dd84ae80-3535-11e9-ba31-0242ac110007/ 5/7
armazenada no atributo nota, uma vez que, ao validar n >= 0 (ou seja 11>=0 será Verdade) ou n
<=10 (ou seja 11 <= 10 será falso), analisando Verdade OU Falso, o resultado lógico será: Verdade.
public void getNota(double n) { if(n >= 0 && n <= 10) { nota = n; } else {
nota = 0; }} Incorreta. O método Getter é responsável por recuperar valores atribuídos
às propriedades e que se encontram armazenados na memória de um objeto e não devem ser
usados para atribuições.
7 Código: 36883 - Enunciado: Você faz parte de uma equipe de projeto que precisa desenvolver
uma aplicação para a indústria de calçados. A aplicação deve ser criada na linguagem Java
seguindo os critérios conceituais da programação orientada a objetos. A equipe é composta por
três desenvolvedores, dos quais um deve desenvolver a aplicação, outro a classe Calcado e você
deve desenvolver a classe Sapato.A sua tarefa é desenvolver a classe Sapato, conforme a
modelagem a seguir:
Classe Calcado:Definição dos atributos;Os métodos de acesso dos atributos.Cimco métodos
construtores.Métodos: Imprimir, Cadastrar e EntradaDados. Classe Sapato:• Definição dos
atributos.• Os métodos de acesso dos atributos.• Cinco métodos construtores.•
Métodos: Imprimir e Cadastrar. Desenvolva a codificação na linguagem Java da classe
Sapato:Após analisar a situação problema, você deve partir da premissa (certeza) de que a classe
Calcado já se encontra pronta e de acordo com os critérios apresentados anteriormente.A classe
Sapato deverá reaproveitar ao máximo todos os atributos e métodos disponibilizados pela classe
Calcado.A classe Sapato deverá reaproveitar no mínimo um método construtor da classe
Calcado.Lembre-se de criar apenas a classe Sapato.Utilize a boa prática de programação em
Java. Cuidado com o tamanho da letra para que caiba no espaço de resposta.
Resposta:
public class Sapato extends Calcado{
String cor;
public String getCor() {
return cor;
}
public void setCor(String c) {
cor = c;
}
public Sapato() {
super();
}
public Sapato(String cor) {
setCor(cor);
}
public Sapato(String cor, String tipo) {
super(tipo);
setCor(cor);
}
public Sapato(String cor, int tamanho, String tipo) {
super(tamanho, tipo);
2,50/ 2,50
08/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5886397/dd84ae80-3535-11e9-ba31-0242ac110007/ 6/7
setCor(cor);
}
public Sapato(String cor, String tipo, int tamanho)
{
super(tipo, tamanho);
setCor(cor);
}
public void cadastrar(String tipo, int
tamanho, String cor) {
super.cadastrar(tipo, tamanho);
setCor(cor);
}
public void imprimir(){
super.imprimir();
System.out.println("Cor :" + cor);
}
}
Justificativa: Expectativa de resposta:import java.util.Scanner; public class Sapato extends
Calcado{ String cor; public String getCor() { return cor; } public void setCor(String c) {
cor = c; } public Sapato() { super(); // Não é obrigatório } public Sapato(String cor) {
setCor(cor); } public Sapato(String cor, String tipo) { super(tipo); // reaproveitamento
setCor(cor); } public Sapato(String cor, int tamanho, String tipo) { super(tamanho, tipo); //
reaproveitamento setCor(cor); } public Sapato(String cor, String tipo, int tamanho) {
super(tipo, tamanho); // reaproveitamento setCor(cor); } public void cadastrar(String tipo,
int tamanho, String cor) { super.cadastrar(tipo, tamanho); // reaproveitamento
setCor(cor); } @Override // Não é obrigatório public void imprimir(){ super.imprimir();//
reaproveitamento System.out.println("Cor :" + cor); } }
8 Código: 36952 - Enunciado: Encapsulamento é o ato de esconder os membros (atributos e
métodos) de uma classe: seja por não serem de interesse por questões de implementação ou por
segurança dos dados atribuídos ao objeto. Indique quando deve ser utilizado o modificador de
acesso private.
Resposta:
Quando existe um método que serve para ajudar a própria classe.
Justificativa: Expectativa de resposta:Quando queremos definir que os métodos e atributos de
uma classe sejam acessíveis somente por membros da própria classe.
1,50/ 1,50
08/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5886397/dd84ae80-3535-11e9-ba31-0242ac110007/ 7/7
Powered by TCPDF (www.tcpdf.org)
http://www.tcpdf.org
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732100/d64294e6-5eb9-11e8-8a4d-0242ac110036/ 1/9
Local: A308(INATIVO) - Bloco A - 3º andar / Andar / Polo Tijuca / POLO UVA TIJUCA
Acadêmico: EAD-IL10311-20194A
Aluno: JACKSON MENA DO COUTO
Avaliação: A2-
Matrícula: 20182300244
Data: 23 de Novembro de 2019 - 11:00 Finalizado
Correto Incorreto Anulada Discursiva Objetiva Total: 8,50/10,00
1 Código: 36872 - Enunciado: Durante a implementação de uma classe, o programador decidiu aplicar o conceito de
polimorfismo de sobrecarga. Analise a implementação da classe a seguir para obter as informações necessárias para a
codificação correta do polimorfismo.class PesoIdeal { String nome, situacao; int idade; double peso, altura;}
Compare as possíveis soluções de métodos apresentadas nas alternativas e avalie qual apresenta corretamente a
implementação do conceito de polimorfismo de sobrecarga.
a) public void cadastroParcial1(String n, int i) { }public void cadastroParcial2(int i, String n) { }public void
cadastroParcial3(String n, int i, double p) { }public void cadastroParcial4(String n, int i, double p, double a) { }
b) public void cadastroParcial(String n, int i) { }public void cadastroParcial(String n, double p) { }public void
cadastroParcial(String n, double p, double a) { }public void cadastroParcial(String n, double a, double p) { }
c) public void cadastroParcial1(double p, double a) { }public void cadastroParcial2(double p, int i, double a) {
}public void cadastroParcial3(String n, int i, double a) { }public void cadastroParcial4(double a, int i, String n) { }
d) public void cadastroParcial(String n, int i) { }public void cadastroParcial(inti, String n) { }public void
cadastroParcial(String n, int i, double p) { }public void cadastroParcial(String n, int i, double p, double a) { }
e) public void cadastroParcial(double p, double a, int i) { }public void cadastroParcial(double p, int i, double a) {
}public void cadastroParcial(String n, int i, double a) { }public void cadastroParcial(double a, int i, double p) { }
Alternativa marcada:
d) public void cadastroParcial(String n, int i) { }public void cadastroParcial(int i, String n) { }public void
cadastroParcial(String n, int i, double p) { }public void cadastroParcial(String n, int i, double p, double a) { }
Justificativa: Resposta correta:public void cadastroParcial(String n, int i) { }public void cadastroParcial(int i, String n) {
}public void cadastroParcial(String n, int i, double p) { }public void cadastroParcial(String n, int i, double p, double a) {
} Assinaturas: cadastroParcial(String, int) { } cadastroParcial(int, String) { } cadastroParcial(String, int, double) { }
cadastroParcial(String, int, double, double) { }
Polimorfismo de sobrecarga de métodos é obtida ao se criar mais de um método com o mesmo nome em uma mesma
classe. Para isso, é importante que esses métodos possuam diferentes assinaturas de métodos.Sobrecarga de métodos
é obtida ao se criar mais de um método com o mesmo nome em uma mesma classe. Para isso, é importante que esses
métodos possuam diferentes assinaturas de métodos. Distratores:public void cadastroParcial1(String n, int i) { }public
void cadastroParcial2(int i, String n) { }public void cadastroParcial3(String n, int i, double p) { }public void
cadastroParcial4(String n, int i, double p, double a) { }
Incorreta. Os métodos não possuem o mesmo nome: cadastroParcial1(), cadastroParcial2(), cadastroParcial3(),
cadastroParcial4(). public void cadastroParcial(String n, int i) { }public void cadastroParcial(String n, double p) { }public
void cadastroParcial(String n, double p, double a) { }public void cadastroParcial(String n, double a, double p) {
} Assinaturas: cadastroParcial(String, int i) { }cadastroParcial(String, double) { }cadastroParcial(String, double, double) {
}cadastroParcial(String, double, double) { }
Incorreta. Apesar de os métodos possuírem o mesmo nome, as assinaturas não são diferentes. O terceiro e o quarto
método possuem a mesma assinatura. public void cadastroParcial(double p, double a, int i) { }public void
cadastroParcial(double p, int i, double a) { }public void cadastroParcial(String n, int i, double a) { }public void
cadastroParcial(double a, int i, double p) { }
Incorreta. Apesar de os métodos possuírem o mesmo nome, as assinaturas não são diferentes. O segundo e o quarto
método possuem a mesma assinatura.Assinaturas: cadastroParcial(double, double, int) { }cadastroParcial(double, int,
double) { }cadastroParcial(String, int, double) { }cadastroParcial(double, int, double) { } public void
cadastroParcial1(double p, double a) { }public void cadastroParcial2(double p, int i, double a) { }public void
cadastroParcial3(String n, int i, double a) { }public void cadastroParcial4(double a, int i, String n) { } Assinaturas:
cadastroParcial1(double, double) { }cadastroParcial2(double, int, double) { }cadastroParcial3(String, int, double) {
}cadastroParcial4(double, int, String) { }
Incorreta. Os métodos não possuem o mesmo nome: cadastroParcial1(), cadastroParcial2(), cadastroParcial3(),
cadastroParcial4().
1,50/ 1,50
2 Código: 36611 - Enunciado: Considere a classe a seguir:class IMC { String nome; double peso, altura;}Sabe-se que
métodos construtores são usados para controlar a criação (instanciação) do objeto e só executam neste momento e que
podem ser sobrecarregados. Sendo assim, qual é a quantidade máxima de métodos construtores que podemos criar
para a classe IMC?
a) 5.
b) 6.
0,00/ 0,50
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732100/d64294e6-5eb9-11e8-8a4d-0242ac110036/ 2/9
c) 7.
d) 4.
e) 8.
Alternativa marcada:
b) 6.
Justificativa: Resposta correta: 8.Métodos construtores podem ser sobrecarregados e seguem a mesma regra da
sobrecarga de métodos, os parâmetros são verificados não de acordo com o identificador, mas sim pela sequência dos
tipos (Assinatura). Sendo assim, podemos criar os seguintes métodos construtores, totalizando 8 métodos
construtores:public IMC() { }public IMC(String) { }public IMC(double) { }public IMC(String, double) { }public IMC(double,
String) { }public IMC(String, double, double) { }public IMC(double, String, double) { }public IMC(double, double, String) {
}
3 Código: 36630 - Enunciado: O conhecimento das técnicas de desenvolvimento de sistemas baseadas no paradigma de
programação orientada a objetos é fundamental para o desenvolvimento de sistemas complexos, facilitando a divisão
de tarefas em partes mais simples e fáceis de serem desenvolvidas, permitindo que, posteriormente, essas partes sejam
agrupadas de forma a resolver problemas que envolvem grandes e complexos sistemas.
Em relação aos conceitos de orientação a objetos, analise as afirmativas a seguir:I. Os atributos definem um conjunto de
descritores do objeto de forma geral são capazes de realizar as ações necessárias do objeto para o contexto do
sistema.II. As classes na programação orientada a objetos são responsáveis por descrever as características e as ações
que o objeto poderá realizar.III. Os métodos de acesso Getters são responsáveis por recuperar valores atribuídos às
propriedades e que se encontram armazenados na memória de um objeto. Não podem ser do tipo void.IV. Os métodos
de acesso Setters são responsáveis por realizar a atribuição e o armazenamento na memória de uma propriedade do
objeto. Se necessário, eles podem retornar parâmetros.Identifique as afirmativas corretas:
a) I e III.
b) I e IV.
c) III e IV.
d) II e III.
e) II e IV.
Alternativa marcada:
d) II e III.
Justificativa: Resposta correta: II e III.As classes na programação orientada a objetos são responsáveis por descrever as
características e as ações que o objeto poderá realizar. Verdadeira. Classe é um conjunto de códigos de programação
que definem um modelo para a criação de um ou mais objetos. É uma estrutura capaz de representar diferentes
objetos, com propriedades distintas, mas com as mesmas características. A classe é o modelo para a criação dos
objetos.Os métodos de acesso Getters são responsáveis por recuperar valores atribuídos às propriedades e que se
encontram armazenados na memória de um objeto. Não podem ser do tipo void. Verdadeira. Os métodos Getters nunca
são do tipo void, pois sempre retornam um valor, devendo ser do mesmo tipo do atributo que irá retornar.
Distratores:Os atributos definem um conjunto de descritores do objeto de forma geral são capazes de realizar as ações
necessárias do objeto para o contexto do sistema. Falsa. Os atributos de uma classe são responsáveis por descrever o
objeto quanto as suas características, mas não são responsáveis pela realização das ações.Os métodos de acesso
Setters são responsáveis por realizar a atribuição e o armazenamento na memória de uma propriedade do objeto. Se
necessário, eles podem retornar parâmetros. Falsa. Os métodos Setters são sempre do tipo void, porque nunca devem
retornar nada.
0,50/ 0,50
4 Código: 36637 - Enunciado: Durante o desenvolvimento de uma aplicação na linguagem Java, com os conceitos de
programação orientada a objetos, foi implementado o método a seguir:
public double calcularVenda(double val, double perc, int qtd) { ............. }
Determine o uso de polimorfismo de sobrecarga de métodos que está sendo aplicado de forma correta:
a) public int Venda(double val, double perc, int qtd)
b) public double calcularVenda(double v, double p, int q)
c) public int calcularVenda(int qtd, double val, double perc)
d) public double calcularVenda(double perc, double val, int qtd)
e) public double calcular(double val, int qtd, double perc)
Alternativa marcada:c) public int calcularVenda(int qtd, double val, double perc)
Justificativa: Resposta correta: public double calcularVenda(double perc, double val, int qtd)A sobrecarga de métodos
é obtida ao se criar mais de um método com o mesmo nome em uma mesma classe. Para isso, é importante que esses
métodos possuam diferentes assinaturas de métodos.Esse método possui o mesmo nome do método original e possui
1,00/ 1,00
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732100/d64294e6-5eb9-11e8-8a4d-0242ac110036/ 3/9
uma assinatura diferente.
Distratores:public int Venda(double val, double perc, int qtd). Incorreta. Não possui o mesmo nome do método
original.public double calcular(double val, int qtd, double perc). Incorreta. Não possui o mesmo nome do método
original.public double calcularVenda(double v, double p, int q). Incorreta. Esse método possui o mesmo nome, mas está
incorreto porque tem a mesma assinatura do método original.public double calcularVenda(double perc, double val, int
qtd). Incorreta. Esse método possui o mesmo nome, mas está incorreto porque tem a mesma assinatura do método
original.
5 Código: 36876 - Enunciado: Durante o desenvolvimento de um projeto, verificou-se a necessidade de implementar o
conceito de Interface na classe Triathlon. Nesse projeto, além da classe Triathlon, também são implementadas três
modalidades de esportes diferentes: Nadar, Correr e Ciclista.Analise a implementação da classe Triathlon para obter as
informações necessárias para a codificação correta utilizando o conceito de interface.
public interface Triathlon { int IDADEMINIMA = 15; void getIDADEMINIMA(); void aquecer(); } Avalie as
informações apresentadas nos itens I e II e a relação proposta entre elas.
I. int IDADEMINIMA = 15; - Terá o mesmo valor em todos os objetos (Compartilhada / Atributo de classe) e não poderá
sofrer alteração do seu valor.PORQUEII. IDADEMINIMA é static e final.
A respeito dessas afirmativas, assinale a opção correta.
a) A afirmativa I é uma proposição verdadeira e a II é falsa.
b) As afirmativas I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I.
c) As afirmativas I e II são proposições falsas.
d) As afirmativas I e II são proposições verdadeiras e a II é uma justificativa correta da I.
e) A afirmativa I é uma proposição falsa e a II é verdadeira.
Alternativa marcada:
d) As afirmativas I e II são proposições verdadeiras e a II é uma justificativa correta da I.
Justificativa: Resposta correta: As afirmativas I e II são proposições verdadeiras e a II é uma justificativa correta da I.int
IDADEMINIMA = 15; - Terá o mesmo valor em todos os objetos (Compartilhada / Atributo de classe) e não poderá sofrer
alteração do seu valor. Verdadeira. Interface em Java é uma classe abstrata onde todos os seus métodos são abstract e
public e seus atributos são static e final implicitamente.IDADEMINIMA é static e final. Verdadeira. Interface em Java é
uma classe abstrata onde todos os seus métodos são abstract e public e seus atributos são static e final
implicitamente.A afirmativa II é justificativa da I, pois não é preciso usar os modificadores, pois eles são implícitos às
interfaces.
1,50/ 1,50
6 Código: 36641 - Enunciado: Um estudante está desenvolvendo uma aplicação para realização de cálculos físicos, onde
necessita definir o valor do coeficiente de dilatação linear do aço, que é de 11*10-6. Sabendo-se que esse valor é
constante em toda a aplicação.Examine as opções de instruções a seguir e determine aquela que permite que seja
definido um atributo cujo valor seja constante, ou seja, o seu valor, após ser inicializado, não poderá mais ser alterado
durante a execução da aplicação para o coeficiente de dilatação do aço.
a) public const double aco = 0.000011;
b) public abstract double aco = 0.000011;
c) public static double aco = 0.000011;
d) public double aco = 0.000011;
e) public final double aco = 0.000011;
Alternativa marcada:
c) public static double aco = 0.000011;
Justificativa: Resposta correta: public final double aco = 0.000011;.Um atributo é dito final quando o seu valor, após ser
inicializado, não poderá mais ser alterado durante a execução da aplicação, o seu valor será constante.
Distratores:public static double aco = 0.000011;. Incorreta. Um atributo é dito estático quando é compartilhado por
todas as instâncias da classe, ou seja, seu conteúdo é compartilhado por todos os objetos criados.public double aco =
0.000011;. Incorreta. Um atributo sem modificador pode ser alterado durante a execução da aplicação.public abstract
double aco = 0.000011;. Incorreta. Um atributo não pode receber o modificador abstract, que é utilizado apenas com
métodos. Um método abstract é aquele que não implementado em uma classe abstrata ou interface.public const
double aco = 0.000011;. Incorreta. O modificador const não faz parte da linguagem Java.
0,00/ 1,00
7 Código: 36645 - Enunciado: Um desenvolvedor precisa criar uma classe para atender às necessidades de uma
aplicação, utilizando os conceitos de programação orientada a objetos implementada na linguagem Java.Considere os
atributos a seguir para a classe:
ClasseAtributosMétodosViolaoMarca: textoNúmero Cordas: inteiroImprimir (exibe todos os valores dos atributos do
objeto).Cadastrar (recebe todos os valores dos atributos e armazena no objeto).EntradaDados (realiza a entrada de
dados dos atributos do objeto).
1,50/ 1,50
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732100/d64294e6-5eb9-11e8-8a4d-0242ac110036/ 4/9
Construa a classe Violao, definindo os seus atributos e implementando os métodos solicitados.Utilize a boa prática de
programação em Java.
Resposta:
Justificativa: Expectativa de resposta:public class Violao{String marca;int numeroCordas;public void imprimir(){
System.out.println(“Marca:” + marca); System.out.println(“Número Cordas:” + numeroCordas);}public void
entradaDados(){ Scanner ent = new Scanner(System.in); System.out.println(“Marca:”); setMarca(ent.nextLine());
System.out.println(“Número Cordas:” + numeroCordas); setNumeroCordas(Integer.parseInt(ent.nextLine()));}public
void cadastrar(String m, int nc){ setMarca(m); setNumeroCordas(nc);}}
8 Código: 36883 - Enunciado: Você faz parte de uma equipe de projeto que precisa desenvolver uma aplicação para a
indústria de calçados. A aplicação deve ser criada na linguagem Java seguindo os critérios conceituais da programação
orientada a objetos. A equipe é composta por três desenvolvedores, dos quais um deve desenvolver a aplicação, outro a
classe Calcado e você deve desenvolver a classe Sapato.A sua tarefa é desenvolver a classe Sapato, conforme a
modelagem a seguir:
Classe Calcado:Definição dos atributos;Os métodos de acesso dos atributos.Cimco métodos construtores.Métodos:
Imprimir, Cadastrar e EntradaDados. Classe Sapato:• Definição dos atributos.• Os métodos de acesso dos
atributos.• Cinco métodos construtores.• Métodos: Imprimir e Cadastrar. Desenvolva a codificação
na linguagem Java da classe Sapato:Após analisar a situação problema, você deve partir da premissa (certeza) de que a
classe Calcado já se encontra pronta e de acordo com os critérios apresentados anteriormente.A classe Sapato deverá
reaproveitar ao máximo todos os atributos e métodos disponibilizados pela classe Calcado.A classe Sapato deverá
reaproveitar no mínimo um método construtor da classe Calcado.Lembre-se de criar apenas a classe Sapato.Utilize a
boa prática de programação em Java. Cuidado com o tamanho da letra para que caiba no espaço de resposta.
Resposta:
Justificativa: Expectativa de resposta:import java.util.Scanner; public class Sapato extends Calcado{ String cor;
public String getCor() { return cor; } public void setCor(String c) { cor = c; } public Sapato(){ super(); //
Não é obrigatório } public Sapato(String cor) { setCor(cor); } public Sapato(String cor, String tipo) {
super(tipo); // reaproveitamento setCor(cor); } public Sapato(String cor, int tamanho, String tipo) {
super(tamanho, tipo); // reaproveitamento setCor(cor); } public Sapato(String cor, String tipo, int tamanho) {
super(tipo, tamanho); // reaproveitamento setCor(cor); } public void cadastrar(String tipo, int tamanho, String
cor) { super.cadastrar(tipo, tamanho); // reaproveitamento setCor(cor); } @Override // Não é obrigatório
public void imprimir(){ super.imprimir();// reaproveitamento System.out.println("Cor :" + cor); } }
2,50/ 2,50
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732100/d64294e6-5eb9-11e8-8a4d-0242ac110036/ 5/9
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732100/d64294e6-5eb9-11e8-8a4d-0242ac110036/ 6/9
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732100/d64294e6-5eb9-11e8-8a4d-0242ac110036/ 7/9
(https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/23/cf10e8f0-
0e0b-11ea-bc48-0242ac110003.jpg?
Signature=7fHh1DPrq8VRV1h%2BQaKhqM2XNmE%3D&Expires=1575001730&AWSAccessKeyId=AKIAJ5OVDHP63TNWC
https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/23/cf10e8f0-0e0b-11ea-bc48-0242ac110003.jpg?Signature=7fHh1DPrq8VRV1h%2BQaKhqM2XNmE%3D&Expires=1575001730&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3PQ
https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/23/d0c2984c-0e0b-11ea-bc48-0242ac110003.jpg?Signature=rQJJArjyswAlBWY73q903%2BJmsv4%3D&Expires=1575001730&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3PQ
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732100/d64294e6-5eb9-11e8-8a4d-0242ac110036/ 8/9
(https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/23/d0c2984c-
0e0b-11ea-bc48-0242ac110003.jpg?
Signature=rQJJArjyswAlBWY73q903%2BJmsv4%3D&Expires=1575001730&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3P
https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/23/d0c2984c-0e0b-11ea-bc48-0242ac110003.jpg?Signature=rQJJArjyswAlBWY73q903%2BJmsv4%3D&Expires=1575001730&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3PQ
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732100/d64294e6-5eb9-11e8-8a4d-0242ac110036/ 9/9
(https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/23/d25f0078-
0e0b-11ea-bc48-0242ac110003.jpg?
Signature=Jx8w%2BarvQ8BvjEjt%2BJATCH05aAM%3D&Expires=1575001730&AWSAccessKeyId=AKIAJ5OVDHP63TNWC
https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/23/d25f0078-0e0b-11ea-bc48-0242ac110003.jpg?Signature=Jx8w%2BarvQ8BvjEjt%2BJATCH05aAM%3D&Expires=1575001730&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3PQ
Date: Nov.2019
1 Código: 36638 - Enunciado: Um desenvolvedor recebeu como tarefa a criação da classe
Funcionario, que se relaciona hierarquicamente com a classe Pessoa, conforme pode ser
observado na modelagem a seguir:
Determine a opção cujo trecho de código em Java está implementando a classe Funcionario
corretamente:
a) public class Funcionario { }
b) public class Pessoa extends Funcionario { }
c) public classe Funcionário implements Pessoa { }
d) public class Pessoa implements Funcionario { }
e) public class Funcionario extends Pessoa { }
Justification: Resposta correta: public class Funcionario extends Pessoa { }.A figura apresenta a
aplicação do conceito de herança, onde a classe Funcionario herda da classe Pessoa. Na
linguagem Java, a sintaxe para implementar o conceito de herança é: public class <nome da
classe “filha”> extends <nome da classe “pai”> { }Nesse caso, a classe “filha” é Funcionario e a
classe “mãe” é Pessoa.
istratores:public class Funcionario { }. Incorreta. Essa instrução implementa a classe Funcionário
sem o conceito de herança e, como podemos observar na modelagem, a classe Funcionário herda
da classe Pessoa. public class Pessoa extends Funcionario { }. Incorreta. Essa instrução, apesar de
implementar o conceito de herança, faz uma inversão entre as classes Pai e Filha.public class
Pessoa implements Funcionario { }. Incorreta. Essa instrução utiliza o termo implements, que só
deve ser usado para interfaces.public classe Funcionário implements Pessoa { }. Incorreta. Essa
instrução utiliza o termo implements, que só deve ser usado para interfaces.
1.00
2 Código: 36611 - Enunciado: Considere a classe a seguir:class IMC { String nome; double
peso, altura;}Sabe-se que métodos construtores são usados para controlar a criação
(instanciação) do objeto e só executam neste momento e que podem ser sobrecarregados. Sendo
assim, qual é a quantidade máxima de métodos construtores que podemos criar para a classe
IMC?
a) 6.
b) 8.
c) 7.
d) 4.
e) 5.
Justification: Resposta correta: 8.Métodos construtores podem ser sobrecarregados e seguem
a mesma regra da sobrecarga de métodos, os parâmetros são verificados não de acordo com o
identificador, mas sim pela sequência dos tipos (Assinatura). Sendo assim, podemos criar os
0.50
Ilumno
seguintes métodos construtores, totalizando 8 métodos construtores:public IMC() { }public
IMC(String) { }public IMC(double) { }public IMC(String, double) { }public IMC(double, String) {
}public IMC(String, double, double) { }public IMC(double, String, double) { }public IMC(double,
double, String) { }
3 Código: 36872 - Enunciado: urante a implementação de uma classe, o programador decidiu
aplicar o conceito de polimorfismo de sobrecarga. Analise a implementação da classe a seguir
para obter as informações necessárias para a codificação correta do polimorfismo.class PesoIdeal
{ String nome, situacao; int idade; double peso, altura;}
Compare as possíveis soluções de métodos apresentadas nas alternativas e avalie qual apresenta
corretamente a implementação do conceito de polimorfismo de sobrecarga.
a) public void cadastroParcial1(String n, int i) { }public void cadastroParcial2(int i, String n)
{ }public void cadastroParcial3(String n, int i, double p) { }public void cadastroParcial4(String n, int
i, double p, double a) { }
b) public void cadastroParcial(String n, int i) { }public void cadastroParcial(int i, String n) {
}public void cadastroParcial(String n, int i, double p) { }public void cadastroParcial(String n, int i,
double p, double a) { }
c) public void cadastroParcial(String n, int i) { }public void cadastroParcial(String n, double p)
{ }public void cadastroParcial(String n, double p, double a) { }public void cadastroParcial(String n,
double a, double p) { }
d) public void cadastroParcial(double p, double a, int i) { }public void cadastroParcial(double
p, int i, double a) { }public void cadastroParcial(String n, int i, double a) { }public void
cadastroParcial(double a, int i, double p) { }
e) public void cadastroParcial1(double p, double a) { }public void cadastroParcial2(double p,
int i, double a) { }public void cadastroParcial3(String n, int i, double a) { }public void
cadastroParcial4(double a, int i, String n) { }
Justification: Resposta correta:public void cadastroParcial(String n, int i) { }public void
cadastroParcial(int i, String n) { }public void cadastroParcial(String n, int i, double p) { }public void
cadastroParcial(String n, int i, double p, double a) { } Assinaturas: cadastroParcial(String, int) { }
cadastroParcial(int, String) { } cadastroParcial(String, int, double) { } cadastroParcial(String, int,
double, double) { }
Polimorfismo de sobrecarga de métodos é obtida ao se criar mais de um método com o mesmo
nome em uma mesma classe. Para isso, é importanteque esses métodos possuam diferentes
assinaturas de métodos.Sobrecarga de métodos é obtida ao se criar mais de um método com o
mesmo nome em uma mesma classe. Para isso, é importante que esses métodos possuam
diferentes assinaturas de métodos. istratores:public void cadastroParcial1(String n, int i) {
}public void cadastroParcial2(int i, String n) { }public void cadastroParcial3(String n, int i, double
p){ }public void cadastroParcial4(String n, int i, double p, double a) { }
Incorreta. Os métodos não possuem o mesmo nome: cadastroParcial1(), cadastroParcial2(),
cadastroParcial3(), cadastroParcial4(). public void cadastroParcial(String n, int i) { }public void
cadastroParcial(String n, double p) { }public void cadastroParcial(String n, double p, double a) {
}public void cadastroParcial(String n, double a, double p) { } Assinaturas: cadastroParcial(String,
int i) { }cadastroParcial(String, double) { }cadastroParcial(String, double, double) {
}cadastroParcial(String, double, double) { }
Incorreta. Apesar de os métodos possuírem o mesmo nome, as assinaturas não são diferentes. O
terceiro e o quarto método possuem a mesma assinatura. public void cadastroParcial(double p,
double a, int i) { }public void cadastroParcial(double p, int i, double a) { }public void
cadastroParcial(String n, int i, double a) { }public void cadastroParcial(double a, int i, double p) { }
1.50
Ilumno
Incorreta. Apesar de os métodos possuírem o mesmo nome, as assinaturas não são diferentes. O
segundo e o quarto método possuem a mesma assinatura.Assinaturas: cadastroParcial(double,
double, int) { }cadastroParcial(double, int, double) { }cadastroParcial(String, int, double) {
}cadastroParcial(double, int, double) { } public void cadastroParcial1(double p, double a) { }public
void cadastroParcial2(double p, int i, double a) { }public void cadastroParcial3(String n, int i,
double a) { }public void cadastroParcial4(double a, int i, String n) { } Assinaturas:
cadastroParcial1(double, double) { }cadastroParcial2(double, int, double) {
}cadastroParcial3(String, int, double) { }cadastroParcial4(double, int, String) { }
Incorreta. Os métodos não possuem o mesmo nome: cadastroParcial1(), cadastroParcial2(),
cadastroParcial3(), cadastroParcial4().
4 Código: 36874 - Enunciado: urante o desenvolvimento de um projeto, verificou-se a necessidade
de implementar as classes Humano, Homem e Mulher. Então, o programador identificou que não
há por que criarmos objetos Humanos e sim objetos Homens e
Mulheres.Compare as possíveis soluções apresentadas a seguir e avalie qual apresenta a correta
codificação, de forma que a classe Humano sirva para modelar objetos que possuam
características semelhantes, mas que ainda assim tenham comportamento distinto para ações
semelhantes.
a) public abstract Humano {}public class Homem implements Humano {}public class Mulher
implements Humano {}
b) public abstract class Humano {}public class Homem extends Humano {}public class Mulher
extends Humano {}
c) public abstract class Humano {}public abstract Homem extends Humano {}public abstract
Mulher extends Humano {}
d) public class Humano {}public class Homem extends Humano {}public class Mulher extends
Humano {}
e) public interface Humano {}public class Homem extends Humano {}public class Mulher
extends Humano {}
Justification: Resposta correta:public abstract class Humano {}public class Homem extends
Humano {}public class Mulher extends Humano {}
O conceito a ser aplicado é o de classes abstratas. Uma classe abstrata não pode ser instanciada
por meio da palavra chave new com o uso de um construtor seu. As classes Homem e Mulher
devem herdar da classe Humano, por isso foi aplicado o conceito extends. As classes Homem e
Mulher deverão implementar os métodos abstratos definidos na classe Humano.
istratores:public class Humano {}public class Homem extends Humano {}public class Mulher
extends Humano {}
Incorreta. Como a classe Humano não pode ser instanciada, é preciso aplicar o conceito de
classes abstratas e, para isso, utilizamos o termo abstract (antes de class) na definição da classe
humano.
public abstract class Humano {}public abstract Homem extends Humano {}public abstract Mulher
extends Humano {}
Incorreta. Como a classe Humano não pode ser instanciada, é preciso aplicar o conceito de
classes abstratas. As demais classes (Homem e Mulher) devem herdar da classe Humano e, sendo
assim, estas não devem ser definidas como abstract.
public interface Humano {}public class Homem extends Humano {}public class Mulher extends
Humano {}
Incorreta. Como a classe Humano não pode ser instanciada, é preciso aplicar o conceito de
classes abstratas, e não o conceito de interface (uma interface Java é uma classe abstrata onde
todos os seus métodos são abstract e public e seus atributos são static e final implicitamente.
Uma interface é então uma classe completamente abstrata ou classe abstrata pura).
1.50
Ilumno
public abstract Humano {}public class Homem implements Humano {}public class Mulher
implements Humano {} Incorreta. Como a classe Humano não pode ser instanciada, é preciso
aplicar o conceito de classes abstratas, mas a classe Humano não possui o modificador class, para
determinar que a mesma se trata de uma classe. Já nas classes Homem e Mulher foi aplicado o
modificador de interfaces (implements), onde deveria ser aplicado o conceito de herança.
5 Código: 36641 - Enunciado: Um estudante está desenvolvendo uma aplicação para realização de
cálculos físicos, onde necessita definir o valor do coeficiente de dilatação linear do aço, que é de
11*10-6. Sabendo-se que esse valor é constante em toda a aplicação.Examine as opções de
instruções a seguir e determine aquela que permite que seja definido um atributo cujo valor seja
constante, ou seja, o seu valor, após ser inicializado, não poderá mais ser alterado durante a
execução da aplicação para o coeficiente de dilatação do aço.
a) public abstract double aco = 0.000011;
b) public double aco = 0.000011;
c) public const double aco = 0.000011;
d) public static double aco = 0.000011;
e) public final double aco = 0.000011;
Justification: Resposta correta: public final double aco = 0.000011;.Um atributo é dito final
quando o seu valor, após ser inicializado, não poderá mais ser alterado durante a execução da
aplicação, o seu valor será constante.
istratores:public static double aco = 0.000011;. Incorreta. Um atributo é dito estático quando é
compartilhado por todas as instâncias da classe, ou seja, seu conteúdo é compartilhado por todos
os objetos criados.public double aco = 0.000011;. Incorreta. Um atributo sem modificador pode
ser alterado durante a execução da aplicação.public abstract double aco = 0.000011;. Incorreta.
Um atributo não pode receber o modificador abstract, que é utilizado apenas com métodos. Um
método abstract é aquele que não implementado em uma classe abstrata ou interface.public
const double aco = 0.000011;. Incorreta. O modificador const não faz parte da linguagem Java.
1.00
6 Código: 36609 - Enunciado: As linguagens de programação trabalham com três diferentes
métodos de implementação, que são: compilação, interpretação pura e híbrido. Em relação à
linguagem Java, analise as afirmativas a seguir:I. O código é compilado uma vez, gerando o
bytecode, que pode ser interpretado quantas vezes forem necessárias e em qualquer ambiente
java existente.II. O bytecode é dependente do hardware e so�ware (sistema operacional) do
computador onde ocorreu a compilação.III. Atualmente realiza uma compilação just-int-time (no
momento da compilação), com o intuito de aumentar o desempenho.IV. O interpretador java
também é conhecido como JVM (Java Virtual Machine), que nada mais é do que um so�ware que
é capaz de interpretar os bytecodes em um ambiente específico.Está correto o que se afirma em:
a) I e III.
b) II e IV.
c) III e IV.
d) II e III.
e) I e IV.
Justification: Resposta correta: I e IV.O código é compilado uma vez, gerando o bytecode,que pode ser interpretado quantas vezes forem necessárias e em qualquer ambiente java
existente. Verdadeira. Java gera um código intermediário chamado bytecode, que é um
código
0.50
Ilumno
especial de máquina que não leva em consideração um ambiente específico, mas para um
ambiente genérico que independe do ambiente de desenvolvimento.O interpretador java
também é conhecido como JVM (Java Virtual Machine), que nada mais é do que um so�ware que
é capaz de interpretar os bytecodes em um ambiente específico. Verdadeira. É criado um
interpretador Java (JVM) para cada ambiente onde o Java poderá ser executado. Sendo assim,
esse interpretador poderá então executar qualquer aplicação Java desenvolvida para ele. Dessa
forma, temos uma JVM específica para cada ambiente ou dispositivo específico, mas não
podemos esquecer que, uma vez compilado um programa ou aplicação, essa técnica permite que
o programa seja executado em qualquer ambiente.
Distratores:O bytecode é dependente do hardware e so�ware (sistema operacional) do
computador onde ocorreu a compilação. Falsa. O bytecode é uma linguagem de máquina
genérica que o processo de compilação da linguagem Java usa para padronizar as aplicações
Java, independentemente do ambiente onde ocorreu o processo de compilação.Atualmente
realiza uma compilação just-int-time (no momento da compilação), com o intuito de aumentar o
desempenho. Falsa. Uma vez que realiza a compilação just-in-time no momento da execução, na
etapa do interpretador.
7 Código: 36645 - Enunciado: Um desenvolvedor precisa criar uma classe para atender às
necessidades de uma aplicação, utilizando os conceitos de programação orientada a objetos
implementada na linguagem Java.Considere os atributos a seguir para a classe:
ClasseAtributosMétodosViolaoMarca: textoNúmero Cordas: inteiroImprimir (exibe todos os
valores dos atributos do objeto).Cadastrar (recebe todos os valores dos atributos e armazena no
objeto).Entrada ados (realiza a entrada de dados dos atributos do objeto).
Construa a classe Violao, definindo os seus atributos e implementando os métodos
solicitados.Utilize a boa prática de programação em Java.
Justification: Expectativa de resposta:public class Violao{String marca;int numeroCordas;public
void imprimir(){ System.out.println(“Marca:” + marca); System.out.println(“Número Cordas:”
+ numeroCordas);}public void entrada ados(){ Scanner ent = new Scanner(System.in);
System.out.println(“Marca:”); setMarca(ent.nextLine()); System.out.println(“Número
Cordas:” + numeroCordas); setNumeroCordas(Integer.parseInt(ent.nextLine()));}public void
cadastrar(String m, int nc){ setMarca(m); setNumeroCordas(nc);}}
1.50
8 Código: 36882 - Enunciado: No desenvolvimento de um projeto de sistema baseado nos
conceitos de programação orientada a objetos, um desenvolvedor recebeu como tarefa a criação
de uma classe. Sabendo-se que outro desenvolvedor da equipe está criando a classe Veículo, a
sua tarefa é desenvolver a classe Carro, conforme a modelagem a seguir:
Classe Veiculo: efinição dos atributos.Os métodos de acesso dos atributos.Cinco métodos
construtores.Métodos: Imprimir, Cadastrar e Entrada ados. Classe Carro:• efinição dos
atributos.• Os métodos de acesso dos atributos.• Cinco métodos
construtores. esenvolva a codificação na linguagem Java da classe Carro, implementando os
métodos definidos:Após analisar a situação problema, você deve partir da premissa (certeza) de
que a classe Veiculo já se encontra pronta e de acordo com os critérios apresentados
anteriormente.A classe Carro deverá reaproveitar ao máximo todos os atributos e métodos
disponibilizados pela classe Veiculo.Lembre-se de criar apenas a classe Carro.Utilize a boa prática
de programação em Java. Cuidado com o tamanho da letra para que caiba no espaço de
resposta.
Justification: Expectativa de resposta: import java.util.Scanner; public class Carro extends
Veiculo{ String tipo; public String getTipo() { return tipo; } public void setTipo(String t) {
2.50
Ilumno
tipo = t; } public Carro() { super(); // Não é obrigatório } public Carro(String tipo) {
setTipo(tipo); } public Carro(String tipo, String m) { super(m); // reaproveitamento
setTipo(tipo); } public Carro(String tipo, double p, String m) { super(p, m); //
reaproveitamento setTipo(tipo); } public Carro(String tipo, String m, double p) {
super(m, p); // reaproveitamento setTipo(tipo); }}
Ilumno
03/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5875077/7a40e4aa-2e01-11e9-bc3d-0242ac110016/ 1/8
Local: Sala 1 - Sala de Aula / Andar / Polo Madureira / POLO MADUREIRA - RJ
Acadêmico: EAD-IL10328-20203A
Aluno: HIGOR RODRIGUES MARTINS DA CUNHA
Avaliação: A2-
Matrícula: 20191300683
Data: 26 de Setembro de 2020 - 08:00 Finalizado
Correto Incorreto Anulada Discursiva Objetiva Total: 9,50/10,00
1 Código: 37084 - Enunciado: O conhecimento das técnicas de desenvolvimento de sistemas
baseadas no paradigma de programação orientado a objetos é fundamental para o
desenvolvimento de sistemas complexos, facilitando a divisão de tarefas em partes mais simples
e fáceis de desenvolver. Sobre programação orientada a objetos, analise as afirmativas a seguir:I.
A sobrecarga de operadores é um conceito que só ocorre quando utilizamos um mesmo operador
para realizar diferentes tarefas em uma mesma linguagem de programação. II. A sobrecarga de
métodos é obtida ao se criar mais de um método com o mesmo nome em uma mesma classe ou
classes diferentes e, para isso, é importante que esses métodos possuam as mesmas assinaturas
de métodos.III. Métodos construtores podem ser sobrecarregados e seguem as mesmas regras da
sobrecarga de métodos.
Identifique a(s) afirmativa(s) correta(s):
a) II e III.
b) I.
c) I e III.
d) II.
e) III.
Alternativa marcada:
c) I e III.
Justificativa: Resposta correta: I e III.A sobrecarga de operadores é um conceito que só ocorre
quando utilizamos um mesmo operador para realizar diferentes tarefas em uma mesma
linguagem de programação. Verdadeira. Uma vez que o conceito de sobrecarga de operadores
está ligado quando em uma linguagem de programação, utilizamos um mesmo operador para
realizar diferentes tarefas.A sobrecarga de métodos é obtida ao se criar mais de um método com
o mesmo nome em uma mesma classe ou classes diferentes e, para isso, é importante que esses
métodos possuam as mesmas assinaturas de métodos. Verdadeira. Ressaltando que, como os
construtores também são métodos, e em ambos os casos os parâmetros são verificados não de
acordo com o identificador, mas sim pela sequência dos tipos (assinatura).
Distrator:Métodos construtores podem ser sobrecarregados e seguem as mesmas regras da
sobrecarga de métodos. Falsa. Para que haja a sobrecarga de métodos, é necessário que sejam
criados métodos com mesmo nome e na mesma classe ou em classes diferentes, mas com
assinaturas de métodos diferentes.
0,50/ 0,50
2 Código: 36880 - Enunciado: Durante o desenvolvimento de uma aplicação, foram levantados os
dados necessários para a realização de uma simulação de contas bancárias. Sabe-se que uma
conta possui os seguintes atributos: nrConta, diaAbertura, mesAbertura, anoAbertura, situação (0
– inativa e 1 – Ativa), senha e saldo. Para as contas especiais, além desses atributos, também
existe o atributo limiteConta. Já nas contas Poupança, além dos atributos de Contas, também
possui os atributos diaAniversario e mesAniversario. Compare as possíveis soluções
apresentadas a seguir e avalie qual é a correta para atender à implementação das classes.
a) public class Conta { int nrConta, diaAbertura, mesAbertura, anoAbertura, situacao,
senha; double saldo;} public class ContaEspecial extends Conta { double limite_conta;} public
class ContaPoupanca extends Conta { intdiaAniversario, mesAniversario;}
1,50/ 1,50
03/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5875077/7a40e4aa-2e01-11e9-bc3d-0242ac110016/ 2/8
b) public class Conta { int nrConta, diaAbertura, mesAbertura, anoAbertura, situacao,
senha; double saldo;} public class ContaEspecial { double limite_conta;} public class
ContaPoupanca { int diaAniversario, mesAniversario;}
c) public class Conta { int nrConta, diaAbertura,mesAbertura,anoAbertura,situação,senha;
double saldo;} public class ContaEspecial implements Conta { double limite_conta;} public
class ContaPoupanca implements Conta { int diaAniversario, mesAniversario;}
d) public class Conta { int nrConta, diaAbertura,mesAbertura,anoAbertura,situação,senha;
} public class ContaEspecial { double limite_conta, saldo;} public class ContaPoupanca { int
diaAniversario, mesAniversario, saldo;}
e) public class Conta { int nrConta, diaAbertura,mesAbertura,anoAbertura,situação,senha;
double saldo;} public class Conta extends ContaEspecial { double limite_conta;} public class
Conta extends ContaPoupanca { int diaAniversario, mesAniversario;}
Alternativa marcada:
a) public class Conta { int nrConta, diaAbertura, mesAbertura, anoAbertura, situacao, senha;
double saldo;} public class ContaEspecial extends Conta { double limite_conta;} public class
ContaPoupanca extends Conta { int diaAniversario, mesAniversario;}
Justificativa: Resposta correta:public class Conta { int nrConta, diaAbertura, mesAbertura,
anoAbertura, situacao, senha; double saldo;} public class ContaEspecial extends Conta {
double limite_conta;} public class ContaPoupanca extends Conta { int diaAniversario,
mesAniversario;}
Para a resolução do problema, é necessário aplicar o conceito de Herança, uma vez que Conta
Poupança é um tipo de Conta e Conta Especial é um tipo de Conta, e ambas compartilham
atributos comuns com a classe Conta.Para definirmos as subclasses, utilizamos o termo extends
– Sintaxe: class <nome da subclasse> extends <nome da superclasse>
Distratores: public class Conta { int nrConta, diaAbertura, mesAbertura, anoAbertura, situacao,
senha; double saldo;} public class ContaEspecial { double limite_conta;}
Incorreta. O conceito de herança deve ser aplicado, pois tanto a ContaEspecial como a
ContaPoupança necessitam compartilhar os atributos comuns da classe Conta.
public class ContaPoupanca { int diaAniversario, mesAniversario;} Incorreta. A sintaxe do
conceito de herança não foi aplicado corretamente. Sintaxe correta: class <nome da subclasse>
extends <nome da superclasse>. Nesse caso, superclasse é Conta e as subclasses são:
ContaEspecial e ContaPoupanca.
public class Conta { int nrConta, diaAbertura, mesAbertura, anoAbertura, situacao, senha;
double saldo;} public class Conta extends ContaEspecial { double limite_conta;} public class
Conta extends ContaPoupanca { int diaAniversario, mesAniversario;} public class Conta { int
nrConta, diaAbertura, mesAbertura, anoAbertura, situação, senha; } public class ContaEspecial
{ double limite_conta, saldo;} public class ContaPoupanca { int diaAniversario,
mesAniversario, saldo;}
Incorreta. O atributo saldo deve pertencer à classe Conta, uma vez que tanto ContaPoupança
quanto ContaEspecial possuem saldo. public class Conta { int nrConta, diaAbertura,
mesAbertura, anoAbertura, situacao, senha; double saldo;} public class ContaEspecial
implements Conta { double limite_conta;} public class ContaPoupanca implements Conta { int
diaAniversario, mesAniversario;} Incorreta. Para resolver o problema propostom é necessário
aplicarmos o conceito de herança. Ao definirmos as subclasses, utilizamos o termo extends, e
não implements.
3 Código: 36609 - Enunciado: As linguagens de programação trabalham com três diferentes
métodos de implementação, que são: compilação, interpretação pura e híbrido. Em relação à
linguagem Java, analise as afirmativas a seguir:I. O código é compilado uma vez, gerando o
bytecode, que pode ser interpretado quantas vezes forem necessárias e em qualquer ambiente
java existente.II. O bytecode é dependente do hardware e so�ware (sistema operacional) do
computador onde ocorreu a compilação.III. Atualmente realiza uma compilação just-int-time (no
0,50/ 0,50
03/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5875077/7a40e4aa-2e01-11e9-bc3d-0242ac110016/ 3/8
momento da compilação), com o intuito de aumentar o desempenho.IV. O interpretador java
também é conhecido como JVM (Java Virtual Machine), que nada mais é do que um so�ware que
é capaz de interpretar os bytecodes em um ambiente específico.Está correto o que se afirma em:
a) I e III.
b) II e III.
c) III e IV.
d) I e IV.
e) II e IV.
Alternativa marcada:
d) I e IV.
Justificativa: Resposta correta: I e IV.O código é compilado uma vez, gerando o bytecode, que
pode ser interpretado quantas vezes forem necessárias e em qualquer ambiente java
existente. Verdadeira. Java gera um código intermediário chamado bytecode, que é um código
especial de máquina que não leva em consideração um ambiente específico, mas para um
ambiente genérico que independe do ambiente de desenvolvimento.O interpretador java
também é conhecido como JVM (Java Virtual Machine), que nada mais é do que um so�ware que
é capaz de interpretar os bytecodes em um ambiente específico. Verdadeira. É criado um
interpretador Java (JVM) para cada ambiente onde o Java poderá ser executado. Sendo assim,
esse interpretador poderá então executar qualquer aplicação Java desenvolvida para ele. Dessa
forma, temos uma JVM específica para cada ambiente ou dispositivo específico, mas não
podemos esquecer que, uma vez compilado um programa ou aplicação, essa técnica permite
que o programa seja executado em qualquer ambiente.
Distratores:O bytecode é dependente do hardware e so�ware (sistema operacional) do
computador onde ocorreu a compilação. Falsa. O bytecode é uma linguagem de máquina
genérica que o processo de compilação da linguagem Java usa para padronizar as aplicações
Java, independentemente do ambiente onde ocorreu o processo de compilação.Atualmente
realiza uma compilação just-int-time (no momento da compilação), com o intuito de aumentar o
desempenho. Falsa. Uma vez que realiza a compilação just-in-time no momento da execução, na
etapa do interpretador.
4 Código: 37130 - Enunciado: Um desenvolvedor precisa implementar o método entradaDados()
na classe Treinamento, implementada a seguir. Considere que os métodos setters e getters serão
implementados corretamente.
class Treinamento { String nomeAluno; int ano; double nota;// Métodos
setters// Métodos getters}
Compare as possíveis soluções apresentadas a seguir e avalie qual é a correta para atender à
implementação do método entradaDados() da classe, responsável por realizar a entrada de
dados por meio do teclado.
a) public void entradaDados ( ){ Scanner sc = new Scanner(System.in);
System.out.println("Aluno:"); nomeAluno = sc.nextLine(); System.out.println("Ano:"); ano =
Double.parseDouble(sc.nextLine()); System.out.println("Nota:"); nota =
Double.parseDouble(sc.nextLine());}
b) public void entradaDados ( ){ Scanner sc = new Scanner(System.in);
System.out.println("Aluno:"); nomeAluno = sc.nextLine(); System.out.println("Ano:"); ano =
Integer.parseInt(sc.nextLine()); System.out.println("Nota:"); nota =
Double.parseDouble(sc.nextLine());}
c) public void entradaDados ( ){ Scanner sc = new Scanner(System.in);
System.out.println("Aluno:"); nomeAluno = nextLine(); System.out.println("Ano:"); ano =
Integer.parseInt(nextLine()); System.out.println("Nota:"); nota =
Double.parseDouble(nextLine());}
1,50/ 1,50
03/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5875077/7a40e4aa-2e01-11e9-bc3d-0242ac110016/ 4/8
d) publicvoid entradaDados (){ Scanner sc = new Scanner(System.in);
System.out.println("Aluno:"); nomeAluno = sc.nextLine(); System.out.println("Ano:"); ano =
Integer.parseInt(sc.nextLine()); System.out.println("Nota:"); nota =
Integer.parseInt(sc.nextLine());}
e) public void entradaDados ( ){ Scanner sc = new Scanner(System.in);
System.out.println("Aluno:"); nomeAluno = sc.nextLine(); System.out.println("Ano:"); ano =
sc.nextLine(); System.out.println("Nota:"); nota = sc.nextLine();}
Alternativa marcada:
b) public void entradaDados ( ){ Scanner sc = new Scanner(System.in);
System.out.println("Aluno:"); nomeAluno = sc.nextLine(); System.out.println("Ano:"); ano =
Integer.parseInt(sc.nextLine()); System.out.println("Nota:"); nota =
Double.parseDouble(sc.nextLine());}
Justificativa: Resposta correta: public void entradaDados ( ){ Scanner sc = new
Scanner(System.in); System.out.println("Aluno:"); nomeAluno = sc.nextLine();
System.out.println("Ano:"); ano = Integer.parseInt(sc.nextLine()); System.out.println("Nota:");
nota = Double.parseDouble(sc.nextLine());} Como os atributos ano e Nota não são String,
precisamos realizar a conversão de dados, utilizando Integer.parseInt() para o ano, uma vez que
ano é do tipo inteiro e Double.parseDouble() para a nota, uma vez que nota não é inteiro, sendo
um tipo real (double). Distratores: public void entradaDados ( ){ Scanner sc = new
Scanner(System.in); System.out.println("Aluno:"); nomeAluno = nextLine();
System.out.println("Ano:"); ano = Integer.parseInt(nextLine()); System.out.println("Nota:"); nota
= Double.parseDouble(nextLine());}
Incorreta. Faltou identificar o objeto que executará o método nextLine(). Neste caso o objeto sc:
(sc.nexLine()). public void entradaDados ( ){ Scanner sc = new Scanner(System.in);
System.out.println("Aluno:"); nomeAluno = sc.nextLine(); System.out.println("Ano:"); ano =
Double.parseDouble(sc.nextLine()); System.out.println("Nota:"); nota =
Double.parseDouble(sc.nextLine());} Incorreta. O atributo ano é do tipo int. Sendo assim,
devemos utilizar a entrada da seguinte forma: Integer.parseInt(sc.nextLine()), ao invés de
Double.parseDouble(sc.nextLine()), que é para entrada de valores reais. public void
entradaDados ( ){ Scanner sc = new Scanner(System.in); System.out.println("Aluno:");
nomeAluno = sc.nextLine(); System.out.println("Ano:"); ano = sc.nextLine();
System.out.println("Nota:"); nota = sc.nextLine();} Incorreta. Como os atributos ano e nota não
são do tipo String, há necessidade de convertê-los para os seus respectivos tipos de dados
apropriados, utilizando Integer.parseInt() e Double.parseDouble() respectivamente. public void
entradaDados (){ Scanner sc = new Scanner(System.in); System.out.println("Aluno:");
nomeAluno = sc.nextLine(); System.out.println("Ano:"); ano = Integer.parseInt(sc.nextLine());
System.out.println("Nota:"); nota = Integer.parseInt(sc.nextLine());} Como os atributos ano e
Nota não são String, precisamos realizar a conversão de dados, utilizando Integer.parseInt() para
o ano, uma vez que ano é do tipo inteiro e Double.parseDouble() para a nota, uma vez que nota
não é inteiro, sendo um tipo real (double). No caso, ambos os atributos foram tratados como
inteiros, o que está errado.
5 Código: 36640 - Enunciado: Durante o desenvolvimento de uma aplicação, notou-se a
necessidade de restringir o acesso do atributo cpf, de forma que somente suas subclasses
possam acessá-lo. A figura a seguir representa a hierarquia das classes que foram implementadas
no mesmo pacote.
Examine as opções a seguir, determinando aquela que apresenta corretamente a definição do
membro cpf que atenda ao requisito descrito anteriormente.
a) private int cpf;
b) pakage int cpf;
c) protected int cpf;
1,00/ 1,00
03/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5875077/7a40e4aa-2e01-11e9-bc3d-0242ac110016/ 5/8
d) public int cpf;
e) int cpf;
Alternativa marcada:
c) protected int cpf;
Justificativa: Resposta correta: protected int cpf;.Para se definir que um atributo possa ser
acessado por subclasses da classe onde foi declarado, devemos utilizar o conceito de
Encapsulamento protected.
Distratores:public int cpf;. Incorreta. Métodos ou atributos public são sempre acessíveis por todos
os métodos de quaisquer outras classes. É o nível menos rígido de proteção no
Encapsulamento.int cpf;. Incorreta. Omissão (pakage ou padrão). A classe, método ou atributo é
acessível somente por métodos das classes que pertencem ao mesmo pacote (pakage).pakage
int cpf;. Incorreta. O uso de pakage não é permitido na linguagem Java, a definição de
Encapsulamento por pacote não requer modificador.private int cpf;. Incorreta. Os métodos e
atributos private, são acessíveis somente por membros da própria classe.
6 Código: 36642 - Enunciado: Um desenvolvedor precisa criar uma aplicação financeira para uso
com a conversão de valores entre reais e dólares. Sabe-se que o valor do dólar deve ser alterado
durante a execução da aplicação, mas de forma que, ao se atualizar esse valor por meio de um
objeto, todos os demais sejam atualizados conjuntamente. Para isso, é necessário definir o
atributo como compartilhado.Examine as opções de instruções a seguir e determine aquela que
permite que seja definido um atributo cujo valor seja compartilhado, ou seja, ao ser atualizado o
seu valor, todos os demais objetos criados a partir da classe na aplicação serão atualizados.
a) public const double dolar = 4.125;
b) public final double dolar = 4.125;
c) public abstract double dolar = 4.125;
d) public double dolar = 4.125;
e) public static double dolar = 4.125;
Alternativa marcada:
e) public static double dolar = 4.125;
Justificativa: Resposta correta: public static double dolar = 4.125;.Um atributo é dito estático
quando é compartilhado por todas as instâncias da classe, ou seja, seu conteúdo é
compartilhado por todos os objetos criados e, quando um objeto realiza uma alteração, o valor é
atualizado em todos os demais.
Distratores:public final double dolar = 4.125;. Incorreta. Um atributo é dito final quando o seu
valor, após ser inicializado, não pode mais ser alterado durante a execução da aplicação, o seu
valor será constante.public double dolar = 4.125;. Incorreta. Um atributo sem modificador pode
ser alterado durante a execução da aplicação.public abstract double dolar = 4.125;. Incorreta. Um
atributo não pode receber o modificador abstract, que é utilizado apenas com métodos. Um
método abstract é aquele que não é implementado em uma classe abstrata ou interface.public
const double dolar = 4.125;. Incorreta. O modificador const não faz parte da linguagem Java.
1,00/ 1,00
7 Código: 36645 - Enunciado: Um desenvolvedor precisa criar uma classe para atender às
necessidades de uma aplicação, utilizando os conceitos de programação orientada a objetos
implementada na linguagem Java.Considere os atributos a seguir para a classe:
ClasseAtributosMétodosViolaoMarca: textoNúmero Cordas: inteiroImprimir (exibe todos os
valores dos atributos do objeto).Cadastrar (recebe todos os valores dos atributos e armazena no
objeto).EntradaDados (realiza a entrada de dados dos atributos do objeto).
1,50/ 1,50
03/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5875077/7a40e4aa-2e01-11e9-bc3d-0242ac110016/ 6/8
Construa a classe Violao, definindo os seus atributos e implementando os métodos
solicitados.Utilize a boa prática de programação em Java.
Resposta:
public class Violao {
String marca;
int numeroCordas;
public void imprimir() {
System.out.println("Marca:" + marca);
System.out.println("Numero Cordas:" + numeroCordas);
}
public void entradaDados(){
Scanner ent = new Scanner(System.in);
System.out.println("marca");
setMarca(ent.nextLine());
System.out.println("Numero Cordas:" + numeroCordas);
setNumeroCordas(Integer.parseInt(ent.nextLine()));
}
public void cadastrar(String m, int nc){
setMarca(m);setNumeroCordas(nc);
}
}
Justificativa: Expectativa de resposta:public class Violao{String marca;int numeroCordas;public
void imprimir(){ System.out.println(“Marca:” + marca); System.out.println(“Número
Cordas:” + numeroCordas);}public void entradaDados(){ Scanner ent = new
Scanner(System.in); System.out.println(“Marca:”); setMarca(ent.nextLine());
System.out.println(“Número Cordas:” + numeroCordas);
setNumeroCordas(Integer.parseInt(ent.nextLine()));}public void cadastrar(String m, int nc){
setMarca(m); setNumeroCordas(nc);}}
8 Código: 36882 - Enunciado: No desenvolvimento de um projeto de sistema baseado nos
conceitos de programação orientada a objetos, um desenvolvedor recebeu como tarefa a criação
de uma classe. Sabendo-se que outro desenvolvedor da equipe está criando a classe Veículo, a
sua tarefa é desenvolver a classe Carro, conforme a modelagem a seguir:
Classe Veiculo:Definição dos atributos.Os métodos de acesso dos atributos.Cinco métodos
construtores.Métodos: Imprimir, Cadastrar e EntradaDados. Classe Carro:• Definição dos
atributos.• Os métodos de acesso dos atributos.• Cinco métodos
construtores. Desenvolva a codificação na linguagem Java da classe Carro, implementando os
métodos definidos:Após analisar a situação problema, você deve partir da premissa (certeza) de
que a classe Veiculo já se encontra pronta e de acordo com os critérios apresentados
anteriormente.A classe Carro deverá reaproveitar ao máximo todos os atributos e métodos
disponibilizados pela classe Veiculo.Lembre-se de criar apenas a classe Carro.Utilize a boa
prática de programação em Java. Cuidado com o tamanho da letra para que caiba no espaço de
resposta.
Resposta:
2,00/ 2,50
03/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5875077/7a40e4aa-2e01-11e9-bc3d-0242ac110016/ 7/8
import java.util.Scanner;
public class Carro extends Veiculo {
String tipo;
public String getTipo(){
return tipo;
}
public void setTipo(String t){
tipo = t;
}
public Carro(String tipo) {
super()
setTipo(tipo);
}
public Carro(String tipo, String m) {
super(m);
setTipo(tipo);
}
public Carro(String tipo, double p, String m){
super(p,m);
setTipo(tipo);
}
public Carro(String tipo, String m, double p){
super(m,p);
setTipo(tipo);
}
}
Comentários: Faltou um construtor!
Justificativa: Expectativa de resposta: import java.util.Scanner; public class Carro extends
Veiculo{ String tipo; public String getTipo() { return tipo; } public void setTipo(String t) {
tipo = t; } public Carro() { super(); // Não é obrigatório } public Carro(String tipo) {
setTipo(tipo); } public Carro(String tipo, String m) { super(m); // reaproveitamento
setTipo(tipo); } public Carro(String tipo, double p, String m) { super(p, m); //
reaproveitamento setTipo(tipo); } public Carro(String tipo, String m, double p) {
super(m, p); // reaproveitamento setTipo(tipo); }}
03/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5875077/7a40e4aa-2e01-11e9-bc3d-0242ac110016/ 8/8
1. O conhecimento das técnicas de desenvolvimento de sistemas baseadas no paradigma de
programação orientado a objetos é fundamental para o desenvolvimento de sistemas complexos,
facilitando a divisão de tarefas em partes mais simples e fáceis de desenvolver. Sobre programação
orientada a objetos, analise as afirmativas a seguir:
I. A sobrecarga de operadores é um conceito que só ocorre quando utilizamos um mesmo operador para
realizar diferentes tarefas em diferentes partes de um programa.
II. A sobrecarga de métodos é obtida ao se criar mais de um método com o mesmo nome em uma mesma classe
ou classes diferentes e, para isso, é importante que esses métodos possuam as mesmas assinaturas de
métodos.
III. Métodos construtores podem ser sobrecarregados e seguem as mesmas regras da sobrecarga de métodos.
• Resposta correta:
I e III.
A sobrecarga de operadores é um conceito que só ocorre quando utilizamos um mesmo operador para
realizar diferentes tarefas em diferentes partes de um programa. Verdadeira. Uma vez que o conceito de
sobrecarga de operadores está ligado quando em uma linguagem de programação, utilizamos um
mesmo operador para realizar diferentes tarefas.
A sobrecarga de métodos é obtida ao se criar mais de um método com o mesmo nome em uma mesma
classe ou classes diferentes e, para isso, é importante que esses métodos possuam as mesmas assinaturas
de métodos. Verdadeira. Ressaltando que, como os construtores também são métodos, e em ambos os
casos os parâmetros são verificados não de acordo com o identificador, mas sim pela sequência dos
tipos (assinatura).
2. Durante o desenvolvimento de uma aplicação, foram levantados os dados necessários para a
realização de uma simulação de contas bancárias. Sabe-se que uma conta possui os seguintes
atributos: nrConta, diaAbertura, mesAbertura, anoAbertura, situação (0 – inativa e 1 – Ativa), senha
e saldo. Para as contas especiais, além desses atributos, também existe o atributo limiteConta. Já
nas contas Poupança, além dos atributos de Contas, também possui os atributos diaAniversario e
mesAniversario.
Compare as possíveis soluções apresentadas a seguir e avalie qual é a correta para atender à
implementação das classes.
• Resposta correta:
E) public class Conta {
int nrConta, diaAbertura, mesAbertura, anoAbertura, situacao, senha;
double saldo;
}
public class ContaEspecial extends Conta {
double limite_conta;
}
public class ContaPoupanca extends Conta {
int diaAniversario, mesAniversario;
}
Para a resolução do problema, é necessário aplicar o conceito de Herança, uma vez que Conta Poupança
é um tipo de Conta e Conta Especial é um tipo de Conta, e ambas compartilham atributos comuns com
a classe Conta.
Para definirmos as subclasses, utilizamos o termo extends – Sintaxe: class extends.
3. "A interface é muito utilizada em grandes projetos para obrigar o programador a seguir o padrão do
projeto, por esta tratar-se de um contrato em que é obrigado a implementar seus métodos, ele
deverá sempre seguir o padrão de implementação da interface."
(Disponível em: https://www.devmedia.com.br/java-interface-aprenda-a-usar-corretamente/28798. Acesso em:
26 out. 2019.)
Em relação aos conceitos de interfaces Java, analise as seguintes afirmativas:
I. Uma interface é uma classe totalmente abstrata e seus métodos devem ser abstract e private.
II. Em uma interface os seus atributos devem ser static e final.
III. Uma classe é restrita a implementar uma única interface.
Identifique a(s) afirmativa(s) correta(s):
• Resposta correta:
II.
Em uma interface os seus atributos devem ser static e final. Verdadeiro. Em uma interface todos os
atributos definidos são implicitamente static e final, não sendo necessário que sejam formalmente
modificados.
4. Um desenvolvedor recebeu como tarefa a criação da classe Funcionario, que se relaciona
hierarquicamente com a classe Pessoa, conforme pode ser observado na modelagem a seguir:
Determine a opção cujo trecho de código em Java está implementando a classe Funcionario
corretamente:
A) public class Pessoa extends Funcionario { }
B) public class Funcionario extends Pessoa { }
C) public classe Funcionário implements Pessoa { }
D) public class Pessoa implements Funcionario { }
E) public class Funcionario { }
• Resposta correta:
B) public class Funcionario extends Pessoa { }.
https://www.devmedia.com.br/java-interface-aprenda-a-usar-corretamente/28798
A figura apresenta a aplicação do conceito de herança, onde a classe Funcionario herda da classe
Pessoa. Na linguagem Java, a sintaxe para implementar o conceito de herança é:
public classextends { }
Nesse caso, a classe “filha” é Funcionario e a classe “mãe” é Pessoa.
5. Um desenvolvedor precisa implementar o método entradaDados() na classe Treinamento,
implementada a seguir. Considere que os métodos setters e getters serão implementados
corretamente.
class Treinamento {
String nomeAluno;
int ano;
double nota;
// Métodos setters
// Métodos getters
}
Compare as possíveis soluções apresentadas a seguir e avalie qual é a correta para atender à
implementação do método entradaDados() da classe, responsável por realizar a entrada de dados por meio
do teclado.
• Resposta correta:
public void entradaDados ( ){
Scanner sc = new Scanner(System.in);
System.out.println("Aluno:");
nomeAluno = sc.nextLine();
System.out.println("Ano:");
ano = Integer.parseInt(sc.nextLine());
System.out.println("Nota:");
nota = Double.parseDouble(sc.nextLine());
}
Como os atributos ano e Nota não são String, precisamos realizar a conversão de dados, utilizando
Integer.parseInt() e Double.parseDouble() respectivamente.
6. Um desenvolvedor precisa criar uma aplicação financeira para uso com a conversão de valores entre
reais e dólares. Sabe-se que o valor do dólar deve ser alterado durante a execução da aplicação, mas
de forma que, ao se atualizar esse valor por meio de um objeto, todos os demais sejam atualizados
conjuntamente. Para isso, é necessário definir o atributo como compartilhado.
Examine as opções de instruções a seguir e determine aquela que permite que seja definido um atributo
cujo valor seja compartilhado, ou seja, ao ser atualizado o seu valor, todos os demais objetos criados a
partir da classe na aplicação serão atualizados.
A) public const double dolar = 4.125;
B) public abstract double dolar = 4.125;
C) public final double dolar = 4.125;
D) public static double dolar = 4.125;
E) public double dolar = 4.125;
• Resposta correta:
public static double dolar = 4.125;.
Um atributo é dito estático quando é compartilhado por todas as instâncias da classe, ou seja, seu
conteúdo é compartilhado por todos os objetos criados e, quando um objeto realiza uma alteração,
o valor é atualizado em todos os demais.
7. No desenvolvimento de um projeto de sistema baseado nos conceitos de programação orientada a
objetos, um desenvolvedor recebeu como tarefa a criação de uma classe. Sabendo-se que outro
desenvolvedor da equipe está criando a classe Veículo, a sua tarefa é desenvolver a classe Carro,
conforme a modelagem a seguir:
Classe Veiculo:
• Definição dos atributos.
• Os métodos de acesso dos atributos.
• Cinco métodos construtores.
• Métodos: Imprimir, Cadastrar e
EntradaDados.
Classe Carro:
• Definição dos atributos.
• Os métodos de acesso dos atributos.
• Cinco métodos construtores.
Desenvolva a codificação na linguagem Java da classe Carro, implementando os métodos definidos:
Após analisar a situação problema, você deve partir da premissa (certeza) de que a classe Veiculo já se
encontra pronta e de acordo com os critérios apresentados anteriormente.
A classe Carro deverá reaproveitar ao máximo todos os atributos e métodos disponibilizados pela classe
Veiculo.
Lembre-se de criar apenas a classe Carro.
Utilize a boa prática de programação em Java. Cuidado com o tamanho da letra para que caiba no espaço de
resposta.
• Expectativa de resposta:
import java.util.Scanner;
public class Carro extends Veiculo{
String tipo;
public String getTipo() {
return tipo;
}
public void setTipo(String t) {
tipo = t;
}
public Carro() {
super(); // Não é obrigatório
}
public Carro(String tipo) {
setTipo(tipo);
}
public Carro(String tipo, String m) {
super(m); // reaproveitamento
setTipo(tipo);
}
public Carro(String tipo, double p, String m) {
super(p, m); // reaproveitamento
setTipo(tipo);
}
public Carro(String tipo, String m, double p) {
super(m, p); // reaproveitamento
setTipo(tipo);
}
}
8. Um desenvolvedor precisa criar uma classe para atender às necessidades de uma aplicação,
utilizando os conceitos de programação orientada a objetos implementada na linguagem Java.
Considere os atributos a seguir para a classe:
Classe Atributos Métodos
Violao
Marca: texto
Número Cordas: inteiro
Imprimir (exibe todos os
valores dos atributos do
objeto).
Cadastrar (recebe todos os
valores dos atributos e
armazena no objeto).
EntradaDados (realiza a
entrada de dados dos atributos
do objeto).
Construa a classe Violao, definindo os seus atributos e implementando os métodos solicitados.
Utilize a boa prática de programação em Java.
• Justificativa: Expectativa de resposta:
public class Violao{
String marca;int numeroCordas;
public void imprimir(){
System.out.println(“Marca:” + marca);
System.out.println(“Número Cordas:” + numeroCordas);
}
public void entradaDados()
{
Scanner ent = new Scanner(System.in);
System.out.println(“Marca:”);
setMarca(ent.nextLine());
System.out.println(“Número Cordas:” + numeroCordas);
setNumeroCordas(Integer.parseInt(ent.nextLine()));
}
public void cadastrar(String m, int nc)
{ setMarca(m);
setNumeroCordas(nc);
}
}
12/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5877061/a419a10a-200e-11e9-9894-0242ac11003c/ 1/6
Local: Sala 1 - Sala de Aula / Andar / Polo Nova Iguaçu / POLO NOVA IGUAÇU - RJ
Acadêmico: EAD-IL10328-20203A
Aluno: ALEX PEREIRA DE PERFEITO
Avaliação: A2-
Matrícula: 20191300199
Data: 26 de Setembro de 2020 - 08:00 Finalizado
Correto Incorreto Anulada Discursiva Objetiva Total: 8,00/10,00
1 Código: 36610 - Enunciado: "Um identificador é um 'nome' que permite nos dirigirmos
especificamente a uma das entidades próprias da linguagem, ou seja, são os nomes que
podemos dar aos nossos/as variáveis, métodos, classes, interfaces e objetos."(Disponível em:
https://www.devmedia.com.br/introducao-a-linguagem-java/3150. Acesso em: 14 out. 2019).
Analise os identificadores a seguir:I. nota_A1II. notaA1III. publicIV. 3notasV. $notas
Aponte os identificadores válidos para a linguagem Java:
a) I, II e V.
b) II e V.
c) I e II.
d) III e IV.
e) I, IV e V.
Alternativa marcada:
a) I, II e V.
Justificativa: Resposta correta: I, II e V.nota_A1. Correta. Os identificadores só podem começar
por: uma letra (maiúscula ou minúscula), um símbolo de: $ ou um símbolo de: _
(underscore).notaA1. Correta. Os identificadores só podem começar por: uma letra (maiúscula ou
minúscula), um símbolo de: $ ou um símbolo de: _ (underscore).$notas. Correta. Os
identificadores só podem começar por: uma letra (maiúscula ou minúscula), um símbolo de: $ ou
um símbolo de: _ (underscore).
Distratores:public. Errada. Os identificadores não podem ser palavras reservadas da
linguagem.3notas. Errada. Os identificadores não podem começar com letras.
0,50/ 0,50
2 Código: 36639 - Enunciado: Para o desenvolvimento de um projeto de sistema orientado a
objetos na linguagem Java, considere o trecho de código a seguir:
public class Pessoa { }public class Funcionario extends Pessoa { }public class Supervisor extends
Funcionario { }
Examine as opções apresentadas e determine a correta:
a) A classe Pessoa é subclasse direta da classe Supervisor.
b) A classe Funcionario é superclasse direta de Supervisor.
c) A classe Supervisor é superclasse direta de Funcionario e de Pessoa.
d) A classe Supervisor é subclasse direta de Pessoa.
e) A classe Supervisor é subclasse direta tanto de Pessoa como de Funcionario.
Alternativa marcada:
d) A classe Supervisor é subclasse diretade Pessoa.
Justificativa: Resposta correta: A classe Funcionario é superclasse direta de Supervisor.A classe
Supervisor herda diretamente da classe Funcionário, ou seja, a classe Funcionario é superclasse
direta de Supervisor.
Distratores:A classe Pessoa é subclasse direta da classe Supervisor. Incorreta. A classe Pessoa é
superclasse direta de Funcionario.A classe Supervisor é superclasse direta de Funcionario e de
Pessoa. Incorreta. A classe Pessoa que é a superclasse de Funcionario, que é superclasse de
Supervisor.A classe Supervisor é subclasse direta de Pessoa. Incorreta. A classe Supervisor é
0,00/ 1,00
12/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5877061/a419a10a-200e-11e9-9894-0242ac11003c/ 2/6
subclasse direta de Funcionario.A classe Supervisor é subclasse direta tanto de Pessoa, como de
Funcionario. Incorreta. A classe Supervisor é subclasse direta de Funcionário. Já a classe
Funcionario é subclasse direta de Pessoa.
3 Código: 36949 - Enunciado: Durante o desenvolvimento de uma aplicação em Java, constatou-
se a necessidade de se criar um vetor em Java para armazenar as notas dos 30 alunos da
turma. Assinale a alternativa que implementa corretamente a criação do vetor, cujo nome é
notas.
a) notas = new double[30];
b) double notas;
c) double notas[30];
d) double = new notas[30];
e) double notas[] = new double[30];
Alternativa marcada:
a) notas = new double[30];
Justificativa: Resposta correta: double notas[] = new double[30];.Para declararmos um vetor em
Java, podemos utilizar a sintaxe a seguir: <tipo> <nome>[] = new <tipo>
[<num_elementos>]; Distratores:double notas[] = {2.5, 10.0, 6.0}. Incorreta. Criou um vetor notas e
já inicializou-o com três notas.double = new notas[30];. Incorreta. Faltou o nome do vetor e o seu
tamanho é definido com o seu tipo de dados.notas = new double[30];. Incorreta. Faltou definir o
tipo de dados antes do nome do vetor.double notas;. Incorreta. Está declarando uma variável
chamada notas do tipo double.
0,00/ 1,00
4 Código: 37084 - Enunciado: O conhecimento das técnicas de desenvolvimento de sistemas
baseadas no paradigma de programação orientado a objetos é fundamental para o
desenvolvimento de sistemas complexos, facilitando a divisão de tarefas em partes mais simples
e fáceis de desenvolver. Sobre programação orientada a objetos, analise as afirmativas a seguir:I.
A sobrecarga de operadores é um conceito que só ocorre quando utilizamos um mesmo operador
para realizar diferentes tarefas em uma mesma linguagem de programação. II. A sobrecarga de
métodos é obtida ao se criar mais de um método com o mesmo nome em uma mesma classe ou
classes diferentes e, para isso, é importante que esses métodos possuam as mesmas assinaturas
de métodos.III. Métodos construtores podem ser sobrecarregados e seguem as mesmas regras da
sobrecarga de métodos.
Identifique a(s) afirmativa(s) correta(s):
a) III.
b) II.
c) I.
d) I e III.
e) II e III.
Alternativa marcada:
d) I e III.
Justificativa: Resposta correta: I e III.A sobrecarga de operadores é um conceito que só ocorre
quando utilizamos um mesmo operador para realizar diferentes tarefas em uma mesma
linguagem de programação. Verdadeira. Uma vez que o conceito de sobrecarga de operadores
está ligado quando em uma linguagem de programação, utilizamos um mesmo operador para
realizar diferentes tarefas.A sobrecarga de métodos é obtida ao se criar mais de um método com
o mesmo nome em uma mesma classe ou classes diferentes e, para isso, é importante que esses
métodos possuam as mesmas assinaturas de métodos. Verdadeira. Ressaltando que, como os
construtores também são métodos, e em ambos os casos os parâmetros são verificados não de
0,50/ 0,50
12/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5877061/a419a10a-200e-11e9-9894-0242ac11003c/ 3/6
acordo com o identificador, mas sim pela sequência dos tipos (assinatura).
Distrator:Métodos construtores podem ser sobrecarregados e seguem as mesmas regras da
sobrecarga de métodos. Falsa. Para que haja a sobrecarga de métodos, é necessário que sejam
criados métodos com mesmo nome e na mesma classe ou em classes diferentes, mas com
assinaturas de métodos diferentes.
5 Código: 36871 - Enunciado: Um desenvolvedor Java precisa implementar os métodos de acesso
da classe Usuário, que possui os seguintes atributos: nomeUsuário, nomeLogin e senha (todos
do tipo String).Compare as possíveis soluções apresentadas a seguir e avalie qual é a correta para
atender à implementação do método que permite realizar a atribuição e o armazenamento na
memória da propriedade nomeLogin. Lembrando que o nomeLogin só será atribuído se o texto
passado como parâmetro não estiver vazio.
a) public void setNomeLogin(String n) { if(!n.isEmpty()) { nomeLogin = n; } else {
System.out.println("valor inválido, não foi atribuído"); }}
b) public String setNomeLogin(String n) { if(!n.isEmpty()) { nomeLogin = n; } else
{ System.out.println("valor inválido, não foi atribuído"); }}
c) public void setNomeLogin(String n) { nomeLogin = n;}
d) public void getNomeLogin(String n) { if(!n.isEmpty()) { nomeLogin = n; } else
{ System.out.println("valor inválido, não foi atribuído"); }}
e) public void setNomeLogin(n) { if(n.isEmpty()) { nomeLogin = n; } else {
System.out.println("valor inválido, não foi atribuído"); }}
Alternativa marcada:
a) public void setNomeLogin(String n) { if(!n.isEmpty()) { nomeLogin = n; } else {
System.out.println("valor inválido, não foi atribuído"); }}
Justificativa: Resposta correta: public void setNomeLogin(String n) { if(!n.isEmpty()) {
nomeLogin = n; } else {
System.out.println("valor inválido, não foi atribuído"); }}
O método de acesso usado para realizar a atribuição e o armazenamento na memória de uma
propriedade do objeto é o Setter. Esses métodos são sempre do tipo void, pois não retornam
valores.Como existe a restrição de que o atributo não pode ser um texto vazio, é necessário
verificar se o parâmetro que o método recebe é vazio – por meio do método isEmpty().isEmpty() –
Retorna true se for vazio.Como não queremos que seja um texto vazio, usamos o operador de
negação (!). Distratores:public void setNomeLogin(String n) { nomeLogin = n;}Incorreta.
Apesar de utilizar o método de acesso Setter, não valida se o parâmetro n está vazio. public void
getNomeLogin(String n) { if(!n.isEmpty()) { nomeLogin = n;
} else { System.out.println("valor inválido, não foi atribuído");
}}Incorreta. O método de acesso Getter é responsável por recuperar da memória os valores
atribuídos às propriedades do objeto. Exemplo de utilização do método Getter
corretamente:public String getNomeLogin() { return nomeLogin;} (Erro: public String .....
Correto public void ….)public String setNomeLogin(String n) { if(!n.isEmpty()) {
nomeLogin = n; } else {
System.out.println("valor inválido, não foi atribuído"); }}
Incorreta. O método de acesso Setter não retorna nada. São sempre do tipo void.
public void setNomeLogin(n) { if(n.isEmpty()) { nomeLogin = n;
} else { System.out.println("valor inválido, não foi atribuído");}}Incorreta. São encontrados dois erros no método acima:1) Precisamos definir o tipo de
dados do parâmetro de entrada: public void setNomeLogin (String n)2) A condição da estrutura
condicional está verificando se o parâmetro está vazio e, caso afirmativo, vai armazenar nulo no
atributo nomeLogin. Ficou faltando o operador de negação (!) antes de n --- if( !n.isEmpty()).
1,50/ 1,50
6 1,50/ 1,50
12/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5877061/a419a10a-200e-11e9-9894-0242ac11003c/ 4/6
Código: 36876 - Enunciado: Durante o desenvolvimento de um projeto, verificou-se a
necessidade de implementar o conceito de Interface na classe Triathlon. Nesse projeto, além da
classe Triathlon, também são implementadas três modalidades de esportes diferentes: Nadar,
Correr e Ciclista.Analise a implementação da classe Triathlon para obter as informações
necessárias para a codificação correta utilizando o conceito de interface.
public interface Triathlon { int IDADEMINIMA = 15; void getIDADEMINIMA(); void
aquecer(); } Avalie as informações apresentadas nos itens I e II e a relação proposta entre elas.
I. int IDADEMINIMA = 15; - Terá o mesmo valor em todos os objetos (Compartilhada / Atributo de
classe) e não poderá sofrer alteração do seu valor.PORQUEII. IDADEMINIMA é static e final.
A respeito dessas afirmativas, assinale a opção correta.
a) As afirmativas I e II são proposições verdadeiras e a II é uma justificativa correta da I.
b) A afirmativa I é uma proposição verdadeira e a II é falsa.
c) As afirmativas I e II são proposições falsas.
d) A afirmativa I é uma proposição falsa e a II é verdadeira.
e) As afirmativas I e II são proposições verdadeiras, mas a II não é uma justificativa correta
da I.
Alternativa marcada:
a) As afirmativas I e II são proposições verdadeiras e a II é uma justificativa correta da I.
Justificativa: Resposta correta: As afirmativas I e II são proposições verdadeiras e a II é uma
justificativa correta da I.int IDADEMINIMA = 15; - Terá o mesmo valor em todos os objetos
(Compartilhada / Atributo de classe) e não poderá sofrer alteração do seu valor. Verdadeira.
Interface em Java é uma classe abstrata onde todos os seus métodos são abstract e public e seus
atributos são static e final implicitamente.IDADEMINIMA é static e final. Verdadeira. Interface em
Java é uma classe abstrata onde todos os seus métodos são abstract e public e seus atributos são
static e final implicitamente.A afirmativa II é justificativa da I, pois não é preciso usar os
modificadores, pois eles são implícitos às interfaces.
7 Código: 36951 - Enunciado: Na programação orientada a objetos o polimorfismo permite que
tenhamos diferentes formas de realizar uma tarefa. Explique o conceito de polimorfismo de
sobrecarga de métodos.
Resposta:
Polimorfismo de sobrecarga de métodos consciste em utilizar mais de um método com o mesmo
nome dentro de uma mesma classe com argumentos diferentes.
Justificativa: Expectativa de resposta:A sobrecarga de métodos é obtida ao se criar mais de um
método com o mesmo nome em uma mesma classe. Para isso, é importante que esses métodos
possuam diferentes assinaturas de métodos.
1,50/ 1,50
8 Código: 36883 - Enunciado: Você faz parte de uma equipe de projeto que precisa desenvolver
uma aplicação para a indústria de calçados. A aplicação deve ser criada na linguagem Java
seguindo os critérios conceituais da programação orientada a objetos. A equipe é composta por
três desenvolvedores, dos quais um deve desenvolver a aplicação, outro a classe Calcado e você
deve desenvolver a classe Sapato.A sua tarefa é desenvolver a classe Sapato, conforme a
modelagem a seguir:
Classe Calcado:Definição dos atributos;Os métodos de acesso dos atributos.Cimco métodos
construtores.Métodos: Imprimir, Cadastrar e EntradaDados. Classe Sapato:• Definição dos
atributos.• Os métodos de acesso dos atributos.• Cinco métodos construtores.•
Métodos: Imprimir e Cadastrar. Desenvolva a codificação na linguagem Java da classe
Sapato:Após analisar a situação problema, você deve partir da premissa (certeza) de que a classe
Calcado já se encontra pronta e de acordo com os critérios apresentados anteriormente.A classe
Sapato deverá reaproveitar ao máximo todos os atributos e métodos disponibilizados pela classe
2,50/ 2,50
12/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5877061/a419a10a-200e-11e9-9894-0242ac11003c/ 5/6
Calcado.A classe Sapato deverá reaproveitar no mínimo um método construtor da classe
Calcado.Lembre-se de criar apenas a classe Sapato.Utilize a boa prática de programação em
Java. Cuidado com o tamanho da letra para que caiba no espaço de resposta.
Resposta:
import java.util.Scanner;
public class Sapato extends Calcado {
String cor;
public String getCor() {
return cor;
}
public void setCor(String c) {
cor=c;
}
public Sapato() {
super();
public Sapato(String cor) {
setCor(cor)
}
public Sapato(String cor, int tamanho, String tipo) {
super(tamanho, tipo);
setCor(cor);
}
public Sapato(String cor, String tipo, int tamanho) {
super(tipo, tamanho);
setCor(cor);
}
public void cadastrar(String tipo, int tamanho, String cor) {
super.cadastrar(tipo, tamanho);
setCor(cor);
}
@Override
public void imprimir() {
super.imprimir();
System.out.println("Cor: " + cor);
}
}
Justificativa: Expectativa de resposta:import java.util.Scanner; public class Sapato extends
Calcado{ String cor; public String getCor() { return cor; } public void setCor(String c) {
cor = c; } public Sapato() { super(); // Não é obrigatório } public Sapato(String cor) {
12/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5877061/a419a10a-200e-11e9-9894-0242ac11003c/ 6/6
setCor(cor); } public Sapato(String cor, String tipo) { super(tipo); // reaproveitamento
setCor(cor); } public Sapato(String cor, int tamanho, String tipo) { super(tamanho, tipo); //
reaproveitamento setCor(cor); } public Sapato(String cor, String tipo, int tamanho) {
super(tipo, tamanho); // reaproveitamento setCor(cor); } public void cadastrar(String tipo,
int tamanho, String cor) { super.cadastrar(tipo, tamanho); // reaproveitamento
setCor(cor); } @Override // Não é obrigatório public void imprimir(){ super.imprimir();//
reaproveitamento System.out.println("Cor :" + cor); } }
25/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2444317/a95d9096-94ee-11e8-a84c-0242ac110039/ 1/9
Local: A300 - Presencial - Bloco A - 3º andar / Andar / Polo Tijuca / POLO UVA TIJUCA
Acadêmico: EAD-IL10316-20193A
Aluno: NATALIA PACHECO DE MORAES
Avaliação: A2-
Matrícula: 20183301735
Data: 31 de Agosto de 2019 - 14:30 Finalizado
Correto Incorreto Anulada Discursiva Objetiva Total: 7,50/10,00
1 Código: 35466 - Enunciado: Durante o processo da construção de um site, o cliente solicitou ao desenvolvedor
para que ele inserisse uma imagem (cujo nome é textura.jpg) como fundo da página. Para atender o cliente, o
desenvolvedor deve alterar a tag <body> para:
a) <body bgcolor = “textura.jpg”>.
b) <body bgimg = “textura.jpg”>
c) <body background = “textura.jpg”>.
d) <body img = “textura.jpg” backgroung>.
e) <body img = “textura.jpg”>.
Alternativa marcada:
c) <body background = “textura.jpg”>.
Justificativa: Resposta correta:<body background = “textura.jpg”>. Para definirmos uma imagem de fundo de
página, utilizamos o parâmetro background.
Distratores:<body img = “textura.jpg”>. Errada. Não existe o parâmetro img na tag body (<body>).<body bgimg =
“textura.jpg”>. Errada. Não existe o parâmetro bgimg na tag body (<body>).<body bgcolor = “textura.jpg”>. Errada.
O parâmetrobgcolor é usado para definir a cor de fundo.<body img = “textura.jpg” backgroung>. Errada. Não
existe o parâmetro img na tag body (<body>).
1,00/ 1,00
2 Código: 35450 - Enunciado: Na programação em JavaScript, podemos trabalhar com eventos que são
relacionados aos componentes de um formulário, por exemplo. Vários desses eventos podem ser relacionados a
um mesmo componente, que, dependendo da interação do usuário, irá realizar uma diferente ação. Diante do
exposto, quando detectamos, por meio do código de programação, que ocorreu uma mudança de um componente
para outro e desejamos verificar se o componente anterior, que perdeu o foco, foi preenchido corretamente ou não
foi preenchido, devemos utilizar o evento:
a) onBlur.
b) onClick.
c) onInput.
d) onFocus.
e) onChange.
Alternativa marcada:
d) onFocus.
Justificativa: Resposta correta:onBlur. Esse evento ocorre quando um elemento deixa de estar em foco e perde o
foco para outro componente, sendo o evento correto para o caso.
Distratores:onInput. Errada. Esse evento ocorre quando um elemento do tipo input tem seu valor
modificado.onClick. Errada. Esse evento ocorre quando é realizado um clique com o mouse sobre o
componente.onFocus. Errada. Esse evento ocorre quando um elemento ganha o foco e passa a ser o elemento de
interface do usuário.onChange. Errada. Esse evento ocorre quando um input, select ou textarea tem seu valor
alterado pelo usuário.
0,00/ 0,50
3 Código: 35945 - Enunciado: Um desenvolvedor precisa validar o ano de nascimento de um usuário (que é
numérico) e, para isso, precisa identificar se o usuário digitou corretamente o ano no campo “data” do formulário.
Para tanto, será necessário criar uma função em JavaScript para realizar essa validação.Para obter as informações
necessárias para a codificação correta da função, observe o código do formulário a seguir, levando em
consideração os seguintes aspectos:a) A função deve apresentar uma mensagem do tipo alerta contendo o texto
“Ano Numérico”, caso o dado seja numérico, ou “Ano Não Numérico!”, caso o dado não seja numérico. b) Será
necessário separar o dia, o mês e o ano obtidos no campo “data”, e lembre-se: para essa separação, será
necessário subdividir o campo de texto, que se comporta como um vetor de caracteres. c) O uso correto da função:
isNaN(). <p>Preencha sua data de nascimento:</p> <form name="formData" method="post"> Digite a data
de nascimento: <input type="text" name="data">(Ex.:25/12/2001) <button
1,50/ 1,50
25/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2444317/a95d9096-94ee-11e8-a84c-0242ac110039/ 2/9
onclick="analisarData()">Verificar</button> </form>
Diante do exposto, avalie qual das soluções apresenta a correta codificação da função JavaScript, capaz de
atender aos requisitos da aplicação.
a) function analisarData() { var data = document.formData.data.value; var dia = data.substr(1,2); var
mes = data.substr(4,2); var ano = data.substr(7,4); if(isNaN(ano)==false) { alert("Ano Numérico!"); } else
{ alert("Ano Não Numérico!"); } }
b) function analisarData() { var data = document.formData.data.value; var dia = data.substr(0,2); var
mes = data.substr(3,2); var ano = data.substr(6,4); if(isNaN(ano)==true) { alert("Ano Numérico!"); } else
{ alert("Ano Não Numérico!"); } }
c) function analisarData() { var data = document.post.data.value; var dia = data.substr(1,2); var mes =
data.substr(4,2); var ano = data.substr(7,4); if(isNaN(ano)==false) { alert("Ano Numérico!"); } else {
alert("Ano Não Numérico!"); } }
d) function analisarData() { var data = document.formData.data.value; var dia = data.substr(1,2); var
mes = data.substr(4,2); var ano = data.substr(7,4); if(isNaN(ano)==true) { alert("Ano Numérico!"); } else
{ alert("Ano Não Numérico!"); } }
e) function analisarData() { var data = document.formData.data.value; var dia = data.substr(0,2); var
mes = data.substr(3,2); var ano = data.substr(6,4); if(isNaN(ano)==false) { alert("Ano Numérico!"); } else
{ alert("Ano Não Numérico!"); } }
Alternativa marcada:
e) function analisarData() { var data = document.formData.data.value; var dia = data.substr(0,2); var mes =
data.substr(3,2); var ano = data.substr(6,4); if(isNaN(ano)==false) { alert("Ano Numérico!"); } else {
alert("Ano Não Numérico!"); } }
Justificativa: Resposta correta:function analisarData() { var data = document.formData.data.value; var dia =
data.substr(0,2); var mes = data.substr(3,2); var ano = data.substr(6,4); if(isNaN(ano)==false) { alert("Ano
Numérico!"); } else { alert("Ano Não Numérico!"); } }A função isNaN quer dizer “is Not a Number”, o que
retorna verdadeiro se NÃO é um número, portanto, para ser um número, devemos comparar com o valor false para
verificar se o valor é um número, conforme pode ser visto nessa opção.
Distratores:function analisarData() { var data = document.formData.data.value; var dia = data.substr(0,2);
var mes = data.substr(3,2); var ano = data.substr(6,4); if(isNaN(ano)==true) { alert("Ano Numérico!"); }
else { alert("Ano Não Numérico!"); } }
Errada. Essa função busca corretamente o valor do ano, uma vez que a String se inicia da posição zero, mas verifica
se a função isNaN() é comparada a true, o que indica que o valor não é um número.
function analisarData() { var data = document.formData.data.value; var dia = data.substr(1,2); var mes =
data.substr(4,2); var ano = data.substr(7,4); if(isNaN(ano)==true) { alert("Ano Numérico!"); } else {
alert("Ano Não Numérico!"); } }Errada. Essa função não busca corretamente o valor do ano, uma vez que a
String se inicia da posição zero, e a função começa pela posição um, o que não permitirá a busca pelo valor correto
do ano. A função ainda verifica se a função isNaN() é comparada a true, o que indica que o valor não é um número.
function analisarData() { var data = document.formData.data.value; var dia = data.substr(1,2); var mes =
data.substr(4,2); var ano = data.substr(7,4); if(isNaN(ano)==false) { alert("Ano Numérico!"); } else {
alert("Ano Não Numérico!"); } }Errada. Essa função não busca corretamente o valor do ano, uma vez que a
String se inicia da posição zero, e a função começa pela posição um, o que não permitirá a busca pelo valor correto
do ano. A função ainda verifica corretamente ao se comparar a função isNaN() com false, o que indica que o valor é
um número.
function analisarData() { var data = document.post.data.value; var dia = data.substr(1,2); var mes =
data.substr(4,2); var ano = data.substr(7,4); if(isNaN(ano)==false) { alert("Ano Numérico!"); } else {
alert("Ano Não Numérico!"); } }Errada. Essa função não busca corretamente o valor da data, porque utiliza para
identificar o formulário o método post, e não o nome do formulário, que é “formData”; além disso, o valor do ano
não é obtido corretamente, uma vez que a String se inicia da posição zero, e a função começa pela posição um, o
que não permitirá a busca pelo valor correto do ano. A função ainda verifica corretamente ao se comparar a função
isNaN() com false, o que indica que o valor é um número.
4 Código: 35949 - Enunciado: O desenvolvimento de uma aplicação web precisa identificar a data do sistema (e
recuperar) e, a partir do uso correto das funções de data, apresentar a hora, os minutos, o dia do mês e o número
do mês, conforme o padrão: HH:MM - DD/MM.Para isso, devemos criar uma variável para armazenar a data do
sistema, como realizado pelo código:vardataHoje = new Date();Será necessário utilizar em conjunto algumas das
funções para uso com datas em JavaScript apresentadas a seguir:Funções:
getDate(): retorna o dia do mês de 1 a 31getDay(): retorna o dia da semana de 0 a 6getMonth(): retorna o mês de 0 a
11getYear(): retorna o ano a partir do ano de 1900 getHours(): retorna a hora de 0 a 23getMinutes(): retorna os
minutos de 0 a 59getSeconds(): retorna os segundos de 0 a 59 Observe o exemplo a seguir, com a apresentação da
variável data, conforme o padrão solicitado, que pode ser visualizada em uma mensagem de alerta.
1,50/ 1,50
25/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2444317/a95d9096-94ee-11e8-a84c-0242ac110039/ 3/9
Diante do exposto, escolha a alternativa que apresenta o código capaz de armazenar a data de acordo com as
necessidades requeridas pela aplicação.
a) var data = dataHoje.getHours() + ":" + dataHoje.getMinutes() + " - " + dataHoje.getDay() + "/" +
(dataHoje.getMonth()+1);
b) var data = dataHoje.getHours() + ":" + dataHoje.getMinutes() + " - " + dataHoje.getDate() + "/" +
(dataHoje.getMonth()+1);
c) var data = dataHoje.getHours() + ":" + dataHoje.getMinutes() + " - " + dataHoje.getDate() + "/" +
dataHoje.getMonth();
d) var data = dataHoje.getDate() + "/" + dataHoje.getMonth() + " - " + dataHoje.getHours() + ":" +
dataHoje.getMinutes();
e) var data = dataHoje.getHours() + ":" + dataHoje.getMinutes() + " - " + dataHoje.getDay() + "/" +
dataHoje.getMonth();
Alternativa marcada:
b) var data = dataHoje.getHours() + ":" + dataHoje.getMinutes() + " - " + dataHoje.getDate() + "/" +
(dataHoje.getMonth()+1);
Justificativa: Resposta correta:var data = dataHoje.getHours() + ":" + dataHoje.getMinutes() + " - " +
dataHoje.getDate() + "/" + (dataHoje.getMonth()+1);Essa instrução JS monta corretamente a data e o horário,
conforme a apresentação solicitada, incluindo inicialmente o horário e depois a data. A função ainda usa
corretamente o método getDate() para retornar o dia do mês, e não o método getDay(), que retorna o dia da
semana. Também é somado 1 (um) ao mês: uma vez que o mês retorna valores começando de 0 (zero), o número
do mês corrente deve ter o seu valor acrescido de 1 (um).
Distratores: var data = dataHoje.getHours() + ":" + dataHoje.getMinutes() + " - " + dataHoje.getDay() + "/" +
dataHoje.getMonth(); Errada. Essa instrução JS monta incorretamente, porque, apesar de apresentar primeiro o
horário e depois a data, a função utiliza o método getDay(), que retorna o dia da semana, e não o método
getDate(), que retorna o dia do mês. A função ainda apresenta incorretamente o mês, uma vez que deve ser
somado 1 (um) ao mês, já que a função getMonth() retorna valores começando de 0 (zero).var data =
dataHoje.getHours() + ":" + dataHoje.getMinutes() + " - " + dataHoje.getDay() + "/" +
(dataHoje.getMonth()+1); Errada. Essa instrução JS monta incorretamente, porque, apesar de apresentar primeiro
o horário e depois a data, a função utiliza o método getDay(), que retorna o dia da semana, e não o método
getDate(), que retorna o dia do mês. No entanto, a função apresenta corretamente o mês, uma vez que deve ser
somado 1 (um) ao mês, já que a função getMonth() retorna valores começando de 0 (zero).var data =
dataHoje.getDate() + "/" + dataHoje.getMonth() + " - " + dataHoje.getHours() + ":" + dataHoje.getMinutes(); Errada.
Essa instrução JS monta incorretamente, porque apresenta primeiro a data e depois o horário. A função usa
corretamente o método getDate() para retornar o dia do mês, e não o método getDay(), que retorna o dia da
semana. A função ainda apresenta incorretamente o mês, uma vez que deve ser somado 1 (um) ao mês, já que a
função getMonth() retorna valores começando de 0 (zero).var data = dataHoje.getHours() + ":" +
dataHoje.getMinutes() + " - " + dataHoje.getDate() + "/" + dataHoje.getMonth(); Errada. Essa instrução JS monta
corretamente a data e o horário, conforme a apresentação solicitada, incluindo inicialmente o horário e depois a
data. A função ainda usa corretamente o método getDate() para retornar o dia do mês, e não o método getDay(),
que retorna o dia da semana. Já quanto à apresentação do mês, a função apresenta o valor incorreto, uma vez que
deve ser somado 1 (um) ao mês, já que a função getMonth() retorna valores começando de 0 (zero).
5 Código: 35449 - Enunciado: Na programação em JavaScript, temos uma série de funções predefinidas que
podemos utilizar diretamente em nossos códigos. No contexto dos métodos disponibilizados pela linguagem
JavaScript, identifique qual deles é responsável por realizar o cálculo de um número elevado a outro.
a) Math.sin().
b) Math.round().
c) Math.pow().
d) Math.floor().
e) Math.sqrt().
Alternativa marcada:
c) Math.pow().
Justificativa: Resposta correta:Math.pow(). Essa função é responsável por calcular um número elevado a outro.
Exemplo: Math.pow(x, y), em que x será elevado a y.
Distratores:Math.sin(). Errada. Essa função é responsável por calcular o seno de um ângulo.Math.sqrt(). Errada.
Essa função é responsável por calcular a raiz quadrada de um número. Math.round(). Errada. Essa função é
0,50/ 0,50
25/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2444317/a95d9096-94ee-11e8-a84c-0242ac110039/ 4/9
responsável por arredondar um número para o valor inteiro. Math.floor(). Errada. Essa função é responsável por
arredondar um número para o menor valor inteiro.
6 Código: 35468 - Enunciado: Durante a elaboração de um formulário para uma pesquisa voltada para o
levantamento das preferências de clientes, que será disponibilizado na web, observou-se a necessidade de
identificar a faixa etária do cliente. Entre as opções a seguir, determine qual trecho do formulário, em HTML,
atenderá melhor à captura da informação desejada.
a) Faixa Etária: <br>
<input type = "radio" name = "faixa" value="Menos de 20 anos"> </input>
<input type = "radio" name = "faixa" value="Entre 21 e 40 anos”> </input>
<input type = "radio" name = "faixa" value=" Acima de 40"> </input>
.....
</form>
b) <form name = "pesquisa">Faixa Etária: <input type = "radio" name = "op1" value="faixa"> Menos de 20
anos </input> <input type = "radio" name = "op2" value="faixa"> Entre 21 e 40 anos </input> <input type =
"radio" name = "op3" value="faixa"> Acima de 40 </input> .....</form>
c) <form name = "pesquisa">Faixa Etária: <br> <input type = "checkbox" name = "faixa" value="op1"> Menos
de 20 anos </input> <br> <input type = "checkbox" name = "faixa" value="op2"> Entre 21 e 40 anos </input> <br>
<input type = "checkbox" name = "faixa" value="op3"> Acima de 40 </input> <br> .....</form>
d) <form name = "pesquisa">
Faixa Etária: <br>
<input type = "radio" name = "faixa" value="op1"> Menos de 20 anos </input>
<input type = "radio" name = "faixa" value="op2"> Entre 21 e 40 anos </input>
<input type = "radio" name = "faixa" value="op3"> Acima de 40 </input>
.....
</form>
e) <form name = "pesquisa">Faixa Etária: <br> <input type = "checkbox" name = "op1" value="faixa"> Menos
de 20 anos </input> <br> <input type = "checkbox" name = "op2" value="faixa"> Entre 21 e 40 anos </input> <br>
<input type = "checkbox" name = "op3" value="faixa"> Acima de 40 </input> <br> .....</form>
Alternativa marcada:
d) <form name = "pesquisa">
Faixa Etária: <br>
<input type = "radio" name = "faixa" value="op1"> Menos de 20 anos </input>
<input type = "radio" name = "faixa" value="op2"> Entre 21 e 40 anos </input>
<input type = "radio" name = "faixa" value="op3"> Acima de 40 </input>
.....
</form>
Justificativa: Resposta correta:<form name = "pesquisa">
Faixa Etária: <br>
<input type = "radio" name = "faixa" value="op1"> Menos de 20 anos </input>
<input type = "radio" name = "faixa" value="op2"> Entre 21 e 40 anos </input>
<input type = "radio" name = "faixa" value="op3"> Acima de 40 </input>
.....
</form>Uma vez que o objetivoé identificar a qual faixa etária o cliente pertence, o tipo de componente
apropriado é o radio, e a propriedade name de cada componente deve ter o mesmo identificador para que, entre
as várias opções, apenas uma possa ser selecionada.
Distratores:Faixa Etária: <br>
<input type = "radio" name = "faixa" value="Menos de 20 anos"> </input>
<input type = "radio" name = "faixa" value="Entre 21 e 40 anos”> </input>
<input type = "radio" name = "faixa" value=" Acima de 40"> </input>
.....
</form>Errada. Apesar de ter usado corretamente o componente radio, o parâmetro value tem como papel
determinar o valor que será associado ao nome do campo (name) quando do envio dos dados, e não o conteúdo a
ser apresentado ao usuário. Sendo assim, o controle não apresentará o texto das opções (exemplo: "Menos de 20
anos") ao usuário.
1,00/ 1,00
25/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2444317/a95d9096-94ee-11e8-a84c-0242ac110039/ 5/9
<form name = "pesquisa">Faixa Etária: <input type = "radio" name = "op1" value="faixa"> Menos de 20 anos
</input> <input type = "radio" name = "op2" value="faixa"> Entre 21 e 40 anos </input> <input type = "radio"
name = "op3" value="faixa"> Acima de 40 </input> .....</form>Errada. Apesar de ter utilizado o controle radio, a
propriedade name tem que possuir o mesmo identificador para um mesmo conjunto de opções; caso contrário, os
botões de radio não ficarão agrupados, permitindo ao usuário a escolha de mais de uma opção, o que está errado.
Já a propriedade value deverá ter nomes diferentes. O parâmetro value tem como papel determinar o valor que
será associado ao nome do campo (name) quando do envio dos dados.
<form name = "pesquisa">Faixa Etária: <br> <input type = "checkbox" name = "op1" value="faixa"> Menos de 20
anos </input> <br> <input type = "checkbox" name = "op2" value="faixa"> Entre 21 e 40 anos </input> <br>
<input type = "checkbox" name = "op3" value="faixa"> Acima de 40 </input> <br> .....</form>Errada. Uma vez
que o objetivo é identificar a qual faixa etária o cliente pertence, o tipo de controle apropriado é o radio, uma vez
que, entre várias opções, só poderá selecionar uma. O componente checkbox deve ser utilizado apenas em
situações de do tipo "sim" ou "não", uma vez que é adequado apenas para confirmação ou não de um atributo.
Para o uso de componentes do tipo checkbox, como eles não são agrupados, a propriedade name de cada
componente deve ter nomes diferentes, conforme apresentado nessa opção.
<form name = "pesquisa">Faixa Etária: <br> <input type = "checkbox" name = "faixa" value="op1"> Menos de 20
anos </input> <br> <input type = "checkbox" name = "faixa" value="op2"> Entre 21 e 40 anos </input> <br>
<input type = "checkbox" name = "faixa" value="op3"> Acima de 40 </input> <br> .....</form>Errada. Uma vez
que o objetivo é identificar a qual faixa etária o cliente pertence, o tipo de controle apropriado é o radio, uma vez
que, entre várias opções, só poderá selecionar uma. O componente checkbox deve ser utilizado apenas em
situações de do tipo "sim" ou "não", uma vez que é adequado apenas para confirmação ou não de um atributo.
Para o uso de componentes do tipo checkbox, como eles não são agrupados, a propriedade name de cada
componente deve ter nomes diferentes, e não iguais, como nessa opção.
7 Código: 35451 - Enunciado: Observe a seguinte página de conteúdo:
Tendo como base a codificação de tags HTML para a criação de páginas de conteúdo, monte a sequência para criar
o mesmo resultado da página de conteúdo apresentada, incluindo o título.
Resposta:
Justificativa: Expectativa de resposta:<html> <head> <title>Minha Prova</title> </head><body> <h2> Nível 2
de cabeçalho.</h2> <p><strong>Parágrafo com Texto de em negrito.</strong></p></body></html>
Observação: pode-se usar <b> e </b> para o negrito do parágrafo.
1,50/ 1,50
8 Código: 35653 - Enunciado:
Escreva o código necessário, em HTML, para criar a página conforme a imagem acima, considerando o seguinte
critério:Ao clicar na profissão Cientista de Dados, deverá abrir o site:
https://www.sas.com/pt_br/insights/analytics/cientistas-de-dados.html.
Resposta:
Comentários: Lista e link não criados.
Justificativa: Expectativa de resposta:<html lang="pt-br"><head><meta content="text/html; charset="utf-8">
<title>Prova HTML</title></head><body> <h1> Algumas profissões na área de TI </h1><hr><ol> <li> <a href =
"https://www.sas.com/pt_br/insights/analytics/cientistas-de-dados.html"> Cientista de Dados </a> </li> <li>
Desenvolvedor Web </li> <li> Desenvolvedor Mobile </li> </ol></body></html>
O aluno deverá aplicar as tags: <h1>, <hr>, <ol> e <a href>.
0,50/ 2,50
25/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2444317/a95d9096-94ee-11e8-a84c-0242ac110039/ 6/9
25/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2444317/a95d9096-94ee-11e8-a84c-0242ac110039/ 7/9
25/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2444317/a95d9096-94ee-11e8-a84c-0242ac110039/ 8/9
(https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/08/31/207b0782-
cc28-11e9-aab4-0242ac110007.jpg?
Signature=ggRAZteoUexVkougmlVUEzlrImM%3D&Expires=1574736606&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3
https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/08/31/207b0782-cc28-11e9-aab4-0242ac110007.jpg?Signature=ggRAZteoUexVkougmlVUEzlrImM%3D&Expires=1574736606&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3PQ
https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/08/31/2240df42-cc28-11e9-aab4-0242ac110007.jpg?Signature=Fyo3KdG6KQwkxPtHfquuniuI8OY%3D&Expires=1574736606&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3PQ
25/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2444317/a95d9096-94ee-11e8-a84c-0242ac110039/ 9/9
(https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/08/31/2240df42-
cc28-11e9-aab4-0242ac110007.jpg?
Signature=Fyo3KdG6KQwkxPtHfquuniuI8OY%3D&Expires=1574736606&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3
https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/08/31/2240df42-cc28-11e9-aab4-0242ac110007.jpg?Signature=Fyo3KdG6KQwkxPtHfquuniuI8OY%3D&Expires=1574736606&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3PQ