Baixe o app para aproveitar ainda mais
Prévia do material em texto
22/06/2020 Blackboard Learn https://unp.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller# 1/7 Revisar envio do teste: ATIVIDADE 4 (A4) Usuário BRUNO CESAR LIMA Curso GRA0246 ESTRUTURA DE DADOS CCOMP201 - 202010.ead-1894.04 Teste ATIVIDADE 4 (A4) Iniciado 14/06/20 21:26 Enviado 22/06/20 00:24 Status Completada Resultado da tentativa 9 em 10 pontos Tempo decorrido 170 horas, 57 minutos Resultados exibidos Respostas enviadas, Respostas corretas, Comentários 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 Comumente utilizadas para construir estruturas para avaliar expressões matemáticas, o percurso em árvores binárias por meio do método de busca de ordem simétrica é conhecido, também, como ordem central ou in-ordem. O algoritmo correspondente a esse percurso pode ser enunciado a partir de três passos: percorrer a subárvore da esquerda em ordem simétrica, visitar o nó raiz e percorrer a subárvore da direita em ordem simétrica. Dessa forma, considere a árvore binária de busca a seguir, construída com variáveis e operadores matemáticos. 1 em 1 pontos 1 em 1 pontos 22/06/2020 Blackboard Learn https://unp.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller# 2/7 Resposta Selecionada: Resposta Correta: Feedback da resposta: Fonte: Elaborada pela autora, 2019. Considerando a figura anterior, assinale a alternativa que contém a sequência dos nós visitados em ordem simétrica. .A*B/C. .A*B/C. Isso mesmo, resposta correta! No percurso em ordem simétrica, o nó mais à esquerda (A) é o primeiro a ser visitado, depois, o nó raiz do nó esquerda (*) e, então, o nó à direita (B). O resultado dessa avaliação é o nó à esquerda. O processo continua: é visitado o nó raiz (/) e, por fim, o nó à direita (C). 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: 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, F, F, F, V. 1 em 1 pontos 1 em 1 pontos 22/06/2020 Blackboard Learn https://unp.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller# 3/7 Resposta Correta: Feedback da resposta: .V, F, F, F, V. Isso mesmo, sua resposta está correta! Um nó de uma árvore pode ter filhos, sendo que, para indicar isto, basta criarmos um novo nó e armazenar a referência para o objeto criado nos nós filhos da esquerda ou da direita. Quando não há referência para os nós filhos da esquerda e da direita, o nó é chamado de folha. A inexistência de referência é indicada pelo valor null. Pergunta 5 Resposta Selecionada: Resposta Correta: Feedback da resposta: 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. 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 conteúdo do atributo “nome” não está sendo comparado corretamente. .O conteúdo do atributo “nome” não está sendo comparado corretamente. Isso mesmo, sua resposta está correta! Os atributos do tipo string devem ser comparados com o uso dos métodos “equals” ou “equalsIgnoreCase”. O uso do operador “==” serve, no caso, para comparar as referências para os objetos, não o conteúdo das strings. Pergunta 6 Resposta Selecionada: Por definição, uma árvore binária é denominada AVL quando, para qualquer nó, as alturas de suas duas subárvores (esquerda e direita) sejam diferentes em módulo de até uma unidade. Na literatura relacionada, essa propriedade é comumente dita como sendo de balanceamento da árvore, já que, no processo de busca, o tempo gasto para avaliar as árvores da esquerda e direita é bem similar. Sendo assim, com base em nossos estudos sobre o assunto, assinale a alternativa a seguir que contém um exemplo de árvore binária, mas que não é do tipo árvore AVL. 1 em 1 pontos 1 em 1 pontos 22/06/2020 Blackboard Learn https://unp.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller# 4/7 Resposta Correta: Feedback da resposta: . . Isso mesmo, sua resposta está de acordo! Na árvore em questão, a subárvore da esquerda tem profundidade superior que a subárvore da direita em duas unidades, o que viola a característica base de uma árvore AVL. Pergunta 7 Resposta Selecionada: Resposta Correta: Feedback da resposta: Ao inserir um nó em uma árvore binária de busca, é necessário que a característica fundamental do tipo de estrutura seja preservada. Assim, para qualquer subárvoreque for considerado o nó filho da esquerda, este deve ter um valor menor que o da raiz. De forma similar, o nó filho da direita tem que ter um valor acima. A árvore de valores numéricos a seguir foi construída para que seja uma árvore binária de busca. Observe-a com atenção. Fonte: Elaborada pela autora, 2019. Agora, assinale a alternativa que contém os valores numéricos para X e Y, mantendo a árvore representada como uma árvore binária de busca. .X = 3 e Y = 14. .X = 3 e Y = 14. Isso mesmo, resposta correta! Como o nó X está à esquerda do nó 6, é necessário que X seja menor que 6, então, o valor 3 atende. De forma similar, 1 em 1 pontos 22/06/2020 Blackboard Learn https://unp.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller# 5/7 já que Y está à direita de 12, seu valor deve ser maior que isso. Assim, o valor de Y igual a 14 é válido. Pergunta 8 Resposta Selecionada: Resposta Correta: Feedback da resposta: 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. 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. 1 em 1 pontos 22/06/2020 Blackboard Learn https://unp.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller# 6/7 Pergunta 9 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 10 Resposta Selecionada: Resposta Correta: Feedback da resposta: 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. .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 0 em 1 pontos 1 em 1 pontos 22/06/2020 Blackboard Learn https://unp.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller# 7/7 Segunda-feira, 22 de Junho de 2020 00h24min28s BRT pode ser inicializado com os valores diretamente do lado direito. No caso em questão, temos que “String[] opcoesPergunta = {“A”, “B”, “C”, “D”, “E”};”. OK javascript:launch('/webapps/blackboard/content/listContent.jsp?content_id=_13205409_1&course_id=_561020_1&nolaunch_after_review=true');
Compartilhar