Buscar

Atividade Estrutura de dados 4

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

Pergunta 1
Resposta Selecionada: 
Resposta Correta: 
Feedback
da
resposta:
A inserção de um elemento em uma árvore binária de busca pode ser implementada por meio de um
método recursivo. Este é aquele que tem uma chamada para o próprio método dentro da sua
definição. Para que o algoritmo não execute indefinidamente, é necessário que seja inserida uma
condição de parada. 
Veja o trecho de código a seguir para inserção de um nó em uma árvore binária de busca. 
 
Fonte: Elaborada pela autora, 2019. 
Com base no código anterior, assinale a alternativa que contém o comando que deve ser inserido
como cláusula condicional do comando if (em destaque no código), para que o algoritmo tenha uma
condição de parada.
. 
.
Isso mesmo, resposta correta! Como a posição correta do elemento corresponde à
posição do nó atual, é preciso confirmar se a posição está vazia, ou seja, se não tem
outro nó a ocupando, para que o elemento seja inserido.
Pergunta 2
Resposta Selecionada:
 
Resposta Correta:
 
Feedback
da
resposta:
Imagine que você foi contratado para implementar um aplicativo que testa os conhecimentos da
disciplina de Estrutura de Dados no ENEM. Para isso, você modelou uma classe
“ EstruturaDadosEnem”, que contém os seguintes atributos: uma string contendo o texto da pergunta,
um inteiro correspondente à área do conhecimento e um vetor de cinco strings para armazenar as
opções de resposta e dicas de estudo. Como o objetivo é, ao final, indicar para os alunos quais as
áreas de estudo que ele tem que se dedicar mais, você decidiu que a estrutura de dados mais propícia
seria uma árvore. 
Considerando essas informações, assinale a alternativa a seguir que contém a implementação de uma
classe “EstruturaDadosEnem”, conforme descrito, para ser inserida em uma árvore.
. 
.
Isso mesmo, sua resposta está correta! A definição de um nó de uma árvore é realizada
pela criação de uma classe denominada “EstruturaDadosEnem”. No contexto
apresentado, no escopo desta classe, devem ser declarados como atributos os dados
que armazenam informações sobre ela: pergunta, área e opções de resposta. O atributo
pergunta deve ser declarado como do tipo string, a área deve ser um inteiro (definido
pelo tipo primitivo int) e precisa haver um vetor do tipo string que corresponde às opções
de resposta ( String []).
0,25 em 0,25 pontos
0,25 em 0,25 pontos
Pergunta 3
Resposta Selecionada: 
Resposta Correta: 
Feedback
da
resposta:
A árvore é um tipo abstrato de dados em que cada um dos elementos que detém a informação
armazenada é denominado “nó”. Os nós são ligados entre si por meio de arestas. Quando isto ocorre,
dizemos que o nó possui filhos e estes, por sua vez, podem ter outros filhos ou não. Quando o nó não
tem nós filhos, ele é denominado “nó folha”. Além disso, dependendo do escopo do sistema, temos
que criar um tipo específico para armazenar determinada informação.
Assim, com base em nossos estudos, qual é a palavra-chave que deve ser utilizada para iniciar um
tipo abstrato de dados que corresponde a um nó da árvore na linguagem Java?
. Class.
.Class.
Isso mesmo, sua resposta está correta! Em um nó de uma árvore, além da informação a
ser armazenada, são declaradas as referências para os nós filhos por meio de atributos.
Para definir esse conjunto de informações em um único elemento, deve-se criar uma
classe Java. Para isso, precisamos iniciar sua definição com a palavra-chave “ class”,
seguida do nome da classe.
Pergunta 4
Resposta Selecionada: 
Resposta Correta: 
Feedback
da
resposta:
A declaração de uma classe para armazenar a informação de um nó na árvore foi realizada na classe
“Produto”, conforme vemos na figura na sequência. 
 
