Prévia do material em texto
• Pergunta 0,25 em 0,25 pontos 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. Resposta Selecionada: .O conteúdo do atributo “nome” não está sendo comparado corretamente. Resposta Correta: .O conteúdo do atributo “nome” não está sendo comparado corretamente. Feedback da resposta: 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 0,25 em 0,25 pontos 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. Resposta Selecionada: . Resposta Correta: . Feedback da resposta: 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 0,25 em 0,25 pontos 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. Resposta Selecionada: . Resposta Correta: . Feedback da resposta: 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 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. 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. Resposta Selecionada: .A*B/C. Resposta Correta: .A*B/C. Feedback da resposta: 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 0,25 em 0,25 pontos Um método de busca que pode ser aplicado em uma árvore binária de busca é denominado pós-ordem. Este algoritmo pode ser enunciado a partir de três passos: percorrer a subárvore da esquerda em pós-ordem, percorrer a subárvore da direita em pós-ordem e visitar o nó raiz. Considere, então, a seguinte árvore binária de busca construída com valores numéricos. Fonte: Elaborada pela autora, 2019. De acordo com a definição anterior, com base na figura retratada, qual é a sequência dos nós visitados em pós-ordem? Resposta Selecionada: .1, 4, 2, 6, 9, 8, 5. Resposta Correta: .1, 4, 2, 6, 9, 8, 5. Feedback da resposta: Resposta correta, parabéns! No percurso em pós-ordem, inicialmente, visitamos o nó da esquerda, que é uma subárvore com raiz (2). Como o algoritmo é recursivo, visitamos primeiro o nó mais à esquerda (1). Depois disso, o nó da direita é visitado (4) e, por fim, a raiz da subárvore da esquerda (2). Após visitar a subárvore da esquerda, vamos para a subárvore da direita. Primeiro é visitado o elemento mais à esquerda dessa subárvore (6), depois o elemento à direita (9) e, por último, a raiz da subárvore da direita (8). Somente ao final é visitada a raiz (5) da árvore. • Pergunta 0,25 em 0,25 pontos 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? Resposta Selecionada: . Class. Resposta Correta: .Class. Feedback da resposta: 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.