Baixe o app para aproveitar ainda mais
Prévia do material em texto
Pergunta 1 1/1 Uma Pilha de alocação estática possui em sua propriedade uma função, que verifica se seus espaços estão alocados ou não. Esse método, por ser tratar de uma função booleana, retornará true para todos alocados e false para espaço ou espaços em branco. Implementando vetor, a alocação estática tem a vantagem de poder tratar os elementos de forma indexada, fazendo seu acesso ser mais veloz. No formato veloz, por outro lado, não tem essa possibilidade, e deve-se navegar nos elementos para acesso. De acordo com a alocação estática na estrutura Pilha, é possível afirmar que o nome da função que possui essas características é: a. isEmpty() b. pop() c. isFull() [RESPOSTA CORRETA] d. search() e. peek() Pergunta 2 1/1 A Pilha é uma estrutura de dados que possui o formato de organizações de dados LIFO – Last In First Out, ou seja, o último que entra é o primeiro que sai. Esse formato de organização permite que essa estrutura se comporte como uma pilha no mundo real e, na programação, seu comportamento é denominado como “operação” em algumas literaturas. Assim, considerando as informações apresentadas e os conteúdos estudados, analise as operações a seguir e associe-as com suas respectivas características: 1) isFull() 2) pop() 3) peek() 4) isEmpty() 5) push(X) ( ) Acessa o topo da Pilha sem removê-lo. ( ) Aloca ou adiciona o valor na estrutura Pilha. ( ) Retorna ao estado atual da Pilha. Se possuir itens alocados, utiliza-se false, se não possuir, retorna true. ( ) Desempilha ou remove o valor do topo da Pilha, retornando o valor pela função. ( ) Em uma situação de Pilha estática retorna true, se estiver com todos os seus elementos alocados, e false, se ainda tiver espaços. Agora, assinale a alternativa que apresenta a sequência correta: a. 3, 2, 3, 4, 5. b. 3, 5, 4, 2, 1. [RESPOSTA CORRETA] c. 3, 4, 5, 2, 1. d. 3, 5, 2, 4, 1. e. 3, 1, 2, 4, 5. Pergunta 3 1/1 O percurso em um Nó é feito sempre pelo seu atributo próximo, independente da sua topologia ou interligações, de acordo com uma varredura em uma Lista Ligada, na qual um elemento referencia outro. Leia o código a seguir: No aux=primeiroNo ; while ( aux !=null ) aux= aux.getProximo(); Assim, e considerando os conteúdos estudados no livro da disciplina, analise as afirmativas a seguir sobre o percurso de um Nó. I. No aux é o último Nó. II. O null representa o último Nó. III. No aux é o primeiro Nó. IV. Esses comandos executam erro.V. Esses comandos não executam erro. Está correto apenas o que se afirma em: a. I, II e IV. b. II, III e IV. c. I, II e V. d. I, III e IV. e. II, III e V [RESPOSTA CORRETA] Pergunta 4 1/1 Na linguagem de programação, um loop é dividido em início, condição, contador e instrução. Através de referências a suas extremidades, ele executa os códigos que estão dentro de seus domínios, ficando a cargo do compilador identificar o início e o fim do loop. Isso ocorre, sobretudo, ao fazer seu incremento ou decremento (seu passo) para verificar se há condição para executá-lo ou não.Uma função ou método recursivo é um método muito parecido com o loop, salvo algumas distinções: os loops são instruções ou palavras reservadas e toda recursão é uma função, porém que referencia a ela mesma. Observe o código a seguir: public void imprimir(int aux) { if(aux == 0) return; else System.out.println( aux ); impressao(aux--); } De acordo com o texto-base e o conteúdo estudado, é correto afirmar em relação ao código que: a. trata-se de loop com critério de parada. b. essa função é recursiva. c. trata-se de uma função com retorno de um int. d. essa função não é recursiva. [RESPOSTA CORRETA] e. trata-se de loop sem critério de parada. Pergunta 5 1/1 Antes de adicionar elementos à Lista Duplamente Ligada, deve-se, primeiramente, saber em qual extremidade serão inseridos esses elementos. Caso sejam inseridos no início da lista, é preciso haver uma instrução diferente do último item da lista. Com base nessas informações e no conteúdo estudado, pode-se afirmar que correspondem à inserção na última extremidade da Lista Ligada: I. primeiroNode = ultimoNode = new Node(valor, null,null); II. primeiroNode = new Node(valor, primeiroNode,null); III. ultimoNode.setProximo( new Node(valor, null,ultimoNode));IV. ultimoNode = ultimoNode.getProximo(); Está correto apenas o que se afirma em: a. I, II e III. b. II e III. c. I, II e IV. d. I e II. e. III e IV. [RESPOSTA CORRETA] Pergunta 6 1/1 Um Nó ou Node é uma estrutura referenciável dentro de uma Lista Ligada, Pilha, Fila ou Árvore. Todo o Node é caracterizado por dois atributos: valor e próximo. Em algumas estruturas ele é diferenciado em direita e esquerda, enquanto em outras há uma lista de referências que pode fazer ligações n com diversos nodes ao mesmo tempo, formando algumas ligações que remetem a topologias como as de rede, por exemplo. Em formato de Programação Orientado a Objetos, um Node é uma classe que utiliza conceitos de encapsulamento. De acordo com os conteúdos estudados e o texto-base, é correto afirmar que uma estrutura caracterizada por auxiliar um elemento de uma lista node a acessar outra lista Node é exemplificada por: a. public Node getProximo() [RESPOSTA CORRETA] b. private Node getProximo() c. public int getValor() d. private void getValor() e. public void getProximo() Pergunta 7 1/1 Na API Collection, da Linguagem Java à Lista Ligada, existe uma Classe escrita chamada LinkedList, que possui os mesmos comportamentos que a Lista Ligada. Seu código, porém, é todo encapsulado, tornando acessíveis apenas os métodos. Embora em todas as classes na Collection os comportamentos possuam o mesmo nome, em cada classe ou estrutura seu funcionamento é diferente. Assim, considerando as informações apresentadas e os conteúdos estudados, analise as operações a seguir e associe-as com suas respectivas características: 1) contains. 2) add. 3) remove. 4) clear. 5) size. ( ) Remove elementos da estrutura. ( ) Insere elementos na estrutura. ( ) Busca elemento na estrutura. ( ) Retorna quantidade de elementos na estrutura. ( ) Limpa a estrutura , removendo todos os seus elementos Agora, assinale a alternativa que apresenta a sequência correta: a. 3, 1, 2, 3, 5. b. 3, 2, 4, 5, 1. c. 3, 2, 1, 5, 4. [RESPOSTA CORRETA] d. 3, 4, 5, 1, 2. e. 3, 5, 4, 2, 1. Pergunta 8 1/1 A recursão é uma técnica da programação que faz com que uma função se referencie. Muitos algoritmos não usam recursão, utilizando loops no lugar. Porém, tudo que pode ser recursivo pode ser um loop. Uma das aplicações de recursão se dá no algoritmo que está contido na descrição abaixo: Esses algoritmos consistem na aplicação do método dividir e conquistar. Aplicando recursão, divide-se o vetor em partes, buscando um valor arbitrário chamado de pivô. Os valores ordenados à direita são maiores que o pivô, enquanto os valores à esquerda do pivô são menores, o que é chamado de forma recursiva. Faz-se, assim, a mesma ordenação entre as Subarrays. Considerando o texto-base e os conteúdos estudados, pode-se afirmar que o nome do algoritmo descrito é: a. Insertion Sort. b. Bubble Sort. c. Selection Sort. d. Quick Sort. [RESPOSTA CORRETA] e. Collection Sort. Pergunta 9 1/1 Os métodos de alocação dentro dos sistemas muitas vezes determinam a performance e a quantidade de recursos para o uso. Além disso, a questão do algoritmo a ser utilizado pode variar muito. A forma tradicional se utiliza de vetores que são estruturas indexadas, enquanto a outra forma utiliza Nós, que são estruturas referenciáveis, de acordo com as quais não se determina sua quantidade. De tal modo, há uma forma de alocação que permite que qualquer estrutura tenha um tamanho máximo para inserção de elementos. Para que possa manter a estrutura do vetor, quando entra em contato com essa forma,o programador é, em geral, levado a buscar soluções momentâneas. Considerando o texto-base e os conteúdos estudados, é possível afirmar que a alocação descrita no exemplo acima denomina-se: a. estática [RESPOSTA CORRETA] b. dinâmica c. variável d. funcional e. estruturada Pergunta 10 1/1 A Pilha em formato de alocação estática implementa fortemente o vetor, trazendo suas características. De forma geral, os métodos que são acessados, tanto na alocação estática, quanto na dinâmica, possuem o mesmo nome e fornecem o mesmo resultado. A diferença se dá na sua estrutura.Observe o código da função peek ou topo a seguir: public class Pilha { private int vetorPilha[]; private int topo; public int peek() { // COMANDO ________________________ } ... } Considerando essas informações e seus conhecimentos sobre a alocação estática da Pilha, pode-se afirmar que o código que completa a função peek ou topo é: a. return (topo == vetorPilha.length - 1); b. return vetorPilha[topo]; [RESPOSTA CORRETA] c. vetorPilha = new int[max]; d. return vetorPilha[topo--]; e. pilha.push();
Compartilhar