Fonte: Elaborada pela autora, 2019. 
As informações, nesse caso, são o nome do produto e um código numérico. A partir dessa definição,
dentro da classe “NoProduto”, foi declarado um objeto que contém as informações e outras duas
referências para outros elementos: para as subárvores da esquerda e da direita. 
Sendo assim, assinale a alternativa que contém a linha de código para declarar um nó de uma árvore
de produtos de um uma loja de departamentos.
.NoProduto noProd = new NoProduto();.
.NoProduto noProd = new NoProduto();.
Isso mesmo, sua resposta está correta! Foi solicitada a criação de um objeto do tipo
“NoProduto”. Assim, nesse caso, o tipo “NoProduto” deve ser utilizado dos dois lados da
igualdade. Temos, então, “NoProduto noProd = new NoProduto();”.
Pergunta 5
Uma estrutura de dados do tipo árvore é formada por uma série de elementos ou nós que são ligados
entre si por meio de arestas. O processo de construção de uma árvore começa pela definição do nó
raiz e pela inserção dos nós filhos das subárvores da esquerda e da direita. Considere, por exemplo, o
nó formado pelo nome das áreas da Ciência da Computação, que são derivadas da disciplina de
Estrutura de Dados: Laboratório de Programação I e Análise de Algoritmos. 
0,25 em 0,25 pontos
0,25 em 0,25 pontos
0,25 em 0,25 pontos
Resposta Selecionada:
 
Resposta Correta:
 
Feedback
da
resposta:
 
Fonte: Elaborada pela autora, 2019. 
Agora, considere o trecho de código a seguir. Veja que ele representa a criação de uma árvore binária,
cuja informação é armazenada em uma classe “NoDisciplina”, em um atributo do tipo string. 
 
Fonte: Elaborada pela autora, 2019. 
Sendo assim, assinale a alternativa a seguir que realiza a inserção dos filhos da esquerda e da direita,
conforme apresentado no esquema da subárvore.
. 
. 
Muito bem, sua resposta está de acordo! Para os nós filhos da esquerda e da direita, o
primeiro passo é criar o objeto do tipo “NoDisciplina”, preencher o nome da disciplina por
meio da chamada do método “setInformacao” — já que os atributos são privados — e,
por fim, adicionar a referência do nó filho ao nó raiz.
Pergunta 6
Uma operação muito comum nos sistemas computacionais é a operação de consulta ou busca. Ela,
geralmente, recebe como parâmetro o elemento que se deseja procurar e um elemento de partida a
partir do qual devemos buscar o elemento. Pensando nessa funcionalidade, consideremos a definição
das classes “Produto” e “NoProduto” a seguir. 
0 em 0,25 pontos
Resposta
Selecionada:
 
Resposta Correta: 
Feedback
da
resposta:
 
Fonte: Elaborada pela autora, 2019. 
Foi implementado um método de busca por um elemento a partir do valor do atributo de “nome” do
“Produto”. Os parâmetros recebidos são o nó visitado (“noProd”) e o nó com os dados procurados
(“noProcurado”). Observe o próximo código. 
 
Fonte: Elaborada pela autora, 2019. 
A respeito desse código, assinale a alternativa verdadeira sobre o método “buscar()”, apresentado
anteriormente.
.O programa não compila.
.O conteúdo do atributo “nome” não está sendo comparado corretamente.
Não é isso, sua resposta está incorreta. O código necessita comparar dois valores do
tipostring que em Java. Somente os conteúdos de atributos com tipos primitivos podem
ser comparados por meio do operador “==”. Releia nosso material de estudos e tente
responder mais uma vez!
Pergunta 7
Resposta Selecionada: 
Sabemos que uma árvore binária de busca deve ser construída de forma que a seguinte regra seja
preservada: o nó filho da esquerda de um nó raiz deve ser menor que o nó raiz por determinada
chave; e o nó filho da direita deve ser sempre maior que o nó raiz. A relação de maior ou menor pode
ser atribuída pelo valor da informação no nó ou por meio da definição de um atributo-chave do nó, o
qual será utilizado como comparativo. 
Dessa forma, considere a árvore binária de busca na sequência. 
 
Fonte: Elaborada pela autora, 2019. 
Com base na figura anterior, qual é o nome do método de percurso em árvore que geraria a seguinte
sequência de caracteres como saída: {A, B, C, D, E, F, G}?.Busca sequencial.
0 em 0,25 pontos
Resposta Correta: 
Feedback
da
resposta:
.Ordem simétrica.
Infelizmente sua resposta está errada. Lembre-se de praticar o caminhamento das
árvores com os algoritmos apresentados no material de estudo. Faça o percurso passo a
passo e compare o resultado com os demais métodos. Reveja o conteúdo e tente
responder à questão mais uma vez!
Pergunta 8
Resposta Selecionada:
 
Resposta Correta:
 
