Logo Passei Direto
Buscar

AOL 2 - PROGRAMAÇÃO E ESTRUTURA DE DADOS

Conjunto de questões sobre Programação e Estrutura de Dados que aborda API Collection em Java: navegação por iterator em LinkedList, métodos (contains, add, remove, clear, size), busca em lista duplamente ligada, inserção na cauda e operações de pilha (isFull, isEmpty, pop, peek).

Ferramentas de estudo

Questões resolvidas

Ao entrar em uma estrutura da API Collection nas estruturas sequenciais, consegue-se navegar por IDs. Quando se tem as estruturas de conjuntos e mapas, elas navegam via for-each, a partir do padrão de projeto iterator.
Considerando uma LinkedList de nome “lista do tipo int.”, a instrução de navegação com o iterator em uma LinkedList nesde formato é:
1. for(int x: lista){ System.out.println( x);}
2. int i=0;do{ System.out.println( lista[i]); i++;} while(i< lista.length);
3. int i=0; while(i< lista.length){ System.out.println( lista[i]); i++;}
4. Incorreta: for-each(lista){ System.out.println( lista[i]);}
5. for(int i=0;i< lista.length; i++){ System.out.println( lista[i]);}

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.
1. 3, 5, 4, 2, 1
2. 3, 4, 5, 1, 2
3. 3, 2, 4, 5, 1
4. 3, 2, 1, 5, 4
5. 3, 1, 2, 3, 5

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.
Com base nessas informações e nos conteúdos estudados, pode-se afirmar que a função que entra no comando if é:
1. aux == atual.getValor()
2. aux != null
3. atual != null
4. aux == atual
5. atual.getValor()

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();
1. Incorreta: I, II e III
2. I, II e IV
3. II e III
4. I e II
5. III e IV

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.
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.
1. I e V
2. III e IV
3. IV e V
4. I e II
5. I e IV

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.
Considerando o texto-base e os conteúdos estudados, é possível afirmar que a alocação descrita no exemplo acima denomina-se:
1. funcional
2. dinâmica
3. estruturada
4. variável
5. estática

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 Orientada 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:
1. public void getProximo()
2. private Node getProximo()
3. private void getValor()
4. public int getValor()
5. public Node getProximo()

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:
1. trata-se de loop sem critério de parada
2. trata-se de loop com critério de parada
3. trata-se de uma função com retorno de um int
4. essa função é recursiva
5. essa função não é recursiva

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Ao entrar em uma estrutura da API Collection nas estruturas sequenciais, consegue-se navegar por IDs. Quando se tem as estruturas de conjuntos e mapas, elas navegam via for-each, a partir do padrão de projeto iterator.
Considerando uma LinkedList de nome “lista do tipo int.”, a instrução de navegação com o iterator em uma LinkedList nesde formato é:
1. for(int x: lista){ System.out.println( x);}
2. int i=0;do{ System.out.println( lista[i]); i++;} while(i< lista.length);
3. int i=0; while(i< lista.length){ System.out.println( lista[i]); i++;}
4. Incorreta: for-each(lista){ System.out.println( lista[i]);}
5. for(int i=0;i< lista.length; i++){ System.out.println( lista[i]);}

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.
1. 3, 5, 4, 2, 1
2. 3, 4, 5, 1, 2
3. 3, 2, 4, 5, 1
4. 3, 2, 1, 5, 4
5. 3, 1, 2, 3, 5

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.
Com base nessas informações e nos conteúdos estudados, pode-se afirmar que a função que entra no comando if é:
1. aux == atual.getValor()
2. aux != null
3. atual != null
4. aux == atual
5. atual.getValor()

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();
1. Incorreta: I, II e III
2. I, II e IV
3. II e III
4. I e II
5. III e IV

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.
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.
1. I e V
2. III e IV
3. IV e V
4. I e II
5. I e IV

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.
Considerando o texto-base e os conteúdos estudados, é possível afirmar que a alocação descrita no exemplo acima denomina-se:
1. funcional
2. dinâmica
3. estruturada
4. variável
5. estática

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 Orientada 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:
1. public void getProximo()
2. private Node getProximo()
3. private void getValor()
4. public int getValor()
5. public Node getProximo()

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:
1. trata-se de loop sem critério de parada
2. trata-se de loop com critério de parada
3. trata-se de uma função com retorno de um int
4. essa função é recursiva
5. essa função não é recursiva

Prévia do material em texto

AOL 2 - Programação e Estrutura de Dados 
Conteúdo do exercício
1. Pergunta 1
/1
Ao entrar em uma estrutura da API Collection nas estruturas sequenciais, consegue-se navegar por IDs. Quando se tem as estruturas de conjuntos e mapas, elas navegam via for-each, a partir do padrão de projeto iterator.
 
Considerando uma LinkedList de nome “lista do tipo int.”, a instrução de navegação com o iterator em uma LinkedList nesde formato é:
Ocultar opções de resposta 
1. 
for(int x: lista){ System.out.println( x);}
Resposta correta
2. Incorreta: 
int i=0; while(i< lista.length){ System.out.println( lista[i]); i++;}
3. 
for-each(lista){ System.out.println( lista[i]);}
4. 
for(int i=0;i< lista.length; i++){ System.out.println( lista[i]);}
5. 
int i=0;do{ System.out.println( lista[i]); i++;} while(i< lista.length);
2. Pergunta 2
/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, 5, 4, 2, 1
2. 
3, 4, 5, 1, 2
3. 
3, 2, 4, 5, 1
4. 
3, 2, 1, 5, 4
Resposta correta
5. 
3, 1, 2, 3, 5
3. Pergunta 3
/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
3. 
aux == atual.getValor()
Resposta correta
4. 
atual.getValor()
5. 
 atual != null
4. Pergunta 4
/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 é:
Ocultar opções de resposta 
1. 
 search()
2. 
isFull()
Resposta correta
3. 
pop()
4. 
isEmpty()
5. 
 peek()
5. Pergunta 5
/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:
Ocultar opções de resposta 
1. Incorreta: 
I, II e III
2. 
I, II e IV
3. 
II e III
4. 
I e II
5. 
III e IV
Resposta correta
6. Pergunta 6
/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 V
2. 
III e IV
3. 
IV e V
4. 
I e II
5. 
I e IV
Resposta correta
7. Pergunta 7
/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. 
funcional
2. 
dinâmica
3. Incorreta: 
estruturada
4. 
variável
5. 
estática
Resposta correta
8. Pergunta 8
/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:
Ocultar opções de resposta 
1. 
public void getProximo()
2. 
private void getValor()
3. 
public Node getProximo()
Resposta correta
4. 
public int getValor()
5. 
private Node getProximo()
9. Pergunta 9
/1
Para imprimir os valores da lista ligada, é necessário fazer um LOOP dentro da primeira estrutura até a última, entrando em um Nó especifico. Por meio da referência do próximo, navega-se até a última referência, que é o null, através do método getProximo().
Considerando o texto-base e os conteúdos estudados, é correto afirmar que o nó específico utilizado para navegar em toda a estrutura é:
Ocultar opções de resposta 
1. 
ultimoNo
2. Incorreta: 
meioNo
3. 
No
4. 
primeiroNo
Resposta correta
5. 
getProximo()
10. Pergunta10
/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 é recursiva
3. 
essa função não é recursiva
Resposta correta
4. 
trata-se de uma função com retorno de um int
5. 
trata-se de loop sem critério de parada

Mais conteúdos dessa disciplina