Baixe o app para aproveitar ainda mais
Prévia do material em texto
Tópicos Integradores II (Ads) - 20202.B Avaliação On-Line 3 (AOL 3) - Questionário Avaliação On-Line 3 (AOL 3) - Questionário 10/10 1. Pergunta 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: Ocultar opções de resposta 1. II, III e IV. 2. I, III e IV. 3. II, III e V. Resposta correta 4. I, II e IV. 5. I, II e V. 2. Pergunta 2 /1 A Lista Ligada e Duplamente Ligada possui a função isEmpty(), uma função cuja convenção mundial de programadores determina que é uma nomenclatura que significa, literalmente, “está Limpa ?”. Nesse caso, ela retorna true para sim, e false para não, considerando que “limpa” ou “não limpa” determina se ela está cheia. No caso da isEmpty, por representar um atributo booleano, é a única exceção, dentro da programação orientada a objetos, que não utiliza geter’s e seter’s no encapsulamento. Agora analise o código da função a seguir, sabendo que primeiroNo é uma classe Node. public boolean isEmpty() { return primeiroNo; } A partir dessas informações e dos conteúdos estudados, analise as alternativas a seguir sobre o código acima. I. A linha do return poderia ser substituída por (primeiroNo == null) ? true : false. II. O objeto primeiroNo é uma instância da classe Lista. III. O tipo de retorno de isEmpty() está de acordo com o tipo do valor que armazena a estrutura. IV. O objeto primeiroNo representa a ocorrência de algum nó na estrutura. V. A função retorna a quantidade de elementos da estrutura. Ocultar opções de resposta 1. I e II. 2. I e V. 3. I e IV. Resposta correta 4. IV e V. 5. III e IV. 3. Pergunta 3 /1 Algumas técnicas de programação são necessárias para que uma determinada lógica possa ser executada. De forma geral, a lógica de programação utiliza as condições, os loops e funções para poder executar quase todos os algoritmos.Há também uma técnica na programação que permite ao programa criar funções que se auto referenciam, passando argumentos que façam com que a função tenha um critério de parada. Isso ocorre para que possa ser finalizado o ciclo de chamadas pois, caso contrário, ele se transforma em um ciclo sem fim, tornando–se um loop infinito. De acordo com as informações apresentadas no texto base, é possível afirmar que o conceito descrito se chama: Ocultar opções de resposta 1. critério de parada 2. contador 3. recursão Resposta correta 4. laços de repetição 5. sobrecarga 4. Pergunta 4 /1 A ordenação está presente em diversas linguagens de programação e é um dos tópicos de Estrutura de Dados, que visa ordenar dados desordenados. Existem muitos algoritmos para ordenação de dados, e esses algoritmos se comportam de maneiras diferentes: há algoritmos que utilizam recursão, funções, loops e buscas. Assim, e considerando os conteúdos estudados no livro da disciplina, analise as afirmativas a seguir sobre as características dos métodos de ordenação de algoritmos. I. O tempo é importante para a ordenação. II. A ordenação pode conter troca de dados. III. Alguns algoritmos usam recursão, enquanto outros usam somente loops, ou a mescla entre eles.IV. O uso de objeto Collection é padrão para todas as linguagens. Está correto apenas o que se afirma em: Ocultar opções de resposta 1. I, II e IV. 2. II, III e IV. 3. I, II e III. Resposta correta 4. I e IV. 5. I, III e IV. 5. Pergunta 5 /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: Ocultar opções de resposta 1. variável 2. estruturada 3. funcional 4. dinâmica 5. estática Resposta correta 6. Pergunta 6 /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: Ocultar opções de resposta 1. trata-se de loop com critério de parada. 2. essa função não é recursiva. Resposta correta 3. essa função é recursiva. 4. trata-se de loop sem critério de parada. 5. trata-se de uma função com retorno de um int. 7. Pergunta 7 /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: Ocultar opções de resposta 1. 3, 4, 5, 1, 2. 2. 3, 2, 4, 5, 1. 3. 3, 1, 2, 3, 5. 4. 3, 2, 1, 5, 4. Resposta correta 5. 3, 5, 4, 2, 1. 8. Pergunta 8 /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 é: Ocultar opções de resposta 1. Collection Sort.2. Insertion Sort. 3. Bubble Sort. 4. Quick Sort. Resposta correta 5. Selection Sort. 9. Pergunta 9 /1 A Lista Duplamente Ligada possui muitas similaridades com a Lista Ligada. A função buscar recebe o valor do tipo da lista via argumento e faz uma varredura dentro da estrutura do Node, procurando o valor que foi recebido. Caso encontre o valor do Node, ele imprime o valor em tela “Encontrado:”, e retorna true, afirmando que foi encontrado o valor. Caso contrário, aparecerá “Não Encontrado:” o valor, e retornará false. Observe o código fonte a seguir: public boolean buscar(int aux) { No atual = primeiroNo; while (atual != null) { if ( _____________ ) { System.out.println("Encontrado:"+aux); return true; } atual = atual.getProximo(); } System.out.println("Não Encontrado:"+aux); return false; } Com base nessas informações e nos conteúdos estudados, pode-se afirmar que a função que entra no comando if é: Ocultar opções de resposta 1. aux != null 2. aux == atual.getValor() Resposta correta 3. atual != null 4. atual.getValor() 5. aux == atual 10. Pergunta 10 /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 é: Ocultar opções de resposta 1. return (topo == vetorPilha.length - 1); 2. return vetorPilha[topo--]; 3. return vetorPilha[topo]; Resposta correta 4. pilha.push(); 5. vetorPilha = new int[max];
Compartilhar