Feedback
da
resposta:
Uma árvore é um tipo abstrato de dado que possui um conjunto de nós ligados entre si por meio de
referências aos nós, sendo estes conhecidos como filhos. Um nó pode não ter filhos, por isso, ele é
chamado de “nó folha”. A referência que liga os nós na linguagem Java consiste no endereço de
memória onde inicia a definição de outro objeto. 
Assim, a partir dessa definição, considere o nó “Pergunta” definido na figura a seguir. 
 
Fonte: Elaborada pela autora, 2019. 
Agora, assinale a alternativa que contém o trecho de código que implementa o método público
“ehFolha()”, que retorna verdadeiro caso o nó do tipo “Pergunta” recebido como parâmetro seja do tipo
folha.
. 
.
Sua resposta está incorreta. O nó de uma árvore binária, além da informação associada
com o escopo do problema, armazena as referências para dois possíveis filhos que ela
pode ter. Por definição, esse tipo de árvore pode ter 0, 1 ou 2 filhos. Quando ela tem 0
filhos, dizemos que o nó é do tipo folha. Para comprovar esta informação, é necessário
confirmar se as referências para os filhos da esquerda e da direita não apontam para um
objeto na memória. Se isso não for verdadeiro, temos que retornar falso. Reveja o
conteúdo e tente responder novamente!
Pergunta 9
Para a definição de um nó em uma árvore, precisamos, inicialmente, encapsular a informação
armazenada em um novo tipo de dado, ou seja, em uma nova classe Java. Isto é possível por meio da
declaração dos atributos na classe, que nada mais são do que variáveis presentes em todos os
objetos de determinado tipo. 
Os atributos são variáveis, posições na memória do computador que podem armazenar dados,
formadas por quatro elementos: nome, tipo, tamanho e valor. Na linguagem Java, é possível, ainda,
definir um modificador de visibilidade se a variável for um atributo da classe, sendo os valores
permitidos public,private, protected 
ou default. 
A figura a seguir, por exemplo, traz a declaração de uma classe “Pergunta”, com três atributos: texto
da pergunta, alternativas e dicas sobre como responder. Observe. 
 
Fonte: Elaborada pela autora, 2019. 
Sendo assim, assinale a alternativa a seguir que contém a inicialização correta do atributo
“opcoesResposta” com cinco opções em um objeto do tipo “Pergunta” na linguagem Java.
0 em 0,25 pontos
0,25 em 0,25 pontos
Resposta Selecionada: 
Resposta Correta: 
Feedback
da
resposta:
.String[] opcoesPergunta = {“A”, “B”, “C”, “D”, “E”};.
.String[] opcoesPergunta = {“A”, “B”, “C”, “D”, “E”};.
Muito bem, sua resposta está correta! Um vetor de elementos do tipo string pode ser
inicializado informando o tipo string dos dois lados da igualdade e indicando o número de
elementos no lado direito da igualdade, ou pode ser inicializado com os valores
diretamente do lado direito. No caso em questão, temos que “String[] opcoesPergunta =
{“A”, “B”, “C”, “D”, “E”};”.
Pergunta 10
Resposta Selecionada: 
Resposta Correta: 
Feedback
da
resposta:
O tipos abstratos de dados no modelo árvore tem como principal característica o fato de que os
elementos que a constitui, denominados “nós”, são ligados entre si por estruturas de encadeamento.
Este é possível graças ao mecanismo de referência da linguagem Java. 
Sobre esse processo, com base em nossos estudos, analise as afirmativas a seguir e marque V para
as verdadeiras e F para as falsas. 
I. ( ) Para indicar que um nó tem filhos, é necessário criar um objeto daquele tipo e armazenar a
referência do objeto criado. 
II. ( ) Ao criar um nó filho, é possível que este tenha outros nós filhos, desde que seja feita a alocação
do elemento quando o nó pai for criado. 
III. ( ) Uma vez atribuído um nó filho, não é possível alterar ou remover o elemento, já que a estrutura
tem que ser mantida. 
IV. ( ) Uma árvore é dita binária quando os valores armazenados em cada um dos nós são
sequências de 0’s e 1’s. 
V. ( ) O chamado “nó folha” é aquele em que as referências para os nós filhos da esquerda e da
direita são iguais a null. 
Agora, assinale a alternativa com a sequência correta.
.V, V, F, F, V.
.V, F, F, F, V.
Não é isso, sua resposta está incorreta. Lembre-se de que a referência é indicada pelo
endereço na memória do objeto. Isto é obtido quando passamos o objeto criado para
armazenar no nó filho. Releia nosso conteúdo sobre a temática e tente responder
novamente à questão!
0 em 0,25 pontos

Continue navegando