Logo Passei Direto
Buscar

Estrutura de Dados SuperCOMBO

Prova de Estrutura de Dados com questões sobre lógica FIFO, implementação em C++ de nó em lista duplamente encadeada (valor 100), métodos de ordenação, operações FIFO/LIFO, listas lineares sequenciais, definição de tipo estruturado, busca binária e listas estáticas/dinâmicas (fila).

Ferramentas de estudo

Questões resolvidas

Analisando o trecho do algoritmo abaixo, pode-se afirmar que se trata de uma operação de:
Qual operação é representada pelo trecho do algoritmo?
Remoção de um elemento de uma estrutura FIFO
Remoção de um elemento de uma estrutura LIFO
Exibição de um elemento em uma estrutura LIFO
Inserção de um elemento em uma estrutura LIFO
Inserção de um elemento em uma estrutura FIFO

Com relação as listas lineares sequenciais:
Qual afirmação é correta?
I - Uma lista linear sequencial é um vetor em linguagens estruturadas, também chamado de array.
II - Um elemento de uma lista linear sequencial pode ser acessado diretamente através de um índice.
III - Uma lista linear sequencial pode ter elementos de um mesmo tipo, ou de tipos diferentes.
Apenas as afirmacoes II e III estão corretas.
Apenas a afirmação I está correta.
Apenas a afirmação II está correta.
Apenas as afirmações I e III estão corretas.
Apenas as afirmações I e II estão corretas.

As estruturas de dados são importantes para a programação porque facilitam a pesquisa, pois permitem a ordenação dos dados de forma crescente ou decrescente.
Dessa forma, assinale a alternativa correta que define um tipo de dado estruturado.
Podem armazenar apenas um valor de cada vez, se algum valor for atribuído o anterior é apagado.
Permitem agregar mais do que um valor em uma variável, existindo uma relação estrutural entre seus elementos.
Também são denominados tipos primitivos, não é possível decompor em partes menores.
Consiste da definição do conjunto de valores (denominado domínio) que uma variável pode assumir ao longo da execução de um programa.
São tipos de dados indivisíveis.

O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém em cada um de seus elementos o número de inscrição, o nome e a nota obtida pelo candidato. Este vetor está ordenado pelo número de inscrição.
Para realização de uma consulta que, dado um número de inscrição, apresenta o nome e nota do candidato, um programador utilizou um algoritmo de busca que realiza sucessivas divisões no vetor, comparando o número de inscrição procurado com o número de inscrição do candidato posicionado no meio do vetor. Se o candidato posicionado do meio do vetor tiver o número de inscrição igual ao número de inscrição procurado, a busca termina com sucesso. Caso contrário, se candidato posicionado do meio do vetor tiver número de inscrição menor que o procurado, então a busca continua na metade posterior do vetor. E finalmente, se candidato posicionado do meio do vetor tiver número de inscrição maior que o procurado, a busca continua na metade anterior do vetor. O algoritmo utilizado pelo programador trata-se do método denominado busca:
binária.
randômica.
linear.
por contagem.
por comparação.

As estruturas de dados podem ser do tipo estática e dinâmica. As listas são estruturas parecidas com vetores podendo ser do tipo dinâmica. Entretanto, existem várias implementações de estruturas do tipo listas. Dessa forma, a estrutura que para o acesso de um dado, este precisa estar na saída, caso contrário, precisa remover os elementos a sua frente, é chamada de:
Matriz
Struct
Pilha
Fila
Bolha

As estruturas de dados podem ser caracterizadas como sendo uma forma organizada de armazenar dados ou informações na memória, de modo a otimizar o acesso a estes. Muitas vezes existem algoritmos de manipulação dados associados a estas estruturas.
Verifique as seguintes sentenças:
I-Filas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados.
II-As Pilhas são estruturas que recuperam os dados na ordem reversa em que estes foram armazenados.
III-As Pilhas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados.
IV-As Filas são estruturas que recuperam os dados na ordem reversa em que estes foram armazenados.
As alternativas I e II estão corretas
As alternativas I e III estão corretas.
As alternativas III e IV estão corretas.
Todas as alternativas estão corretas.
As alternativas II e IV estão corretas.

Sabemos que podemos representar uma expressão de três formas, sendo que uma delas é chamada de notação polonesa reversa (pós-fixa). Suponha que um professor de Estrutura de Dados desejasse compor a nota do bimestre com uma prova e um trabalho oral, usando pesos diferenciados para as notas. Sendo assim, usaria a média ponderada como a expressão abaixo. A única calculadora que encontrou disponível foi uma com representação pós fixa.
Assinale a alternativa que apresenta a sequência que deveria ser digitada pelo professor para conseguir calcular a média de um aluno.
/ * nota1 peso1 + * nota2 peso2 + peso1 peso2
nota1 peso1 * nota2 peso2 * peso1 peso2 + + /
nota1 peso1 * nota2 peso2 * + peso1 peso2 + /
/ + * nota1 peso1 * nota2 peso2 + peso1 peso2
nota1 peso1 nota2 peso2 peso1 peso2 * * + + /

Defina um tipo de dado (registro) capaz de armazenar as seguintes informações sobre um determinado cliente de um banco: nome, CPF, RG, número da conta, data de abertura da conta, e saldo. Com base neste tipo de dado, construa o trecho código em C++ que represente a leitura dos dados do cliente feita pelo usuário.

Marque a afirmativa correta para a 'Busca ou pesquisa binária'. É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente. Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e verificando se o dado está no meio ou, antes do meio ou depois do meio. Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos. Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio e verificando se o dado está no meio ou, antes do meio ou depois do meio. Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.

Quando as inserções e as remoções ocorrem sempre no mesmo lado da lista, trata-se de uma estrutura de dados denominada.
Lista encadeada.
Vetor.
Lista circular.
Fila.
Pilha.

Observe a struct, definida globalmente, e um trecho de uma função que manipula uma Lista Duplamente Encadeada.
Assinale a alternativa que apresenta o protótipo dessa função.
void exibeIpF(listaDE *LISTA);
listaDE *remove(listaDE *LISTA, int valor);
listaDE *insereFim(listaDE *LISTA, int valor);
listaDE *busca (listaDE *LISTA, int valor);
listaDE *insereInicio(listaDE *LISTA, int valor);

Em relação a estruturas de dados, avalie a correspondência existente entre as estruturas de dados Lineares e Não Lineares com suas respectivas coleções de dados.
A correta associação entre os elementos das duas tabelas é:
a1, b2, c1, d1.
a2, b2, c1, d2.
a1, b1, c2, d1
a1, b1, c2, d2.
a2, b1, c2, d1.

O espaço necessário para a representação dos dados pode ser alocado à medida que se torne necessário, através da alocação dinâmica. Uma estrutura armazenada através de encadeamento apresenta seus nodos alocados em posições aleatórias na memória, e não lado a lado. Dessa forma, existem várias vantagens no uso de representar os dados por encadeamento.
Marque a alternativa correta que apresenta estas vantagens.
Proteção de memória, transferência de dados, estruturas simples.
Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes.

Esta técnica tem como principal elemento:
Os Vetores
Os Grafos
As funções
As Estruturas de Dados
As Filas

Analisando o trecho de código a seguir: inicio=0; fim= tamanho - 1; meio=(inicio+fim)/2; while(procura != nomeVetor[meio] && inicio != fim) { if(procura > nomeVetor[meio]) inicio=meio+1; else fim=meio; meio=(inicio+fim)/2; } if(nomeVetor[meio]==procura) cout<<'
....: '< < outroVetor[meio] else cout<<'
Dado nao encontrado
';
Pode-se afirmar que:
trata-se da implementação do algortimo de ordenação por inserção.
trata-se da implementação do algortimo de busca sequencial.
trata-se da implementação do algortimo de busca binária.
trata-se da implementação do algortimo de ordenação bolha.
trata-se da implementação do algortimo de ordenação por seleção.

Os métodos de ordenação são muito utilizados para facilitar a recuperação posterior de itens ordenados. Existem vários métodos de ordenação, por esse motivo, assinale corretamente a alternativa que mostra o nome do método que utiliza a estratégia de ordenação por trocas de vizinhos e é considerado o método mais simples.
Binária
Hash
Seleção
Bolha
Inserção

Considere uma lista com n livros, em que cada livro é modelado pela struct : struct Livro { string titulo, editora, autor; float preco; }; A função X abaixo void X (Livro v[ ], int &n, Livro L) { v[n] = L; n++; cout << "Operação realizada com sucesso."; } implementa a operação de :
Busca
Inserção
Substituição
Ordenação por inserção
Inicialização

As estruturas de dados em programação são muito utilizadas para tornar o acesso aos dados mais eficiente e organizado. A estrutura de dados considerada mais simples e tem como característica apresentar apenas uma dimensão é:
Variável
Registro
Vetor
Matriz
Função

Diferentes tipos de estrutura de dados são adequadas a diferentes tipos de aplicação e algumas são altamente especializadas, destinando-se a algumas tarefas específicas. Dessa forma a definição de Estrutura de Dados está expressa na alternativa:
É um modo de utilização de dados nos programas de computador.
É um modo de distribuição e organização de dados em uma rede de computador de modo que possam ser usados de modo eficiente.
É um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados de modo eficiente.
É um modo de deleção de dados em um computador.
São os nomes dados as variáveis na montagem de uma rotina.

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

Analisando o trecho do algoritmo abaixo, pode-se afirmar que se trata de uma operação de:
Qual operação é representada pelo trecho do algoritmo?
Remoção de um elemento de uma estrutura FIFO
Remoção de um elemento de uma estrutura LIFO
Exibição de um elemento em uma estrutura LIFO
Inserção de um elemento em uma estrutura LIFO
Inserção de um elemento em uma estrutura FIFO

Com relação as listas lineares sequenciais:
Qual afirmação é correta?
I - Uma lista linear sequencial é um vetor em linguagens estruturadas, também chamado de array.
II - Um elemento de uma lista linear sequencial pode ser acessado diretamente através de um índice.
III - Uma lista linear sequencial pode ter elementos de um mesmo tipo, ou de tipos diferentes.
Apenas as afirmacoes II e III estão corretas.
Apenas a afirmação I está correta.
Apenas a afirmação II está correta.
Apenas as afirmações I e III estão corretas.
Apenas as afirmações I e II estão corretas.

As estruturas de dados são importantes para a programação porque facilitam a pesquisa, pois permitem a ordenação dos dados de forma crescente ou decrescente.
Dessa forma, assinale a alternativa correta que define um tipo de dado estruturado.
Podem armazenar apenas um valor de cada vez, se algum valor for atribuído o anterior é apagado.
Permitem agregar mais do que um valor em uma variável, existindo uma relação estrutural entre seus elementos.
Também são denominados tipos primitivos, não é possível decompor em partes menores.
Consiste da definição do conjunto de valores (denominado domínio) que uma variável pode assumir ao longo da execução de um programa.
São tipos de dados indivisíveis.

O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém em cada um de seus elementos o número de inscrição, o nome e a nota obtida pelo candidato. Este vetor está ordenado pelo número de inscrição.
Para realização de uma consulta que, dado um número de inscrição, apresenta o nome e nota do candidato, um programador utilizou um algoritmo de busca que realiza sucessivas divisões no vetor, comparando o número de inscrição procurado com o número de inscrição do candidato posicionado no meio do vetor. Se o candidato posicionado do meio do vetor tiver o número de inscrição igual ao número de inscrição procurado, a busca termina com sucesso. Caso contrário, se candidato posicionado do meio do vetor tiver número de inscrição menor que o procurado, então a busca continua na metade posterior do vetor. E finalmente, se candidato posicionado do meio do vetor tiver número de inscrição maior que o procurado, a busca continua na metade anterior do vetor. O algoritmo utilizado pelo programador trata-se do método denominado busca:
binária.
randômica.
linear.
por contagem.
por comparação.

As estruturas de dados podem ser do tipo estática e dinâmica. As listas são estruturas parecidas com vetores podendo ser do tipo dinâmica. Entretanto, existem várias implementações de estruturas do tipo listas. Dessa forma, a estrutura que para o acesso de um dado, este precisa estar na saída, caso contrário, precisa remover os elementos a sua frente, é chamada de:
Matriz
Struct
Pilha
Fila
Bolha

As estruturas de dados podem ser caracterizadas como sendo uma forma organizada de armazenar dados ou informações na memória, de modo a otimizar o acesso a estes. Muitas vezes existem algoritmos de manipulação dados associados a estas estruturas.
Verifique as seguintes sentenças:
I-Filas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados.
II-As Pilhas são estruturas que recuperam os dados na ordem reversa em que estes foram armazenados.
III-As Pilhas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados.
IV-As Filas são estruturas que recuperam os dados na ordem reversa em que estes foram armazenados.
As alternativas I e II estão corretas
As alternativas I e III estão corretas.
As alternativas III e IV estão corretas.
Todas as alternativas estão corretas.
As alternativas II e IV estão corretas.

Sabemos que podemos representar uma expressão de três formas, sendo que uma delas é chamada de notação polonesa reversa (pós-fixa). Suponha que um professor de Estrutura de Dados desejasse compor a nota do bimestre com uma prova e um trabalho oral, usando pesos diferenciados para as notas. Sendo assim, usaria a média ponderada como a expressão abaixo. A única calculadora que encontrou disponível foi uma com representação pós fixa.
Assinale a alternativa que apresenta a sequência que deveria ser digitada pelo professor para conseguir calcular a média de um aluno.
/ * nota1 peso1 + * nota2 peso2 + peso1 peso2
nota1 peso1 * nota2 peso2 * peso1 peso2 + + /
nota1 peso1 * nota2 peso2 * + peso1 peso2 + /
/ + * nota1 peso1 * nota2 peso2 + peso1 peso2
nota1 peso1 nota2 peso2 peso1 peso2 * * + + /

Defina um tipo de dado (registro) capaz de armazenar as seguintes informações sobre um determinado cliente de um banco: nome, CPF, RG, número da conta, data de abertura da conta, e saldo. Com base neste tipo de dado, construa o trecho código em C++ que represente a leitura dos dados do cliente feita pelo usuário.

Marque a afirmativa correta para a 'Busca ou pesquisa binária'. É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente. Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e verificando se o dado está no meio ou, antes do meio ou depois do meio. Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos. Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio e verificando se o dado está no meio ou, antes do meio ou depois do meio. Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.

Quando as inserções e as remoções ocorrem sempre no mesmo lado da lista, trata-se de uma estrutura de dados denominada.
Lista encadeada.
Vetor.
Lista circular.
Fila.
Pilha.

Observe a struct, definida globalmente, e um trecho de uma função que manipula uma Lista Duplamente Encadeada.
Assinale a alternativa que apresenta o protótipo dessa função.
void exibeIpF(listaDE *LISTA);
listaDE *remove(listaDE *LISTA, int valor);
listaDE *insereFim(listaDE *LISTA, int valor);
listaDE *busca (listaDE *LISTA, int valor);
listaDE *insereInicio(listaDE *LISTA, int valor);

Em relação a estruturas de dados, avalie a correspondência existente entre as estruturas de dados Lineares e Não Lineares com suas respectivas coleções de dados.
A correta associação entre os elementos das duas tabelas é:
a1, b2, c1, d1.
a2, b2, c1, d2.
a1, b1, c2, d1
a1, b1, c2, d2.
a2, b1, c2, d1.

O espaço necessário para a representação dos dados pode ser alocado à medida que se torne necessário, através da alocação dinâmica. Uma estrutura armazenada através de encadeamento apresenta seus nodos alocados em posições aleatórias na memória, e não lado a lado. Dessa forma, existem várias vantagens no uso de representar os dados por encadeamento.
Marque a alternativa correta que apresenta estas vantagens.
Proteção de memória, transferência de dados, estruturas simples.
Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes.

Esta técnica tem como principal elemento:
Os Vetores
Os Grafos
As funções
As Estruturas de Dados
As Filas

Analisando o trecho de código a seguir: inicio=0; fim= tamanho - 1; meio=(inicio+fim)/2; while(procura != nomeVetor[meio] && inicio != fim) { if(procura > nomeVetor[meio]) inicio=meio+1; else fim=meio; meio=(inicio+fim)/2; } if(nomeVetor[meio]==procura) cout<<'
....: '< < outroVetor[meio] else cout<<'
Dado nao encontrado
';
Pode-se afirmar que:
trata-se da implementação do algortimo de ordenação por inserção.
trata-se da implementação do algortimo de busca sequencial.
trata-se da implementação do algortimo de busca binária.
trata-se da implementação do algortimo de ordenação bolha.
trata-se da implementação do algortimo de ordenação por seleção.

Os métodos de ordenação são muito utilizados para facilitar a recuperação posterior de itens ordenados. Existem vários métodos de ordenação, por esse motivo, assinale corretamente a alternativa que mostra o nome do método que utiliza a estratégia de ordenação por trocas de vizinhos e é considerado o método mais simples.
Binária
Hash
Seleção
Bolha
Inserção

Considere uma lista com n livros, em que cada livro é modelado pela struct : struct Livro { string titulo, editora, autor; float preco; }; A função X abaixo void X (Livro v[ ], int &n, Livro L) { v[n] = L; n++; cout << "Operação realizada com sucesso."; } implementa a operação de :
Busca
Inserção
Substituição
Ordenação por inserção
Inicialização

As estruturas de dados em programação são muito utilizadas para tornar o acesso aos dados mais eficiente e organizado. A estrutura de dados considerada mais simples e tem como característica apresentar apenas uma dimensão é:
Variável
Registro
Vetor
Matriz
Função

Diferentes tipos de estrutura de dados são adequadas a diferentes tipos de aplicação e algumas são altamente especializadas, destinando-se a algumas tarefas específicas. Dessa forma a definição de Estrutura de Dados está expressa na alternativa:
É um modo de utilização de dados nos programas de computador.
É um modo de distribuição e organização de dados em uma rede de computador de modo que possam ser usados de modo eficiente.
É um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados de modo eficiente.
É um modo de deleção de dados em um computador.
São os nomes dados as variáveis na montagem de uma rotina.

Prévia do material em texto

Fechar
 
Avaliação: CCT0260_AV_201307185967 (AG) » ESTRUTURA DE DADOS 
Tipo de Avaliação: AV 
Aluno: 201307185967 - RENATO GOMES CHAVES 
Professor: JANE TAVARES ALVAREZ DA SILVA Turma: 9002/AA 
Nota da Prova: 3,5 Nota de Partic.: 1 Data: 30/05/2014 18:55:07 
 
 
 1a Questão (Ref.: 201307263127) Pontos: 1,5 / 1,5 
Como é a lógica do FIFO? 
 
 
 
Resposta: Na lógica FIFO (First In First Out), o primeiro dado a entrar, é o primeiro a sair. A chamada fila. 
 
 
Gabarito: O primeiro que entra na fila é o primeiro que sai. 
 
 
 
 2a Questão (Ref.: 201307439114) Pontos: 0,0 / 1,5 
 Faça uma função em C++ para criar uma lista duplamente encadeada com um nó e 
armazenar neste nó o valor 100. Note que deverá ser retornado o ponteiro para o nó 
criado. Considere 
 struct nodupla { 
 int dado; 
 struct *dlink, *elink; 
 }; 
 
e o seguinte protótipo : nodupla *cria(); 
 
 
 
Resposta: 
 
 
Gabarito: 
nodupla *cria() 
{ 
 nodupla *novo; 
 
 novo = new nodupla; 
 novo->dado = 100; 
 novo->elink = novo->dlink = NULL; 
 return novo; 
 
} 
 
 
 
 
 3a Questão (Ref.: 201307437408) Pontos: 0,0 / 0,5 
 
 
 
 uma mistura dos métodos de ordenação por inserção e bubblesort. 
 por seleção. 
 bubblesort. 
 por inserção. 
 
 uma mistura dos métodos de ordenação por seleção e por inserção. 
 
 
 
 4a Questão (Ref.: 201307232698) Pontos: 0,5 / 0,5 
Analisando o trecho do algoritmo abaixo, 
 
pode-se afirmar que se trata de uma operação de: 
 
 
 Remoção de um elemento de uma estrutura FIFO 
 Inserção de um elemento em uma estrutura FIFO 
 Remoção de um elemento de uma estrutura LIFO 
 Exibição de um elemento em uma estrutura LIFO 
 Inserção de um elemento em uma estrutura LIFO 
 
 
 
 5a Questão (Ref.: 201307232534) Pontos: 0,5 / 0,5 
Com relação as listas lineares sequenciais: 
I - Uma lista linear sequencial é um vetor em linguagens estruturadas, também chamado de array. 
II - Um elemento de uma lista linear sequencial pode ser acessado diretamente através de um índice. 
III - Uma lista linear sequencial pode ter elementos de um mesmo tipo, ou de tipos diferentes. 
 
 
 Apenas as afirmações I e III estão corretas. 
 Apenas as afirmações I e II estão corretas. 
 Apenas a afirmação I está correta. 
 Apenas as afirmações II está corretas. 
 Apenas as afirmações II e III estão corretas. 
 
 
 
 6a Questão (Ref.: 201307232693) Pontos: 0,0 / 1,0 
As estruturas de dados são importantes para a programação porque facilitam a pesquisa, pois permitem a 
ordenação dos dados de forma crescente ou decrescente. Dessa forma, assinale a alternativa correta que define 
um tipo de dado estruturado. 
 
 
 São tipos de dados indivisíveis. 
 Também são denominados tipos primitivos, não é possível decompor em partes menores. 
 Consiste da definição do conjunto de valores (denominado domínio) que uma variável pode assumir ao 
longo da execução de um programa. 
 Permitem agregar mais do que um valor em uma variável, existindo uma relação estrutural entre seus 
elementos. 
 Podem armazenar apenas um valor de cada vez, se algum valor for atribuído o anterior é apagado. 
 
 
 
 7a Questão (Ref.: 201307232597) Pontos: 0,5 / 0,5 
O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém em cada um 
de seus elementos o número de inscrição, o nome e a nota obtida pelo candidato. Este vetor está ordenado pelo 
número de inscrição. Para realização de uma consulta que, dado um número de inscrição, apresenta o nome e 
nota do candidato, um programador utilizou um algoritmo de busca que realiza sucessivas divisões no vetor, 
comparando o número de inscrição procurado com o número de inscrição do candidato posicionado no meio do 
vetor. Se o candidato posicionado do meio do vetor tiver o número de inscrição igual ao número de inscrição 
procurado, a busca termina com sucesso. Caso contrário, se candidato posicionado do meio do vetor tiver 
número de inscrição menor que o procurado, então a busca continua na metade posterior do vetor. E 
finalmente, se candidato posicionado do meio do vetor tiver número de inscrição maior que o procurado, a 
busca continua na metade anterior do vetor. O algoritmo utilizado pelo programador trata-se do método 
denominado busca: 
 
 
 randômica. 
 por contagem. 
 linear. 
 binária. 
 por comparação. 
 
 
 
 8a Questão (Ref.: 201307232679) Pontos: 0,0 / 1,0 
As estruturas de dados podem ser do tipo estática e dinâmica. As listas são estruturas parecidas com vetores 
podendo ser do tipo dinâmica. Entretanto, existem várias implementações de estruturas do tipo listas. Dessa 
forma, a estrutura que para o acesso de um dado, este precisa estar na saída, caso contrário, precisa remover 
os elementos a sua frente, é chamada de: 
 
 
 Fila 
 Matriz 
 Bolha 
 Pilha 
 Struct 
 
 
 
 9a Questão (Ref.: 201307434934) Pontos: 0,5 / 0,5 
As estruturas de dados podem ser caracterizadas como sendo uma forma organizada de armazenar 
dados ou informações na memória, de modo a otimizar o acesso a estes. Muitas vezes existem 
algoritmos de manipulação dados associados a estas estruturas. Verifique as seguintes sentenças: 
I-Filas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados. 
II-As Pilhas são estruturas que recuperam os dados na ordem reversa em que estes 
foram armazenados. 
III-As Pilhas são estruturas que recuperam os dados na ordem direta em que estes 
foram armazenados. 
IV-As Filas são estruturas que recuperam os dados na ordem reversa em que estes 
foram armazenados. 
Marque a alternativa CORRETA: 
 
 
 Todas as alternativas estão corretas. 
 As alternativas II e IV estão corretas. 
 As alternativas I e III estão corretas. 
 As alternativas III e IV estão corretas. 
 As alternativas I e II estão corretas 
 
 
 
 10a Questão (Ref.: 201307440898) Pontos: 0,0 / 0,5 
Sabemos que podemos representar uma expressão de três formas, sendo que uma 
delas é chamada de notação polonesa reversa ( pós-fixa). 
Suponha que um professor de Estrutura de Dados desejasse compor a nota do 
bimestre com uma prova e um trabalho oral, usando pesos diferenciados para as 
notas. Sendo assim, usaria a média ponderada como a expressão abaixo. 
 
A única calculadora que encontrou disponível foi uma com representação pós fixa. 
Assinale a alternativa que apresenta a sequência que deveria ser digitada pelo 
professor para conseguir calcular a média de um aluno. 
 
 
 
 nota1 peso1 * nota2 peso2 * peso1 peso2 + + / 
 nota1 peso1 nota2 peso2 peso1 peso2 * * + + / 
 nota1 peso1 * nota2 peso2 * + peso1 peso2 + / 
 / * nota1 peso1 + * nota2 peso2 + peso1 peso2 
 / + * nota1 peso1 * nota2 peso2 + peso1 peso2 
 
 
 
Observação: Eu, RENATO GOMES CHAVES, estou ciente de que ainda existe(m) 1 questão(ões) não respondida(s) ou salva(s) 
no sistema, e que mesmo assim desejo finalizar DEFINITIVAMENTE a avaliação. 
 
Data: 30/05/2014 19:15:51 
 
 
 
 Fechar 
 
Avaliação: CCT0260_AV_201502237164 » ESTRUTURA DE DADOS 
Tipo de Avaliação: AV 
Aluno: 201502237164 - ALEXANDER SCHIAVONI SODR¿ 
Professor: ANITA LUIZA MACIEL LOPES Turma: 9007/AC 
Nota da Prova: 3,0 Nota de Partic.: 1 Av. Parcial 2 Data: 16/06/2016 15:27:53 
O aproveitamento da Avaliação Parcial será considerado apenas para as provas com nota maior ou igual a 4,0. 
 
 
 1a Questão (Ref.: 201502309937) Pontos: 0,0 / 1,0 
Defina um tipo de dado (registro) capaz de armazenar as seguintes informaçõessobre um determinado cliente 
de um banco: nome, CPF, RG, número da conta, data de abertura da conta, e saldo. 
Com base neste tipo de dado, construa o trecho código em C++ que represente a leitura dos dados do cliente 
feita pelo usuário. 
 
 
Resposta: 
 
 
Gabarito: 
struct ClienteBanco{ 
 string nome; 
 string cpf; 
 int rg; 
 int numConta; 
 double saldo; 
}; 
ClienteBanco cliente; 
cin >> cliente.nome; 
cin >> cliente.cpf; 
cin >> cliente.rg; 
cin >> cliente.saldo; 
 
 
 
 2a Questão (Ref.: 201502965920) Pontos: 0,0 / 1,0 
Em relação a filas e pilhas dinâmicas, cite uma das vantagens de se implementar estruturas dinamicamente. 
 
 
Resposta: AS VANTAGENS DAS ESTRUTURAS DINÂMICAS É A POSSIBILIDADE REINSERIR UM DADO DE FORMA 
MAIS RÁPIDA. 
 
 
Gabarito: É o fato destas estruturas ocuparem espaço estritamente necessário. 
 
 
Fundamentação do(a) Professor(a): Mais rápida do que qual? 
 
 
 
 3a Questão (Ref.: 201502289010) Pontos: 1,0 / 1,0 
As estruturas de dados são importantes para a programação porque facilitam a pesquisa, pois permitem a 
ordenação dos dados de forma crescente ou decrescente. Dessa forma, assinale a alternativa correta que define 
um tipo de dado estruturado. 
 
 
Podem armazenar apenas um valor de cada vez, se algum valor for atribuído o anterior é apagado. 
 Permitem agregar mais do que um valor em uma variável, existindo uma relação estrutural entre seus 
elementos. 
 
São tipos de dados indivisíveis. 
 
Também são denominados tipos primitivos, não é possível decompor em partes menores. 
 
Consiste da definição do conjunto de valores (denominado domínio) que uma variável pode assumir ao 
longo da execução de um programa. 
 
 
 
 4a Questão (Ref.: 201502493673) Pontos: 0,0 / 1,0 
 
 
 Auxiliar = 101 Numero1 = 900 Numero2 = 20 
 Auxiliar = 100 Numero1 = 1000 Numero2 = 20 
 Auxiliar = 100 Numero1 = 900 Numero2 = 80 
 Auxiliar = 111 Numero1 = 1000 Numero2 = 80 
 Auxiliar = 100 Numero1 = 900 Numero2 = 20 
 
 
 
 5a Questão (Ref.: 201502288488) Pontos: 0,0 / 1,0 
Qual das seguintes estruturas de dados é classificada como heterogênea? 
 
 
Fila 
 Registro 
 
Vetor 
 
Loop 
 Pilha 
 
 
 
 6a Questão (Ref.: 201502288667) Pontos: 1,0 / 1,0 
Marque a afirmativa correta para a "Busca ou pesquisa binária". 
 
 
Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio e 
verificando se o dado está no meio ou, antes do meio ou depois do meio. 
 
Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos. 
 Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e 
verificando se o dado está no meio ou, antes do meio ou depois do meio. 
 
É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente. 
 
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos. 
 
 
 
 7a Questão (Ref.: 201502288471) Pontos: 0,0 / 0,5 
O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo = fim)? 
 
 
inclusão 
 
ordenação 
 underflow 
 overflow 
 
remoção 
 
 
 
 8a Questão (Ref.: 201502356119) Pontos: 0,5 / 0,5 
Quando as inserções e as remoções ocorrem sempre no mesmo lado da lista, trata-se de uma estrutura de 
dados denominada. 
 
 Pilha. 
 
Vetor. 
 
Lista circular. 
 
Fila. 
 
Lista encadeada. 
 
 
 
 9a Questão (Ref.: 201502289016) Pontos: 0,5 / 0,5 
Analisando a figura abaixo, marque a alternativa correta que apresenta o tipo de estrutura de dados utilizado. 
 
 
 
Struct 
 
Matriz 
 
Pilha 
 Fila 
 
Hash 
 
 
 
 10a Questão (Ref.: 201502501549) Pontos: 0,0 / 0,5 
Observe a struct, definida globalmente, e um trecho de uma função que manipula 
uma Lista Duplamente Encadeada. 
struct listaDE 
{ 
 int info; 
 struct listaDE* ant; 
 struct listaDE* prox; 
}; 
... 
listaDE* novo = new listaDE; 
novo->info = valor; 
novo->prox = LISTA; 
novo->ant = NULL; 
Assinale a alternativa que apresenta o protótipo dessa função 
 
 listaDE *busca (listaDE *LISTA, int valor); 
 void exibeIpF(listaDE *LISTA); 
 listaDE *insereInicio(listaDE *LISTA, int valor); 
 listaDE *remove(listaDE *LISTA, int valor); 
 listaDE *insereFim(listaDE *LISTA, int valor); 
 
 
 
Observação: Estou ciente de que ainda existe(m) 1 questão(ões) não respondida(s) ou salva(s) no sistema, e que mesmo 
assim desejo finalizar DEFINITIVAMENTE a avaliação. 
 
Data: 16/06/2016 16:16:04 
 
30/09/2015 BDQ Prova
http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_hist=7743144510 1/4
   ESTRUTURA DE DADOS
Simulado: CCT0260_SM_201503534791 V.1   Fechar
Aluno(a): MAURO DE OLIVEIRA CARNEIRO Matrícula: 201503534791
Desempenho: 10,0 de 10,0 Data: 30/09/2015 18:13:27 (Finalizada)
  1a Questão (Ref.: 201503607938) Pontos: 1,0  / 1,0
Em relação a estruturas de dados, avalie a correspondência existente entre as estruturas
de dados Lineares e Não Lineares com suas respectivas coleções de dados.
 
 
A correta associação entre os elementos das duas tabelas é:
 
 
 
 
 
 
 
 
 
 
  a1, b1, c2, d1
a1, b2, c1, d1.
a1, b1, c2, d2.
a2, b2, c1, d2.
a2, b1, c2, d1.
 Gabarito Comentado.
  2a Questão (Ref.: 201503616401) Pontos: 1,0  / 1,0
O espaço necessário para a representação dos dados pode ser alocado à medida que se torne necessário,
através da alocação dinâmica. Uma estrutura armazenada através de encadeamento apresenta seus nodos
alocados em posições aleatórias na memória, e não lado a lado. Dessa forma, existem várias vantagens no uso
de representar os dados por encadeamento. Marque a alternativa correta que apresenta estas vantagens.
Proteção de memória, transferência de dados, estruturas simples.
  Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes.
Outpost 2 ­ Inferno
Negro (2015) ...
Orgulho e Esperança
(2015) BRRip ...
Orgulho e Esperança
(2015) BRRip ...
Terremoto ­ A Falha
de San Andre ...
O Exterminador do
Futuro: Gênesi ...
A Ameaça (2015)
BRRip Blu­Ray 10 ...
30/09/2015 BDQ Prova
http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_hist=7743144510 2/4
Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos.
Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos.
Acesso, representação, compartilhamento de memória.
 Gabarito Comentado.
  3a Questão (Ref.: 201503616417) Pontos: 1,0  / 1,0
Em programação podemos utilizar um recurso que modulariza o programa chamado função. As funções
precisam ser ativadas para que possam ser executadas. Para isso, é necessário chamar a função pelo seu
nome e enviar, quando necessário, os valores respectivos para os parâmetros de entrada. Ao enviar os valores
para os parâmetros de entrada, o programa pode fazer uma cópia deste valor ou trabalhar em um endereço
enviado. Quando se envia o endereço estamos ativando a função por meio de:
Envio de valor.
Registro.
Passagem por valor.
Envio de inteiro.
  Ponteiros.
 Gabarito Comentado.
  4a Questão (Ref.: 201504229938) Pontos: 1,0  / 1,0
Blocos únicos de códigos que realizam diversas tarefas distintas são de difícil manutenção. Portanto, utiliza­se a
técnica da modularização de programas, a fim de facilitar a implementação e a manutenção dos programas.
Esta técnica tem como principal elemento:
As Filas
  As funções
As Estruturas de Dados
Os Vetores
Os Grafos
  5a Questão (Ref.: 201504287982) Pontos: 1,0  / 1,0
Marquea opção correta, considerando 
struct Livro { 
int codigo; 
float preco; 
} liv; 
Livro­>liv.codigo = 12345;
Livro.liv.codigo = 12345;
liv­>preco = 30.70;
  liv.preco = 30.70;
Livro.codigo = 12345;
30/09/2015 BDQ Prova
http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_hist=7743144510 3/4
  6a Questão (Ref.: 201504229943) Pontos: 1,0  / 1,0
Pode­se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob
uma lógica e associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma
estrutura como:
struct aluno {
string nome;
float nota;
};
Suponha ainda que exista um vetor desta estrutura, definido como:
aluno vet [100];
Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento deste
vetor.
vet[10].aluno.nota=5.7 ;
aluno.vet[10]=5.7;
aluno.vet[10].nota=5.7;
  vet[10].nota=5.7;
vet[10]=aluno.5.7;
  7a Questão (Ref.: 201504204685) Pontos: 1,0  / 1,0
Analisando o trecho de código a seguir:
inicio=0; 
fim= tamanho ­ 1;
meio=(inicio+fim)/2; 
while(procura != nomeVetor[meio] && inicio != fim)
{
  if(procura > nomeVetor[meio])            
   inicio=meio+1;
  else 
   fim=meio; 
  meio=(inicio+fim)/2;   
}
if(nomeVetor[meio]==procura)
 cout<<"\n....: "< < outroVetor[meio]<else 
 cout<<"\nDado nao encontrado\n";
Pode­se afirmar que:
trata­se da implementação do algortimo de ordenação por inserção.
trata­se da implementação do algortimo de busca sequencial
  trata­se da implementação do algortimo de busca binária.
trata­se da implementação do algortimo de ordenação bolha.
trata­se da implementação do algortimo de ordenação por seleção.
  8a Questão (Ref.: 201503616390) Pontos: 1,0  / 1,0
Os métodos de ordenação são muito utilizados para facilitar a recuperação posterior de itens ordenados.
Existem vários métodos de ordenação, por esse motivo, assinale corretamente a alternativa que mostra o nome
do método que utiliza a estratégia de ordenação por trocas de vizinhos e é considerado o método mais simples.
Seleção
Hash
  Bolha
Binária
30/09/2015 BDQ Prova
http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_hist=7743144510 4/4
Inserção
 Gabarito Comentado.
  9a Questão (Ref.: 201504263927) Pontos: 1,0  / 1,0
Considere uma lista com n  livros, em que cada livro é modelado pela struct :
 
struct Livro {
                            string titulo,  editora, autor;
                            float preco;
};
 
A função X abaixo
 
void X (Livro v[ ], int &n, Livro L)
{
     v[n] = L;
     n++;
    cout << "Operação realizada com sucesso.";
}
 
implementa a operação de :
Inicialização
Substituição
Ordenação por inserção
  Inserção
Busca
  10a Questão (Ref.: 201503616384) Pontos: 1,0  / 1,0
As estruturas de dados em programação são muito utilizadas para tornar o acesso aos dados mais eficiente e
organizado. A estrutura de dados considerada mais simples e tem como característica apresentar apenas uma
dimensão é:
Variável
Matriz
Registro
  Vetor
Função
 Gabarito Comentado.
 
Avaliação: CCT0260_AV_ » ESTRUTURA DE DADOS
Tipo de Avaliação: AV
Aluno
Professor: JANE TAVARES ALVAREZ DA SILVA Turma: 9004/AD
Nota da Prova: 6,5 Nota de Partic.: 2 Av. Parcial 2 Data: 14/06/2016 15:35:10
Defina um tipo de dado (registro) capaz de armazenar as seguintes informações sobre um determinado cliente 
de um banco: nome, CPF, RG, número da conta, data de abertura da conta, e saldo.
Com base neste tipo de dado, construa o trecho código em C++ que represente a leitura dos dados do cliente 
feita pelo usuário.
Resposta:
Gabarito:
struct ClienteBanco{
 string nome;
 string cpf;
 int rg;
 int numConta;
 double saldo;
};
ClienteBanco cliente;
cin >> cliente.nome;
cin >> cliente.cpf;
cin >> cliente.rg;
cin >> cliente.saldo;
Em relação a filas e pilhas dinâmicas, cite uma das vantagens de se implementar estruturas dinamicamente.
Resposta: Estruturas dinamicas tem a avantagem de fazer alocação de memoria em tempo de compilação e 
terem seu tamanho alterado comforme a demanda. O sistema não para por falta de alocação de memoria.
Gabarito: É o fato destas estruturas ocuparem espaço estritamente necessário.
Observe a struct, definida globalmente, e um trecho de uma função que manipula 
 Preciso cadastrar todos os interessados em meu novo curso de programação. Qual a estrutura de dados
mais adequada para modelar este problema, visto que não há qualquer preocupação com ordem de
chegada ou saída de aluno da turma.
Quest.: 1
As estruturas de dados são importantes para a programação porque facilitam a pesquisa, pois permitem a
ordenação dos dados de forma crescente ou decrescente. Dessa forma, assinale a alternativa correta que
define um tipo de dado estruturado.
Quest.: 2
Uma função possui um valor de retorno inteiro, recebe por valor um inteiro como primeiro parâmetro e por
referência um inteiro como segundo parâmetro. Qual das respostas abaixo poderia representar o protótipo
dessa função:
Quest.: 3
Considere a função:
void dobro(int x) {
 x = 10 * x;
}
Qual será o valor impresso na tela quando o programa principal for executado?
int main() {
int n;
n = 5;
dobro(n);
cout << n;
return 0;
Quest.: 4
 Lupa 
CCT0260_SM_201408383462 V.1
quinta-feira, 4 de agosto de 2016 (19:00)
 » 26:58 de 50 min. FINALIZAR
Aluno: GILVAN SILVA DOS SANTOS Matrícula: 201408383462
Disciplina: CCT0260 - ESTRUTURA DE DADOS Período Acad.: 2016.2 EAD (GT) / SM
1.
Lista
 Fila
 Pilha
Grafo
Árvore
2.
São tipos de dados indivisíveis.
Também são denominados tipos primitivos, não é possível decompor em partes menores.
Permitem agregar mais do que um valor em uma variável, existindo uma relação estrutural entre seus elementos.
Podem armazenar apenas um valor de cada vez, se algum valor for atribuído o anterior é apagado.
Consiste da definição do conjunto de valores (denominado domínio) que uma variável pode assumir ao longo da
execução de um programa.
3.
int func (int &a, int b);
void func (int a, int &b);
int func (int a, int &b);
int func (&int, int);
void func (int &a, int &b);
4.
Simulado http://simulado.estacio.br/bdq_simulados_ead_ens.asp?cod_disc=CC...
1 de 4 04/08/2016 19:23
}
 
Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados
sob uma lógica e associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma
estrutura como:
struct aluno {
string nome;
float nota;
};
Suponha ainda que exista um vetor desta estrutura, definido como:
aluno vet [100];
Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento deste
vetor.
Quest.: 5
Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente,
agrupados sob uma lógica e associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição
de uma estrutura como:
 
 struct aluno {
 string nome;
 float nota;
};
 
Suponha ainda que exista um vetor desta estrutura, definido como:
 aluno vet [ 100];
 
Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro
elemento deste vetor.
Quest.: 6
Marque a afirmativa correta para a "inserção incremental". Quest.: 7
50
10
Haverá um erro de compilação
5
0
5.
vet[10]=aluno.5.7;
aluno.vet[10].nota=5.7;
vet[10].aluno.nota=5.7 ;
vet[10].nota=5.7;
aluno.vet[10]=5.7;6.
vet[10].nota=5.7;
aluno.vet[10].nota=5.7;
vet[10].aluno.nota=5.7 ;
aluno.vet[10]=5.7;
vet[10]=aluno.5.7;
7.
É um tipo de sequenciação por intercalação.
Os pivôs são escolhidos aleatoriamente.
A técnica é boa quando os dados ficam uniformemente distribuídos entre os seus compartimentos.
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
É um tipo de ordenação por intercalação
Simulado http://simulado.estacio.br/bdq_simulados_ead_ens.asp?cod_disc=CC...
2 de 4 04/08/2016 19:23
Entre os diversos algoritmos de pesquisa existentes, certamente os mais famosos são os da
pesquisa sequencial e o da pesquisa binária. A busca ou pesquisa sequencial pode ser aplicada em
vetores independente destes estarem ordenados, entretanto a busca binária só se aplica em
vetores ordenados.
Seja o vetor A= {10,35,41,55,69,70,98}, suponha que o número 70 foi pesquisado pelo algoritmo
da busca sequencial e também pelo algoritmo da busca binária, ambos algoritmos realizam testes
nos elementos do vetor até achar o que procuram ou definirem que o elemento não se encontra no
vetor. Sendo assim marque a alternativa que expressa o número de testes realizados pela busca
sequencial e o número de testes realizados pela busca binária, respectivamente, até encontrarem o
70.
Quest.: 8
Considere uma lista com n livros, em que cada livro é modelado pela struct :
 
struct Livro {
 string &tulo, editora, autor;
 float preco;
};
 
A função X abaixo
 
void X (Livro v[ ], int &n, Livro L)
{
 v[n] = L;
 n++;
 cout << "Operação realizada com sucesso.";
}
 
implementa a operação de :
Quest.: 9
Quest.: 10
8.
6 e 1
7 e 1
6 e 2
6 e 4
5 e 5
9.
Inicialização
Subs&tuição
Inserção
Busca
Ordenação por inserção
10.
for (int i = 0; i < n; i++)
 cout << L[i] << endl;
for (int i = 0; i < n; i++)
 cout << L.matricula << " " << L.nome << endl;
for (int i = 0; i < n; i++)
 cout << L[i].matricula << " " << L[i].nome << endl;
for (int i = 0; i < n; i++)
 cout << L[i].matricula << " " << L[i].nome[30] << endl;
Simulado http://simulado.estacio.br/bdq_simulados_ead_ens.asp?cod_disc=CC...
3 de 4 04/08/2016 19:23
for (int i = 0; i < n; i++)
 cout << L.matricula[i] << " " << L.nome[i] << endl;
 FINALIZAR O SIMULADO
Legenda: Questão não respondida Questão não gravada Questão gravada
Simulado http://simulado.estacio.br/bdq_simulados_ead_ens.asp?cod_disc=CC...
4 de 4 04/08/2016 19:23
Professor: JANE TAVARES ALVAREZ DA SILVA Turma: 9002/AA 
Nota da Prova: 7,2 Nota de Partic.: 1 Data: 19/11/2013 10:31:32 
 
 
 1a Questão (Ref.: 201301668139) Pontos: 0,8 / 0,8 
Diferentes tipos de estrutura de dados são adequadas a diferentes tipos de aplicação e algumas são altamente 
especializadas, destinando-se a algumas tarefas específicas. Dessa forma a definição de Estrutura de Dados está 
expressa na alternativa: 
 
 
É um modo de utilização de dados nos programas de computador. 
 
É um modo de distribuição e organização de dados em uma rede de computador de modo que possam 
ser usados de modo eficiente. 
 É um modo particular de armazenamento e organização de dados em um computador de modo que 
possam ser usados de modo eficiente. 
 
São os nomes dados as variáveis na montagem de uma rotina. 
 
É um modo de deleção de dados em um computador. 
 
 
 
 2a Questão (Ref.: 201301676597) Pontos: 0,8 / 0,8 
Existem vários tipos de estruturas de dados do tipo dinâmicas, entretanto, uma estrutura considerada simples 
são as listas. Pode-se implementar vários tipos de listas, entretanto, a estrutura que apresenta o conceito de 
LIFO é: 
 
 
Ponteiro 
 
Struct 
 Pilha 
 
Matriz 
 
Fila 
 
 
 
 3a Questão (Ref.: 201301707043) Pontos: 0,8 / 0,8 
Como é a lógica do FIFO? 
 
 
Resposta: a logica FIFO (first in first out) implementada em listas do tipo FILA é logica onde o primeiro 
elemento a entrar na lista é o primeiro a sair. 
 
 
Gabarito: O primeiro que entra na fila é o primeiro que sai. 
 
 
 
 4a Questão (Ref.: 201301743726) Pontos: 0,8 / 0,8 
Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para: 
 
 
Para cima e para baixo ou para frente e para trás. 
 Para frente e para trás, apenas. 
 
Para frente, apenas. 
 
Para cima e para baixo, apenas. 
 
Para trás, apenas. 
 
 
 
 5a Questão (Ref.: 201301676087) Pontos: 0,8 / 0,8 
Qual das seguintes estruturas de dados é classificada como heterogênea? 
 
 
Loop 
 Registro 
 
Vetor 
 
Pilha 
 
Fila 
 
 
 
 6a Questão (Ref.: 201301679424) Pontos: 0,8 / 0,8 
Para consultarmos uma estrutura de dados, normalmente, empregamos um tipo de pesquisa de dados. O trecho 
de programa a seguir refere-se a uma pesquisa por um elemento único (sua primeira ocorrência), em um 
conjunto de elementos de dados armazenado em uma estrutura de acesso indexado e aleatório. Selecione a 
opção correspondente ao algoritmo utilizado, no programa, para a referida pesquisa: 
int busca(float v[], float valor, int n) { 
int ini = 0, fim = n -1, meio; 
while (ini <= fim) { 
meio = (ini + fim)/2; 
if (v[meio] == valor) return meio; 
if (valor < v[meio]) fim = meio -1; 
 else ini = meio+1; 
} 
return -1; 
} 
 
 pesquisa binária 
 
pesquisa de cadeias 
 
pesquisa cadeias indexada 
 
pesquisa sequencial 
 
pesquisa indexada 
 
 
 
 7a Questão (Ref.: 201301704749) Pontos: 0,0 / 0,8 
Considere uma lista simplesmente encadeada não circular de inteiros e o tipo 
 struct no { 
 int dado; 
 struct no *link; 
 }; 
Faça uma função para inverter a lista e retornar o ponteiro para o início da lista resultante. 
Protótipo : no *inverter(no *ini); //ini aponta para o início da lista 
 
 
Resposta: no *inverter (no *ini){ int link= *ini; } 
 
 
Gabarito: no *inverter ( no *ini) // ini é um ponteiro para o início da lista { no *a, *b, *c; a = ini; b = NULL; 
while (a != NULL) { c = b; b = a; a = a->link; b->link = c; } ini = b; return(ini); } /* fim da função */ 
 
 
 
 8a Questão (Ref.: 201301743727) Pontos: 0,8 / 0,8 
Uma fila duplamente terminada, isto é, uma estrutura linear que permite inserir e remover de ambos os 
extremos é chamada de: 
 
 
Autômato. 
 
Árvore. 
 
Shift-and. 
 
Boyer-Moore. 
 Deque. 
 
 
 
 9a Questão (Ref.: 201301676103) Pontos: 0,8 / 0,8 
O almoxarifado de um órgão pediu ao técnico de informática que elaborasse um sistema de custeio que, para 
cada saída de material, considerasse o custo do mais recente que houvera dado entrada no almoxarifado. O 
técnico deve desenvolver um programa para tratar com uma estrutura de dados do tipo? 
 
 
FIFO 
 
TABLE 
 
RECORD 
 LIFO 
 
ARRAY 
 
 
 
 10a Questão (Ref.: 201301676603) Pontos: 0,8 / 0,8 
Os registros também conhecidos como estruturas, são estruturas de dados do tipo heterogêneo, ou seja, 
permitem que valores de tipos diferentes possam ser armazenados em uma mesma estrutura. Analisando a 
estrutura abaixo, a mesma pode ser utilizada para qual tipo de estrutura de ordenação, marque a alternativa 
correta. 
struct nomeRegistro{ 
 int info; 
 struct nomeRegistro* ant; 
 struct nomeRegistro* prox; 
}; 
typedef struct nomeRegistro NOMEREGISTRO; 
 
 
Fila 
 
Matriz 
 
Pilha 
 Lista duplamente encadeada 
 
Listaencadeada 
 
 
 
 11a Questão (Ref.: 201301676467) DESCARTADA 
Considerando a estrutura de fila circular vista em sala, que define as seguintes operações com uma fila: 
int enfileirar(int v[], int valor, int *fim) - insere um elemento na fila indicada por v. 
int desenfileirar(int v[], int *inicio, int fim, float &valor) - remove um elemento da fila indicada por v. 
Supondo que foram realizadas as seguintes operações numa fila circular (implementada em uma estrutura 
linear sequencial) de números inteiros de tamanho 5, que inicialmente se encontrava vazia: 
enfileirar (minhaFila[], 10, fim); 
enfileirar (minhaFila[], 20, fim); 
desenfileirar (minhaFila[], inicio, fim, valor); 
enfileirar (minhaFila[], 30, fim); 
desenfileirar (minhaFila[], inicio, fim, valor); 
enfileirar (minhaFila[], 40, fim); 
enfileirar (minhaFila[], 50, fim); 
enfileirar (minhaFila[], 60, fim); 
desenfileirar (minhaFila[], inicio, fim, valor); 
enfileirar (minhaFila[], 70, fim); 
Qual a posição, dentro da estrutura linear sequencial (vetor - que representa a fila), que se encontra o último 
elemento inserido na fila? 
 
 4 
 
5 
 
7 
 1 
 
6 
 
01/07/2016 Estácio
http://bquestoes.estacio.br/entrada.asp?p0=5718195&p1=201408074389&p2=2077403&p3=CCT0260&p4=102366&p5=AV&p6=09/06/2016&p10=43942086 1/3
   Fechar
Avaliação: CCT0260_AV_201408074389 » ESTRUTURA DE DADOS
Tipo de Avaliação: AV
Aluno: 201408074389 ­ JOERBETH CARVALHO OLIVEIRA
Professor: SERGIO DE OLIVEIRA SANTOS Turma: 9006/AA
Nota da Prova: 6,0    Nota de Partic.: 0,5   Av. Parcial 0  Data: 09/06/2016 11:30:37
  1a Questão (Ref.: 201408786870) Pontos: 0,0  / 1,0
Em relação a estrutura de dados, o que caracteriza uma lista encadeada?
Resposta: UMA MELHOR PERFORMANCE NA PESQUISA E INSTRUTURAÇÃO, AS PESQUISAS SÃO FEITAS PARA
FRENTE E PARA TRÁS
Gabarito: Não ter seus nós, obrigatoriamente, alocados de forma contígua.
  2a Questão (Ref.: 201408786867) Pontos: 1,0  / 1,0
Em relação a filas e pilhas dinâmicas, cite uma das vantagens de se implementar estruturas dinamicamente.
Resposta: FILAS : SÃO ESTRUTURAS QUE RECUPERAM OS DADOS NA ORDEM DIRETAS QUE ESTES FORAM
ARMAZENADOS PILHAS : SÃO ESTRUTURAS QUE RECUPERAM OS DADOS NA ORDEM REVERSA EM QUE ESTES
FORAM ARMAZENADOS
Gabarito: É o fato destas estruturas ocuparem espaço estritamente necessário.
  3a Questão (Ref.: 201408348967) Pontos: 1,0  / 1,0
Na maioria dos sistemas operacionais, os arquivos são organizados hierarquicamente em um esquema de
diretórios (pastas) e sub­diretórios. Qual a estrutura mais adequada para representar este problema ?
fila
  árvore
grafo
pilha
lista
  4a Questão (Ref.: 201408109974) Pontos: 1,0  / 1,0
Em programação podemos utilizar um recurso que modulariza o programa chamado função. As funções
precisam ser ativadas para que possam ser executadas. Para isso, é necessário chamar a função pelo seu
nome e enviar, quando necessário, os valores respectivos para os parâmetros de entrada. Ao enviar os valores
para os parâmetros de entrada, o programa pode fazer uma cópia deste valor ou trabalhar em um endereço
enviado. Quando se envia o endereço estamos ativando a função por meio de:
01/07/2016 Estácio
http://bquestoes.estacio.br/entrada.asp?p0=5718195&p1=201408074389&p2=2077403&p3=CCT0260&p4=102366&p5=AV&p6=09/06/2016&p10=43942086 2/3
  Ponteiros.
Passagem por valor.
Envio de inteiro.
Envio de valor.
Registro.
  5a Questão (Ref.: 201408781539) Pontos: 1,0  / 1,0
Marque a opção correta, considerando 
struct Livro { 
int codigo; 
float preco; 
} liv; 
Livro.codigo = 12345;
  liv.preco = 30.70;
Livro.liv.codigo = 12345;
liv­>preco = 30.70;
Livro­>liv.codigo = 12345;
  6a Questão (Ref.: 201408109761) Pontos: 0,0  / 1,0
Sobre o funcionamento da busca binária, é correto afirmar que dividindo seu vetor em duas metades.
Se o item for menor que o item que está na metade do vetor, o item foi encontrado.
  Se o item for igual ao item que está na metade do vetor, o item não foi encontrado.
  Se o item for igual ao item que está na metade do vetor, o item foi encontrado.
Se o item for maior que o item que está na metade do vetor procure na primeira metade, ou seja, a da
direita.
Se o item for menor que o item que está na metade do vetor, procure na segunda metade, ou seja, a da
direita.
  7a Questão (Ref.: 201408673665) Pontos: 0,5  / 0,5
__________________________ é uma lista linear em que a alocação de memória pode ser estática, e que a
forma de armazenamento é contígua ou sequencial na memória. Usamos este tipo de lista quando se tem em
mente um tamanho pré­definido, ou seja, quando se sabe até onde a lista pode crescer.
Lista Não Linear
Lista Linear Não Alocada
Lista Linear de Alocação de Memória
  Lista Linear Sequencial
Lista Linear Não Sequencial
  8a Questão (Ref.: 201408347813) Pontos: 0,5  / 0,5
Na pequena pizzaria de Dom Leopoldo os pedidos são anotados em uma planilha e assim que montam um lote
com 5 pizzas, as entregas começam. As pizzas são organizadas no veículo de entrega respeitando a ordem da
entrega, ou seja, a 1a. pizza a ser entregue fica na frente de todas e assim, sucessivamente. Dessa forma, a
última pizza a ser entregue ficará no final do veículo, após todas as outras pizzas. Qual a estrutura de dados é
mais adequada para modelar a organização das pizzas no veículo de entrega ?
fila
01/07/2016 Estácio
http://bquestoes.estacio.br/entrada.asp?p0=5718195&p1=201408074389&p2=2077403&p3=CCT0260&p4=102366&p5=AV&p6=09/06/2016&p10=43942086 3/3
grafo
  pilha
árvore
lista
  9a Questão (Ref.: 201408679803) Pontos: 0,5  / 0,5
A linguagem C++ oferece quatro meios de criação de tipos de dados: matrizes, estruturas ou structs, uniões e
classes. As estruturas, que passaremos a chamar simplesmente de structs, são tipos de variáveis que agrupam
dados geralmente desiguais, enquanto matrizes são variáveis que agrupam dados similares. Devido a esta
característica as structs são utilizadas para modelar nodos (nós) de estruturas dinâmicas. Portanto podemos
afirmar que:
  As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de
execução e terem seus tamanhos alterados de acordo com a demanda.
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tanto em
tempo de execução quanto em tempo de compilação, mas não podem ter seus tamanhos alterados de
acordo com a demanda.
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de
compilação e terem seus tamanhos alterados de acordo com a demanda.
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de
compilação e entretanto seus tamanhos só são alterados na codificação de acordo com a demanda.
As estruturas dinâmicas são assim chamadas, pois não podem fazer alocação de memória em tempo de
execução, mas mesmo assim conseguem ter seus tamanhos alterados de acordo com a demanda.
  10a Questão (Ref.: 201408773891) Pontos: 0,5  / 0,5
Os registros também conhecidos como estruturas, são estruturas de dados do tipo heterogêneo, ou seja,
permitem que valores de tipos diferentes possam ser armazenados em uma mesma estrutura. Analisando a
estrutura abaixo, a mesma pode ser utilizada para qual tipo de estrutura de dados, marque a alternativa
correta.
struct nomeRegistro{
       int info;
       struct nomeRegistro* ant;
       struct nomeRegistro* prox;
};
typedef struct nomeRegistro NOMEREGISTRO;
Lista encadeada
Fila
Matriz
Pilha
  Lista duplamente encadeada
SIMULADO ESTRUTURA DE DADOS -1 a ( aula 1 a 5) 
Desempenho: 5,0 de 8,0 Data: 04/05/2015 22:41:59 (Finalizada) 
 
 
 1a Questão (Ref.: 201102149340) Pontos: 0,0 / 1,0 
Considere uma estrutura de dados do tipo vetor. Com respeitoa tal estrutura, é correto que seus componentes 
são caracteristicamente: 
 
 
Heterogêneos e com acesso FIFO. 
 Heterogêneos e com acesso LIFO. 
 Homogêneos e de acesso aleatório por intermédio de índices. 
 
Homogêneos e com acesso indexado-sequencial. 
 
Heterogêneos e com acesso indexado-sequencial. 
 Gabarito Comentado. 
 
 
 
 
 2a Questão (Ref.: 201102358998) Pontos: 1,0 / 1,0 
Analise as afirmativas abaixo e selecione a alternativa correta. 
 
I Algumas aplicações da estrutura de dados grafo são: Diagrama de Entidade 
Relacionamento e Redes de computadores. 
 
II Árvore e lista duplamente encadeada são estruturas não lineares. 
III A Fila é uma estrutura não linear e a inserção de um elemento acontece ao 
final. 
IV A Lista é uma das estruturas de dados mais simples, mas não se pode ordená-
la. 
 
V O uso de ponteiros é fundamental para construção de listas encadeadas. 
 
 II e V são verdadeiras 
 II E IV são verdadeiras 
 I e V são verdadeiras 
 I , II e IV são verdadeiras 
 III e V são verdadeiras 
 Gabarito Comentado. 
 
 
 
 
 3a Questão (Ref.: 201102217018) Pontos: 1,0 / 1,0 
Assinale a opção certa. 
 Quando não se escreve o protótipo de uma função ... 
 
 
A chamada da função não poderá ser feita em qualquer hipótese. 
 
O programa não funcionará de forma alguma. 
 
A chamada da função poderá ser feita em qualquer hipótese. 
 
A definição da função deverá ser escrita, obrigatoriamente, após o programa principal. 
 É preciso definir a função antes do programa principal. 
 Gabarito Comentado. 
 
 
 
 
 4a Questão (Ref.: 201102149671) Pontos: 1,0 / 1,0 
É correto afirmar sobre o funcionamento da busca sequencial. 
 
 
Os elementos são pesquisados de acordo com o índice. Melhor caso: o elemento está no meio do meu 
vetor. 
 
Os elementos são pesquisados aleatoriamente. Pior caso: o elemento está no último índice do meu vetor. 
 
Os elementos são pesquisados de acordo com o índice. Melhor caso: o elemento está no último índice do 
meu vetor. 
 
Os elementos são pesquisados de acordo com o índice. Pior caso: o elemento está no primeiro índice do 
meu vetor. 
 Os elementos são pesquisados de acordo com o índice. Pior caso: o elemento está no último índice do 
meu vetor. 
 Gabarito Comentado. 
 
 
 
 
 5a Questão (Ref.: 201102199523) Pontos: 0,0 / 1,0 
É um método de pesquisa ou busca, cujo algoritmo parte do pressuposto de que o vetor está 
ordenado e realiza sucessivas divisões do espaço de busca, comparando o elemento buscado (chave) 
com o elemento no meio do vetor. Se o elemento do meio do vetor for a chave, a busca termina com 
sucesso. Caso contrário, se o elemento do meio vier antes do elemento buscado, então a busca 
continua na metade posterior do vetor. E finalmente, se o elemento do meio vier depois da chave, a 
busca continua na metade anterior do vetor. 
A descrição apresentada trata-se do método denominado busca ...... 
 
 por comparação. 
 binária. 
 
linear. 
 
por contagem. 
 
randômica. 
 Gabarito Comentado. 
 
 
 
 
 6a Questão (Ref.: 201102141401) Pontos: 1,0 / 1,0 
Assinale a alternativa que apresenta duas formas de passagem de parâmetros para uma rotina ou função: 
 
 
Por memória e por disco. 
 
Por reforço e por referência. 
 Por valor e por referência 
 
Por inferência e por valor. 
 
Por teste e por reforço. 
 Gabarito Comentado. 
 
 
 
 
 7a Questão (Ref.: 201102388878) Pontos: 1,0 / 1,0 
Na maioria dos sistemas operacionais, os arquivos são organizados hierarquicamente em um esquema de 
diretórios (pastas) e sub-diretórios. Qual a estrutura mais adequada para representar este problema ? 
 
 
pilha 
 árvore 
 
lista 
 
grafo 
 
fila 
 Gabarito Comentado. 
 
 
 
 
 8a Questão (Ref.: 201102149491) Pontos: 0,0 / 1,0 
Podemos dizer que estrutura de dados é: 
 
 
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo. 
 O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações. 
 Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente 
determinada. 
 
É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma 
solução do problema. 
 
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma 
solução do problema. 
 Gabarito Comentado. 
 
 
 
 
 9a Questão (Ref.: 201102170932) 
const int TAMMAX = 100; 
struct TipoLista{ 
int qtde; // descritor que representa a quantidade de elementos na lista 
int elemt[TAMMAX]; 
}; 
Fundamento no tipo de dado(registro) acima que representa uma implementação de uma lista linear sequencial. 
Construa um procedimento para adicionar um dado no final da lista. 
A lista e o dado serão passados por parâmetro. Usar o mecanismo de passagem por referência se for 
necessário. 
 
 
Sua Resposta: void addFinalLista ( TipoLista &lista, int dado ) { if(lista.qtde == TAMMAX) { cout << "Lista 
Cheia."; } else{ lista.elemt[lista.qtde] = dado; lista.qtde++; cout << "Dado adicionado com sucesso."; } } 
 
 
Compare com a sua resposta: 
void addFinalLista ( TipoLista &lista, int dado ){ 
if(lista.qtde == TAMMAX){cout << "Lista Cheia."; } 
else{ lista.elemt[lista.qtde] = dado; 
 lista.qtde++; 
 cout << "Dado adicionado com sucesso."; 
} } 
 
 
 
 10a Questão (Ref.: 201102180301) 
Como é a lógica do LIFO? 
 
 
Sua Resposta: O Primeiro que entra na pilha é o ultimo a sair. Assim como o Ultimo que entra é o Primeiro que 
sai. Last in, First out . Exemplo pilha de alter, onde o ultimo peso colocado será o primeiro a ser retirado. 
 
 
Compare com a sua resposta: O primeiro que entra na pilha é o último que sai. 
 
 
 
Simulado Estrutura de Dados – 2 (aula 1 a 5) 
Desempenho: 6,0 de 8,0 Data: 04/05/2015 23:03:35 (Finalizada) 
 
 
 1a Questão (Ref.: 201102354550) Pontos: 1,0 / 1,0 
 
 Navegadores para internet armazenam os últimos endereços visitados em uma estrutura de 
dados. Cada vez que um novo site é visitado, o endereço do site é adicionado na estrutura de 
endereços. Quando se aciona o retorno ("back"), o navegador permite que o usuário retorne no 
último site visitado e retira o endereço do site da estrutura de dados. 
Assinale a estrutura de dados mais adequada para este problema. 
 
 
fila 
 pilha 
 
lista 
 
árvore 
 
grafo 
 Gabarito Comentado. 
 
 
 
 
 2a Questão (Ref.: 201102141398) Pontos: 0,0 / 1,0 
Diferentes tipos de estrutura de dados são adequadas a diferentes tipos de aplicação e algumas são altamente 
especializadas, destinando-se a algumas tarefas específicas. Dessa forma a definição de Estrutura de Dados está 
expressa na alternativa: 
 
 
É um modo de deleção de dados em um computador. 
 
São os nomes dados as variáveis na montagem de uma rotina. 
 É um modo de distribuição e organização de dados em uma rede de computador de modo que possam 
ser usados de modo eficiente. 
 
É um modo de utilização de dados nos programas de computador. 
 É um modo particular de armazenamento e organização de dados em um computadorde modo que 
possam ser usados de modo eficiente. 
 Gabarito Comentado. 
 
 
 
 
 3a Questão (Ref.: 201102740767) Pontos: 1,0 / 1,0 
 Preciso cadastrar todos os interessados em meu novo curso de programação. Qual a estrutura de dados mais 
adequada para modelar este problema, visto que não há qualquer preocupação com ordem de chegada ou saída de 
aluno da turma. 
 
 Fila 
 Lista 
 Pilha 
 Grafo 
 Árvore 
 
 
 
 4a Questão (Ref.: 201102149329) Pontos: 1,0 / 1,0 
O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo = fim)? 
 
 
ordenação 
 
inclusão 
 overflow 
 
underflow 
 
remoção 
 Gabarito Comentado. 
 
 
 
 
 5a Questão (Ref.: 201102216963) Pontos: 1,0 / 1,0 
A estrutura de dados linear que obedece o seguinte critério: o último elemento inserido será o primeiro 
elemento a ser retirado (LIFO) é: 
 
 
fila. 
 
árvore AVL. 
 
árvore binária. 
 pilha. 
 
lista circular. 
 Gabarito Comentado. 
 
 
 
 
 6a Questão (Ref.: 201102149498) Pontos: 1,0 / 1,0 
Estão entre algumas das possíveis formas de se estruturar dados: 
 
 
Grafos, lista ordenada, algoritmos. 
 
Grafos, algoritmos, fila. 
 Grafos, lista ordenada, vetores. 
 
Algoritmos, lista ordenada, vetores. 
 
Lista encadeada, vetores, algoritmos. 
 Gabarito Comentado. 
 
 
 
 
 7a Questão (Ref.: 201102763416) Pontos: 0,0 / 1,0 
As estruturas de dados são utilizadas para manter dados ou informações organizados na memória, o que 
possibilita a otimização do uso destes dados. Porém, as estruturas guardam características especiais na 
manipulação destes dados, assim deve-se escolher a estrutura certa ou mais adequada para uma determinada 
aplicação. Portanto marque a opção que representa a melhor estrutura, quando se tem como requisitos 
principais o acesso aleatório aos dados e alocação destes de forma contínua na memória. 
 
 
Fila Sequencial 
 Lista Sequencial 
 Lista Encadeada 
 
Pilha Encadeada 
 
Pilha Sequencial 
 
 
 
 8a Questão (Ref.: 201102149673) Pontos: 1,0 / 1,0 
Sobre o funcionamento da busca binária, é incorreto afirmar que dividindo seu vetor em duas metades. 
 
 
Se o item for menor ao item que está na primeira posição do vetor, o item não foi encontrado. 
 
Se o item for igual ao item que está na metade do vetor, o item foi encontrado. 
 Se o item for igual ao item que está na metade do vetor, o item não foi encontrado. 
 
Se o item for maior que o item que está na metade do vetor procure na segunda metade, ou seja, a da 
direita. 
 
Se o item for menor que o item que está na metade do vetor, procure na primeira metade, ou seja, a da 
esquerda. 
 Gabarito Comentado. 
 
 
 
 
 9a Questão (Ref.: 201102180302) 
Como é a lógica do FIFO? 
 
 
Sua Resposta: Primeiro que entra é o primeiro a sair. exemplo fila do banco o primeiro que entra é o primeiro a 
ser atendido. 
 
 
Compare com a sua resposta: O primeiro que entra na fila é o primeiro que sai. 
 
 
 
 10a Questão (Ref.: 201102177994) 
 Os agentes Leo e Lia receberam sequências de números de seus contatos. Para 
saberem qual o próximo passo da missão, precisam descobrir que números se repetem 
nas sequências recebidas por cada um. 
 Faça uma função que receba dois vetores v e w de inteiros como parâmetros e gere um vetor z, 
resultante da interseção entre v e w. 
Protótipo da função : 
 bool intersecao(int v[ ], int w[ ], int z [ ], int nv , int nw , int &n); 
onde nv: quantidade de elementos em v 
 nw : quantidade de elementos em w 
 n : quantidade de elementos no vetor z 
Note : 
 Inicialmente n vale zero. 
 Deverá ser retornado true (sucesso na interseção) ou false (fracasso na interseção). 
 
 
Sua Resposta: bool intersecao(int v[], int w[], int inter[], int nv , int nw , int &n) { bool achou = false; for (int i 
= 0; i < nv; i++) for (int j = 0; j < nw; j++) if (v[i] == w[j]) { inter[n] = v[i]; achou = true; n++; } return 
achou; } 
 
 
Compare com a sua resposta: 
bool intersecao(int v[], int w[], int inter[], int nv , int nw , int &n) { 
bool achou = false; 
for (int i = 0; i < nv; i++) 
for (int j = 0; j < nw; j++) 
if (v[i] == w[j]) { 
inter[n] = v[i]; 
achou = true; 
n++; 
} 
return achou; 
} 
 
SIMULADO 3 ( aula 1 a 5) 
Desempenho: 6,0 de 8,0 Data: 04/05/2015 23:16:54 (Finalizada) 
 
 
 1a Questão (Ref.: 201102354583) Pontos: 0,0 / 1,0 
 
 
 por inserção. 
 bubblesort. 
 uma mistura dos métodos de ordenação por inserção e bubblesort. 
 por seleção. 
 
 
 uma mistura dos métodos de ordenação por seleção e por inserção. 
 Gabarito Comentado. 
 
 
 
 
 2a Questão (Ref.: 201102352123) Pontos: 1,0 / 1,0 
Entre os diversos algoritmos de pesquisa existentes, certamente os mais famosos são os da pesquisa 
sequencial e o da pesquisa binária. A busca ou pesquisa sequencial pode ser aplicada em vetores 
independente destes estarem ordenados, entretanto a busca binária só se aplica em vetores ordenados. 
Seja o vetor A= {10,35,41,55,69,70,98}, suponha que o número 70 foi pesquisado pelo algoritmo da 
busca sequencial e também pelo algoritmo da busca binária, ambos algoritmos realizam testes nos 
elementos do vetor até achar o que procuram ou definirem que o elemento não se encontra no vetor. 
Sendo assim marque a alternativa que expressa o número de testes realizados pela busca sequencial e 
o número de testes realizados pela busca binária, respectivamente, até encontrarem o 70. 
 
 
5 e 5 
 6 e 2 
 
6 e 4 
 
7 e 1 
 
6 e 1 
 Gabarito Comentado. 
 
 
 
 
 3a Questão (Ref.: 201102216977) Pontos: 0,0 / 1,0 
Quando as inserções e as remoções ocorrem sempre no mesmo lado da lista, trata-se de uma estrutura de 
dados denominada. 
 
 Pilha. 
 Lista encadeada. 
 
Lista circular. 
 
Fila. 
 
Vetor. 
 Gabarito Comentado. 
 
 
 
 
 4a Questão (Ref.: 201102149833) Pontos: 1,0 / 1,0 
Ao remover um elemento armazenado em uma pilha é necessário a atualização da variável (Topo) indicadora de 
posição. Qual das alternativas abaixo está correta? 
 
 
Após a operação de remoção incrementa a variável indicadora de posição. 
 Após a operação de remoção decrementa a variável indicadora de posição. 
 
Após a operação de remoção incrementa a variável indicadora de inicio. 
 
Antes a operação de remoção decrementa a variável indicadora de posição. 
 
Antes da operação de remoção incrementa a variável indicadora de posição. 
 Gabarito Comentado. 
 
 
 
 
 5a Questão (Ref.: 201102763413) Pontos: 1,0 / 1,0 
Entre os diversos algoritmos de pesquisa existentes, certamente os mais famosos são os da pesquisa sequencial 
e o da pesquisa binária. A busca ou pesquisa sequencial pode ser aplicada em vetores independente destes 
estarem ordenados, entretanto a busca binária só se aplica em vetores ordenados. Seja o vetor A= 
{10,35,41,55,69,70,98}, suponha que o número 70 foi pesquisado pelo algoritmo da busca sequencial e 
também pelo algoritmo da busca binária, ambos algoritmos realizam testes nos elementos do vetor até achar o 
que procuram ou definiremque o elemento não se encontra no vetor. Sendo assim marque a alternativa que 
expressa o número de testes realizados pela busca sequencial e o número de testes realizados pela busca 
binária, respectivamente, até encontrarem o 70. 
 
 
7 e 1 
 
5 e 5 
 
6 e 1 
 6 e 2 
 
6 e 4 
 
 
 
 6a Questão (Ref.: 201102364902) 
 Considere uma lista não ordenada de códigos espiões usados por Sherlock Silva. Ajude-o a 
encontrar um determinado código c, realizando uma busca de acordo com o seguinte 
protótipo: 
 int pesquisar(int v[ ], int c, int n); 
Note : v é o vetor de códigos, c é o código a ser procurado e n é a quantidade de códigos 
existentes em v. 
 
 
Sua Resposta: bool intersecao(int v[], int c, int &n) { bool achou = false; for (int i = 0; i < v; i++) for (int j = 0; j < 
v; j++) if (v[i] == n[j]) { inter[n] = v[i]; achou = true; n++; } return achou; } 
Compare com a sua resposta:
 
 
 
 
 7a Questão (Ref.: 201102149767) Pontos: 1,0 / 1,0 
Analise o seguinte trecho de algoritmo de ordenação de dados, cujos elementos estão dispostos em um vetor de 
nome v com n elementos. 
... 
{ 
int i, j, aux; 
for (j = 1; j < n; j++) 
for (i=j; i > 0 && v[i-1]> v[i]; i--) { 
aux = v[i-1]; 
v[i-1] = v[i]; 
v[i] = aux; 
} 
} 
... 
Assinale o método ao qual o trecho de algoritmo pertence. 
 
 
Heapsort 
 
Bolha 
 
Seleção 
 Inserção 
 
Quicksort 
 Gabarito Comentado. 
 
 
 
 
 8a Questão (Ref.: 201102149349) Pontos: 1,0 / 1,0 
Pilha é uma estrutura de dados 
 
 
Que pode ser implementada somente por meio de vetores. 
 
Cujo acesso aos seus elementos ocorre de forma aleatória. 
 Cujo acesso aos seus elementos segue a lógica LIFO. 
 
Que pode ser implementada somente por meio de listas. 
 
Cujo acesso aos seus elementos segue tanto a lógica LIFO quanto a FIFO. 
 Gabarito Comentado. 
 
 
 
 
 9a Questão (Ref.: 201102180302) 
Como é a lógica do FIFO? 
 
 
Sua Resposta: O primeiro que entra na fila é o primeiro que sai. 
 
 
Compare com a sua resposta: O primeiro que entra na fila é o primeiro que sai. 
 
 
 
 10a Questão (Ref.: 201102216982) Pontos: 1,0 / 1,0 
Sobre estrutura de dados, identifique o que está correto afirmar. 
I. Pilha é uma estrutura de dados com acesso restrito aos seus elementos, uma vez que eles são colocados e 
retirados por um único lado e são ordenados pelo princípio LIFO (last in first out). Assim, sempre que um 
elemento é adicionado ou retirado seu topo é alterado. 
II. Pilha é o tipo de estrutura usada, por exemplo, na avaliação de expressões numéricas, na recursividade e 
pelos compiladores, na passagem de parâmetros para as funções. 
III. Registro é uma estrutura básica que permite guardar coleções de dados de diferentes tipos, sendo 
normalmente utilizado quando um objeto tem diferentes atributos, isto é, contém campos de diferentes tipos. 
IV. Lista pode conter um número qualquer de elementos, expandindo-se ou contraindo-se conforme o 
elementos são inseridos ou retirados. Nesse tipo de estrutura, os acessos tanto podem ser feitos 
sequencialmente como diretamente. 
V. Fila, assim como a pilha , é uma versão especial de lista, e como tal, seus elementos são ordenados pelo 
princípio LIFO (last in first out). 
 
 I, II e III. 
 
I, III e V. 
 
II, IV e V. 
 
II, III, IV e V. 
 
I, III, IV e V. 
 Gabarito Comentado. 
 
 
 
 
SIMULADO 2 a – ( aula 6 a 10) 
Desempenho: 2,0 de 8,0 Data: 03/06/2015 21:35:48 (Finalizada) 
 
 
 1a Questão (Ref.: 201102719714) Pontos: / 1,0 
A linguagem C++ oferece quatro meios de criação de tipos de dados: matrizes, estruturas ou structs, uniões e 
classes. As estruturas, que passaremos a chamar simplesmente de structs, são tipos de variáveis que agrupam 
dados geralmente desiguais, enquanto matrizes são variáveis que agrupam dados similares. Devido a esta 
característica as structs são utilizadas para modelar nodos (nós) de estruturas dinâmicas. Portanto podemos 
afirmar que: 
 
 
As estruturas dinâmicas são assim chamadas, pois não podem fazer alocação de memória em tempo de 
execução, mas mesmo assim conseguem ter seus tamanhos alterados de acordo com a demanda. 
 
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tanto em 
tempo de execução quanto em tempo de compilação, mas não podem ter seus tamanhos alterados de 
acordo com a demanda. 
 
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de 
compilação e entretanto seus tamanhos só são alterados na codificação de acordo com a demanda. 
 
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de 
execução e terem seus tamanhos alterados de acordo com a demanda. 
 
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de 
compilação e terem seus tamanhos alterados de acordo com a demanda. 
 
 
 
 2a Questão (Ref.: 201102689133) Pontos: / 1,0 
Abaixo temos algumas afirmativas sobre o uso da estrutura pilha de forma estática e sequencial. Leia com 
muita atenção e assinale a opção correta. 
 
I Não existe movimentação na pilha quando inserimos ou removemos um elemento. Apenas o valor da 
variável que controla o topo é alterado. 
II Não podemos usar estruturas homogêneas, ou heterogêneas e uma variável para controlar o topo na 
alocação sequencial. 
III Um dos fatores que limita o crescimento da pilha é a quantidade de memória alocada quando usamos 
matrizes. 
IV Quando formos empilhar um elemento, é preciso verificar se a pilha não está cheia. Isso evita underflow. 
V Quando formos desempilhar um elemento, é preciso verificar se a pilha não está vazia. Isso evita overflow. 
 
 I, IV e V estão corretas 
 II, IV e V estão corretas 
 I, IV e V estão corretas 
 I e III estão corretas 
 Somente a I está correta 
 Gabarito Comentado. 
 
 
 
 
 3a Questão (Ref.: 201102389686) Pontos: 0,0 / 1,0 
Um programa desenvolvido para cadastrar grupos de 20 ajudantes especiais 
para atuarem em cada um dos 12 estádios sede da copa do mundo de futebol 
no Brasil, utiliza um critério especial para alocação dos grupos de ajudantes nos 
estádios. Isto é, considerando o estádio sede origem o Maracanã no Rio de 
Janeiro, os 20 últimos candidatos a se escreverem ficarão no estádio mais 
distante do Maracanâ, o penúltimo grupo de 20 inscritos, ficarão no segundo 
estádio mais distante do Maracanã, assim por diante até que, o segundo grupo 
de candidados inscritos ficarão no estádio sede mais próximo do Maracanâ e os 
primeiros candidatos escritos serão alocados no Maracanã. Para auxiliar o 
desenvolvimento deste programa pode-se utilizar: 
 
 Uma pilha sequencial de 20 posições para fase do cadastramento de 
todos os candidatos e uma fila sequencial de 20 posições para realizar 
as alocações de todos os candidatos começando pelos os estádios mais 
distantes do estádio sede. 
 Uma fila sequencial de 20 posições para fase do cadastramento de 
todos os candidatos e a mesma estrutura para realizar as alocações 
começando pelos os estádios mais distantes do estádio sede. 
 Uma pilha sequencial de 20 posições para fase do cadastramento de 
todos os candidatos e a mesma estrutura para realizar as alocações 
começando pelos os estádios mais distantes do estádio sede. 
 Uma pilha sequencial de 240 posições para fase do cadastramento de 
todos os candidatos e a mesma estrutura para realizar as alocações 
começando pelos os estádios mais distantesdo estádio sede. 
 Uma fila sequencial de 240 posições para fase do cadastramento de 
todos os candidatos e a mesma estrutura para realizar as alocações 
começando pelos os estádios mais distantes do estádio sede. 
 Gabarito Comentado. 
 
 
 
 
 4a Questão (Ref.: 201102389701) Pontos: 1,0 / 1,0 
Considere dados sendo manipulados em uma pilha sequencial em que as 
operações possíveis são: inserção - push(novo valor) ou remoção - pop(). 
Se realizarmos a seguinte sequencia de operações: 
push(A),push(B),push(C),pop(),pop(),push(D),pop(),pop(),pop(). 
Pode-se dizer que interior da pilha apresenta-se: 
 
 Vazio 
 Apenas com o dado D 
 Com os dados A e D 
 Com os dados A e B 
 Apenas com o dado A 
 Gabarito Comentado. 
 
 
 
 
 5a Questão (Ref.: 201102361973) Pontos: 0,0 / 1,0 
Um aluno do EAD estava estudando para a prova de Estrutura quando viu o trecho 
do programa abaixo em uma apostila. 
 
Como não estava com seu micro, começou a analisar a função entra(...), ficando 
atento a alguns membros da struct. 
Quando finalizou, virou a página da apostila e viu a resposta. Então, ficou muito 
feliz por ter identificado a estrutura 
Assinale a alternativa onde está presente a resposta correta. 
 
 Pilha 
 Fila 
 Fila Circular 
 Lista Linear 
 Lista simplesmente encadeada 
 Gabarito Comentado. 
 
 
 
 
 6a Questão (Ref.: 201102149850) Pontos: 0,0 / 1,0 
Sistemas operacionais utilizam filas para gerenciar, tarefas, processos e recursos. Qual é a ordenação dos 
elementos armazenados aleatoriamente em uma lista do tipo LIFO? 
 
 
Ordem decrescente 
 Ordem crescente 
 
Primeiro que entra é o primeiro a sair 
 
Posições aleatórias 
 Ordem de entrada 
 Gabarito Comentado. 
 
 
 
 
 7a Questão (Ref.: 201102387730) Pontos: 0,0 / 1,0 
Montei uma biblioteca popular que aceita doações sem limites. Marque a opção que especifica o tipo de lista e o 
tipo de alocação de memória mais adequados para este problema. 
 
 fila encadeada e alocação dinâmica de memória 
 
pilha dinâmica e alocação dinâmica de memória 
 
fila dinâmica e alocação dinâmica de memória 
 
lista sequencial e alocação dinâmica de memória 
 lista encadeada e alocação dinâmica de memória 
 Gabarito Comentado. 
 
 
 
 
 8a Questão (Ref.: 201102389728) Pontos: 1,0 / 1,0 
As variáveis são na verdade trecho de memórias que armazenam dados de 
diversas naturezas, portanto sempre que declara-se uma variável, na 
linguagem C++, é necessário informar o tipo de dado que esta irá armazenar. 
Um tipo especial de variáveis são os ponteiros, isto é, variáveis que 
armazenam apenas os endereços de outras variáveis. Assim os ponteiros 
são usados para que se possa acessar de forma indireta uma outra variável. 
Sabendo-se disto e supondo que o endereço na memória da variável "a" é 
100 e o endereço da memória da variável ponteiro é 200, analise o trecho de 
código abaixo e marque a alternativa que representa a saída do programa: 
 
 
 
 9 100 200 
 100 9 200 
 200 9 100 
 100 100 200 
 9 9 200 
 
 
 
 9a Questão (Ref.: 201102792322) 
Uma fila é também uma lista linear, mas para esta estrutura as inserções só podem ser efetuadas 
em um extremo da lista, e todas as retiradas (e geralmente os acessos) são realizados no outro 
extremo da lista. 
A partir do struct abaixo, crie uma função em C++ (somente o trecho da função) para remover um 
elemento inteiro no fim da fila. 
#define TAM 100 
struct tfila{ 
 int F, R; 
 int vetor [TAM]; 
}; 
 
 
Sua Resposta: tfila* retira (tfila* l, int v) { tfila* ant = NULL; tfila* p = l; 
 
 
Compare com a sua resposta: 
int remove_fila(struct tfila *pf) 
{ 
 int y; 
 if (pf->F > pf->R) 
 return 0; 
 y=pf->vetor[pf->F]; 
 pf->F++; 
 return y; 
} 
 
 
 
 10a Questão (Ref.: 201102792320) 
Uma fila é também uma lista linear, mas para esta estrutura as inserções só podem ser efetuadas 
em um extremo da lista, e todas as retiradas (e geralmente os acessos) são realizados no outro 
extremo da lista. 
A partir do struct abaixo, crie uma função em C++ (somente o trecho da função) para inserir um 
elemento inteiro no fim da fila. 
#define TAM 100 
struct tfila{ 
 int F, R; 
 int vetor [TAM]; 
}; 
 
 
 
Sua Resposta: tfila* insere (tfila* l, int F) { tfila* novo = (tfila*) malloc(sizeof(tfila)); novo->info = F; novo-
>prox = R; return novo; } 
 
 
Compare com a sua resposta: 
int insere_fila(struct tfila *pf, int elem) 
{ 
If(pf->R==TAM-1) 
 return 0; 
pf->R++; 
pf->vetor[pf->R] = elem; 
return 1; 
} 
 
SIMULDADO 2 b ( AULA 6 a 10) 
 
Desempenho: 5,0 de 8,0 Data: 03/06/2015 21:51:53 (Finalizada) 
 
 
 1a Questão (Ref.: 201102740853) Pontos: 0,0 / 1,0 
 Considere uma fila simples F de inteiros, do tipo Fila definido abaixo. Tal fila deverá armazenar códigos de agentes de uma 
firma de espionagem, desde que haja espaço para um novo agente. Assinale a opção que corretamente desenfileira o código 
de um agente, sabendo que a fila F foi inicializada de acordo com o trecho de código abaixo. 
struct Fila { in t v[100], inicio, fim; } ; 
Fila F; 
F. inicio = 0; 
F.fim = -1; 
 
 
 
 
 
void desenfileirar(Fila F) { 
 cout << "Removido o agente " << F.v[F.inicio]; 
 F.inicio--; 
 } 
 
 
 
void desenfileirar(Fila &F) { 
 if (F.fim == -1 && F.inicio == 0) 
 cout << "Não há agentes para retirar. " << endl; 
 else { 
 cout << "Removido o agente " << F.v[F.inicio]; 
 F.inicio++; 
 } 
} 
 
 
void desenfileirar(Fila F) { 
 if (F.inicio > F.fim) 
 cout << "Não há agentes para retirar. " << endl; 
 else { 
 cout << "Removido o agente " << F.v[F.inicio]; 
 F.inicio++; 
 } 
} 
 
 
void desenfileirar(Fila &F) { 
 if (F.inicio > F.fim) 
 cout << "Não há agentes para retirar. " << endl; 
 else { 
 cout << "Removido o agente " << F.v[F.inicio]; 
 } 
} 
 void desenfileirar(Fila &F) { 
 if (F.inicio > F.fim) 
 cout << "Não há agentes para retirar. " << endl; 
 else { 
 cout << "Removido o agente " << F.v[F.inicio]; 
 F.inicio++; 
 } 
} 
 
 
 
 2a Questão (Ref.: 201102388869) Pontos: 0,0 / 1,0 
Tenho uma lista encadeada de processos para ler e despachar, mas obedeço a ordem de chegada, ou seja, 
o primeiro processo que chega é o primeiro processo a ser atendido por mim. Sabendo que cada processo 
é do tipo Processo, previamente definido e que a lista é do tipo Lista, assinale a opção que corretamente 
implementa a retirada de um processo da lista, que pode ter um ou mais processos. 
 Considere p um ponteiro para o primeiro nó da lista e ainda, 
struct Lista { 
 Processo p; 
 struct Lista *link; 
 }; 
 
 Lista retirar(Lista *p) 
{ 
 Lista *aux = p; 
 p = p->link; 
 return p; 
} 
 Lista *retirar(Lista *p) 
{ 
 Lista *aux = p; 
 while (p->link->link !=NULL) 
 p = p->link; 
 p->link = NULL; 
 return p; 
} 
 Lista *retirar(Lista *p) 
{ 
 Lista *aux = p; 
 p = p->link;delete aux; 
 return p; 
} 
 Lista *retirar(Lista *p) 
{ 
 delete p; 
 p = p->link; 
 return p; 
} 
 Lista *retirar(Lista *p) 
{ 
 Lista *aux = p; 
 while (p->link->link !=NULL) 
 p = p->link; 
 delete p->link; 
 p->link = NULL; 
 return p; 
} 
 Gabarito Comentado. 
 
 
 
 
 3a Questão (Ref.: 201102149877) Pontos: 1,0 / 1,0 
Na área de estrutura de dados, em determinados casos, é necessário utilizar um tipo de dado onde seu valor 
serve como referência direta a outro valor alocado em outro espaço de memória. Este tipo de dado se chama: 
 
 
Matriz 
 
Vetor 
 Ponteiro 
 
Endereço 
 
Variável 
 Gabarito Comentado. 
 
 
 
 
 4a Questão (Ref.: 201102149311) Pontos: 1,0 / 1,0 
Um apontador é uma variável que contém o endereço de outra variável. Apontadores são muito usados, em 
parte porque são, às vezes, a única forma de se expressar um processo de computação e, em parte, porque, 
normalmente, implicam um código mais compacto e eficiente que o obtido de outras formas. Considerando o 
uso de apontadores nas linguagens procedurais atuais, julgue os itens que se seguem com E se for errado e C 
se for certo. 
( ) O uso de apontadores como argumentos de funções que realizem chamada por valor não permite alteração 
de seus conteúdos de memória na função. 
( ) Com apontadores, é possível criar funções que retornem estruturas de dados complexas. 
( ) Para recuperar o valor da variável apontada, basta que o apontador seja atribuído a uma variável de mesmo 
tipo. 
( ) Arranjos de apontadores podem ser usados em funções que recebam como argumentos um número variável 
de cadeias de caracteres. 
( ) Em geral, para que um arranjo seja percorrido por um ponteiro, para cada elemento do arranjo deve-se 
adicionar ao ponteiro o número de bytes que o elemento ocupa em memória. 
 
 a) E - C - E - C - E 
 
e) C - E - C - E - C 
 
b) C - C - E - E - E 
 
c) E - E - C - C - E 
 
d) E - C - E - C - C 
 Gabarito Comentado. 
 
 
 
 
 5a Questão (Ref.: 201102763420) Pontos: 1,0 / 1,0 
Usa-se um vetor para se implementar uma fila sequencial, entretanto se nesta estrutura ocorrer diversas 
operações de remoção e inserção podemos afirmar que: 
 
 
Um vetor não pode ser usado na implementação de uma fila sequencial apenas em pilhas sequenciais. 
 
Um vetor é uma estrutura base correta para esta implementação, já que está imune a fenômenos como 
esgotamento de memória. 
 
A estrutura fila não sofre esgotamento de memória, isto ocorre com as pilhas já que implementam o 
algoritmo LIFO. 
 A estrutra sofrerá do fenômeno chamado esgotamento de memória e logo não poderá mais ser utilizada. 
A solução é o uso da fila circular. 
 
A estrutra sofrerá do fenômeno esgotamento de memória, mas se os dados estiverem ordenados isto 
não afetará a estrutura. 
 
 
 
 6a Questão (Ref.: 201102149853) Pontos: 0,0 / 1,0 
A armazenagem de dados pode ocorrer temporariamente em uma variável, um vetor ou em uma estrutura 
chamada Struct na linguagem C e C++. Como se procede a atribuição de valor a um determinado campo de 
uma estrutura do tipo Struct? 
 
 Nome da estrutura vírgula tipo do campo 
 
Nome da estrutura seta nome do campo 
 Nome da estrutura ponto nome do campo 
 
Nome da estrutura seta tipo do campo 
 
Nome da estrutura ponto tipo do campo 
 Gabarito Comentado. 
 
 
 
 
 7a Questão (Ref.: 201102734981) Pontos: 1,0 / 1,0 
O que acontece quando se deseja inserir um elemento em uma FILA que já está cheia? 
 
 Overflow. 
 
Underflow. 
 
A inserção é feita sem problema. 
 
Dequeue. 
 
Enqueue. 
 
 
 
 8a Questão (Ref.: 201102688976) Pontos: 1,0 / 1,0 
Analise as afirmativas sobre uma pilha estática e assinale a opção correta. 
 
I Ordenar é uma operação que não se faz com pilha. 
II Inserir dados é uma operação que se faz com a pilha. 
III Remover dados em qualquer posição é uma operação que se faz com a pilha. 
IV Verificar se a Pilha está cheia é necessário quando se deseja inserir nela. 
V Inicializar uma pilha significa zerar todas as variáveis do vetor. 
 
 II e III estão corretas. 
 I, II e IV estão corretas. 
 I e IV estão corretas. 
 I e II estão corretas. 
 I, II e V estão corretas. 
 Gabarito Comentado. 
 
 
 
 
 9a Questão (Ref.: 201102792853) 
Desenvolva uma função em C++ para construir uma fila Q com valores inteiros positivos, inseridos a partir do 
teclado. 
 
 
Sua Resposta: #include <stdio.h> #include <stdlib.h> struct Node{ int num; struct Node *prox; }; typedef 
struct Node node; int tam; int menu(void); void opcao(node *FILA, int op); void inicia(node *FILA); int 
vazia(node *FILA); node *aloca(); void insere(node *FILA); node *retira(node *FILA); void exibe(node *FILA); 
void libera(node *FILA); int main(void) { node *FILA = (node *) malloc(sizeof(node)); if(!FILA){ printf("Sem 
memoria disponivel!\n"); exit(1); }else{ inicia(FILA); int opt; do{ opt=menu(); opcao(FILA,opt); }while(opt); 
free(FILA); return 0; } } int menu(void) { int opt; printf("Escolha a opcao\n"); printf("0. Sair\n"); printf("1. 
Zerar fila\n"); printf("2. Exibir fila\n"); printf("3. Adicionar Elemento na Fila\n"); printf("4. Retirar Elemento da 
Fila\n"); printf("Opcao: "); scanf("%d", &opt); return opt; } void opcao(node *FILA, int op) { node *tmp; 
switch(op){ case 0: libera(FILA); break; case 1: libera(FILA); inicia(FILA); break; case 2: exibe(FILA); break; 
case 3: insere(FILA); break; case 4: tmp= retira(FILA); if(tmp != NULL){ printf("Retirado: %3d\n\n", tmp-
>num); libera(tmp); } break; default: printf("Comando invalido\n\n"); } } void inicia(node *FILA) { FILA->prox 
= NULL; tam=0; } int vazia(node *FILA) { if(FILA->prox == NULL) return 1; else return 0; } node *aloca() { 
node *novo=(node *) malloc(sizeof(node)); if(!novo){ printf("Sem memoria disponivel!\n"); exit(1); }else{ 
printf("Novo elemento: "); scanf("%d", &novo->num); return novo; } } void insere(node *FILA) { node 
*novo=aloca(); novo->prox = NULL; if(vazia(FILA)) FILA->prox=novo; else{ node *tmp = FILA->prox; 
while(tmp->prox != NULL) tmp = tmp->prox; tmp->prox = novo; } tam++; } node *retira(node *FILA) { 
if(FILA->prox == NULL){ printf("Fila ja esta vazia\n"); return NULL; }else{ node *tmp = FILA->prox; FILA-
>prox = tmp->prox; tam--; return tmp; } } void exibe(node *FILA) { if(vazia(FILA)){ printf("Fila vazia!\n\n"); 
return ; } node *tmp; tmp = FILA->prox; printf("Fila :"); while( tmp != NULL){ printf("%5d", tmp->num); tmp 
= tmp->prox; } printf("\n "); int count; for(count=0 ; count < tam ; count++) printf(" ^ "); 
printf("\nOrdem:"); for(count=0 ; count < tam ; count++) printf("%5d", count+1); printf("\n\n"); } void 
libera(node *FILA) { if(!vazia(FILA)){ node *proxNode, *atual; atual = FILA->prox; while(atual != NULL){ 
proxNode = atual->prox; free(atual); atual = proxNode; } } } 
 
 
Compare com a sua resposta: 
PNodo ConstruirFila () { 
 int X; 
PNodo Q; 
Q = Criar(); 
cout<<"Inserir um inteiro positivo (negativo para terminar): \n"; 
cin>>X; 
while (X > 0) { 
Q = Juntar(X, Q); 
cout<<"Inserir um inteiro positivo (negativo para terminar): \n"; 
cin>>X; 
} 
return Q; 
} 
 
 
 
 10a Questão (Ref.: 201102792800) 
Suponha que o nó tenha como membro um número inteiro fora o ponteiro. Defina uma estrutura (struct) em 
C++ struct para uma lista com um nó. 
 
 
Sua Resposta: #include <stdio.h>#include <stdlib.h>struct Node{int num; struct Node *prox;};typedef struct 
Node node;int tam;int menu(void);void opcao(node *FILA, int op);void inicia(node *FILA);int vazia(node 
*FILA);node *aloca();void insere(node *FILA);node *retira(node *FILA);void exibe(node *FILA);void 
libera(node *FILA);int main(void){ node *FILA = (node *) malloc(sizeof(node)); if(!FILA){ printf("Sem memoria 
disponivel!\n"); exit(1); }else{ inicia(FILA); int opt; do{ opt=menu(); opcao(FILA,opt); }while(opt); free(FILA); 
return 0; }}int menu(void){ int opt; printf("Escolha a opcao\n"); printf("0. Sair\n"); printf("1. Zerar fila\n"); 
printf("2. Exibir fila\n"); printf("3. Adicionar Elemento na Fila\n"); printf("4. Retirar Elemento da Fila\n"); 
printf("Opcao: "); scanf("%d", &opt); return opt;}void opcao(node *FILA, int op){ node *tmp; switch(op){ case 
0: libera(FILA); break; case 1: libera(FILA); inicia(FILA); break; case 2: exibe(FILA); break; case 3: 
insere(FILA); break; case 4: tmp= retira(FILA); if(tmp != NULL){ printf("Retirado: %3d\n\n", tmp->num); 
libera(tmp); } break; default: printf("Comando invalido\n\n"); }}void inicia(node *FILA){ FILA->prox = NULL; 
tam=0;}int vazia(node *FILA){ if(FILA->prox == NULL) return 1; else return 0;}node *aloca(){ node 
*novo=(node *) malloc(sizeof(node)); if(!novo){ printf("Sem memoria disponivel!\n"); exit(1); }else{ 
printf("Novo elemento: "); scanf("%d", &novo->num); return novo; }}void insere(node *FILA){ node 
*novo=aloca(); novo->prox = NULL; if(vazia(FILA)) FILA->prox=novo; else{ node *tmp = FILA->prox; 
while(tmp->prox != NULL) tmp = tmp->prox; tmp->prox = novo; } tam++;}node *retira(node *FILA){ 
if(FILA->prox == NULL){ printf("Fila ja esta vazia\n"); return NULL; }else{ node *tmp = FILA->prox; FILA-
>prox = tmp->prox; tam--; return tmp; }}void exibe(node *FILA){ if(vazia(FILA)){ printf("Fila vazia!\n\n"); 
return ; } node *tmp; tmp = FILA->prox; printf("Fila :"); while( tmp != NULL){ printf("%5d", tmp->num); tmp 
= tmp->prox; } printf("\n "); int count; for(count=0 ; count < tam ; count++) printf(" ^ "); 
printf("\nOrdem:"); for(count=0 ; count < tam ; count++) printf("%5d", count+1); printf("\n\n");}void 
libera(node *FILA){ if(!vazia(FILA)){ node *proxNode, *atual; atual = FILA->prox; while(atual != NULL){ 
proxNode = atual->prox; free(atual); atual = proxNode; } }} 
 
 
Compare com a sua resposta: 
struct nodo 
{ 
 int num; 
 struct nodo* prox; 
}; 
 
SIMULADO 2 c ( AULA 6 a 10 ) 
Desempenho: 6,0 de 8,0 Data: 03/06/2015 22:04:37 (Finalizada) 
 
 
 1a Questão (Ref.: 201102387727) Pontos: 1,0 / 1,0 
Na pequena mercearia do Sr. Manuel os pedidos são anotados no papel e assim que montam um lote com 10 
listas de compras dos fregueses, as entregas começam. As compras de cada freguês são postas em uma caixa. 
As caixas são organizadas no veículo de entrega respeitando a ordem da entrega, ou seja, a 1a. caixa a ser 
entregue fica na frente das demais caixas e assim, sucessivamente. Dessa forma, a última caixa a ser entregue 
ficará no final do veículo, após todas as outras caixas que deverão ser entregues primeiro. Qual a estrutura de 
dados mais adequada que traduz a organização das pizzas no veículo de entrega ? 
 
 
fila 
 
lista 
 
árvore 
 pilha 
 
grafo 
 Gabarito Comentado. 
 
 
 
 
 2a Questão (Ref.: 201102141419) Pontos: 1,0 / 1,0 
Um órgão público adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema I 
atende os não idosos. O sistema II atende os idosos. Nessa situação: 
 
 tanto o sistema I, quanto o II, adotam o esquema FIFO de organização de dados. 
 
tanto o sistema I, quanto o II, adotam o esquema LIFO de organização de dados. 
 
o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema LIFO. 
 
o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema FIFO. 
 
tanto o sistema I, quanto o II, adotam o esquema vetor de organização de dados. 
 Gabarito Comentado. 
 
 
 
 
 3a Questão (Ref.: 201102149854) Pontos: 1,0 / 1,0 
As estruturas de dados podem ser do tipo estática e dinâmica. As listas são estruturas parecidas com vetores 
podendo ser do tipo dinâmica. Entretanto, existem várias implementações de estruturas do tipo listas. Dessa 
forma, a estrutura que para o acesso de um dado, este precisa estar na saída, caso contrário, precisa remover 
os elementos a sua frente, é chamada de: 
 
 
Bolha 
 
Matriz 
 
Struct 
 
Pilha 
 Fila 
 Gabarito Comentado. 
 
 
 
 
 4a Questão (Ref.: 201102689067) Pontos: 1,0 / 1,0 
Observe a função que manipula uma pilha e assuma que TAM é uma constante definida com valor 5. Saiba 
que o nome da função já explícita a finalidade dela. 
 
Considere a chamada da função conforme linha abaixo, sabendo-se que vet é um vetor de tamanho 5 e que 
não tem nenhum valor ainda: 
 
 
Analise as afirmativas abaixo que sugerem correções, ou não, na definição na função e assinale a opção 
que contem as afirmativas corretas. 
 
I Faltou & antes da variável vetor e irá acusar erro. 
II A variável topo está sem tipo. 
III O teste está correto porque o índice do primeiro elemento do vetor em C++ é 1, obrigatoriamente. 
IV Na linha comentada deveria estar presente um comando de atribuição que decrementaria a variável topo. 
V A linha vetor[topo]=valor; está correta. 
 
 I , III e V estão corretas 
 I, II e IV estão corretas 
 I e III estão corretas 
 II e V estão corretas 
 I e II estão corretas 
 Gabarito Comentado. 
 
 
 
 
 5a Questão (Ref.: 201102387725) Pontos: 0,0 / 1,0 
Um jogo de memória fornece sequências de números e o jogador deve dizer qual a sequência inversa para cada 
nova sequência fornecida pelo jogo. Qual a estrutura de dados mais adequada para modelar esse jogo ? 
 
 lista 
 pilha 
 
grafo 
 
fila 
 
árvore 
 Gabarito Comentado. 
 
 
 
 
 6a Questão (Ref.: 201102688305) Pontos: 1,0 / 1,0 
Sabe-se que Push() coloca um elemento na pilha, Pop() remove um elemento da pilha e Top() exibe o 
elemento que se encontra no topo. 
 
Assinale a opção que indica o número que aparecerá após a execução das funções abaixo. 
 
Sequencia: Push() / Push()/ Pop()/ Push()/Pop()/ Top() 
Números que deverão ser empilhados nessa ordem: 8/ 15/ 23/ 13 / 18 
 
 15 
 8 
 23 
 13 
 18 
 Gabarito Comentado. 
 
 
 
 
 7a Questão (Ref.: 201102387724) Pontos: 1,0 / 1,0 
Na pequena pizzaria de Dom Leopoldo os pedidos são anotados em uma planilha e assim que montam um lote 
com 5 pizzas, as entregas começam. As pizzas são organizadas no veículo de entrega respeitando a ordem da 
entrega, ou seja, a 1a. pizza a ser entregue fica na frente de todas e assim, sucessivamente. Dessa forma, a 
última pizza a ser entregue ficará no final do veículo, após todas as outras pizzas. Qual a estrutura de dados é 
mais adequada para modelar a organização das pizzas no veículo de entrega ? 
 
 
fila 
 
árvore 
 
lista 
 pilha 
 
grafo 
 Gabarito Comentado. 
 
 
 
 
 8a Questão (Ref.: 201102389710) Pontos: 0,0 / 1,0 
As estruturas de dados devem ser especificadas de modo que estas auxiliem 
as aplicações em sua principal tarefa ou funcionalidade. Sendo assim, pode-
se desenvolver uma aplicação capaz de fazer a conversão de números da 
base 10, para a base binária, octal ou hexadecimal a partir de um algoritmo 
de divisões sucessivas. Este algoritmo baseia na divisão de um número 
decimal pelabase que se deseja a transformação, armazenando o resto da 
divisão em uma estrutura de dados, efetuando nova divisão no resultado 
obtido da divisão prévia, novamente armazenando o resto desta operação na 
estrutura de dados e assim por diante até que o resultado da divisão seja 
zero. Neste momento, a estrutura possui exatamente, na ordem reversa, os 
algarismos correspondentes ao número convertido para a nova base. 
Analisando esta estratégia poder-se-ia dizer que a estrutura de dados mais 
propícia para tal tarefa é : 
 
 Lista 
 Árvore 
 Pilha 
 Grafo 
 Fila 
 Gabarito Comentado. 
 
 
 
 
 9a Questão (Ref.: 201102170795) 
Defina um tipo de dado (registro) capaz de armazenar as seguintes informações sobre um determinado cliente 
de um banco: nome, CPF, RG, número da conta, data de abertura da conta, e saldo. 
Com base neste tipo de dado, construa o trecho código em C++ que represente a leitura dos dados do cliente 
feita pelo usuário. 
 
 
Sua Resposta: #include using namespace std; struct no { int dado; struct no *link; }; 
 
 
Compare com a sua resposta: 
struct ClienteBanco{ 
 string nome; 
 string cpf; 
 int rg; 
 int numConta; 
 double saldo; 
}; 
ClienteBanco cliente; 
cin >> cliente.nome; 
cin >> cliente.cpf; 
cin >> cliente.rg; 
cin >> cliente.saldo; 
 
 
 
 10a Questão (Ref.: 201102791730) 
 Escreva instruções para um programa em C++ a fim de criar uma lista simplesmente encadeada 
não circular com o valor 50. Considere 
 #include 
 using namespace std; 
 struct no { 
 int dado; 
 struct no *link; 
 }; 
 int main() { 
 //As instruções solicitadas farão parte da main 
 } 
 
 
 
Sua Resposta: #include using namespace std; struct no { int dado; struct no *link; }; int main() { //As 
instruções solicitadas farão parte da main } 
 
 
Compare com a sua resposta: 
 
no *p; 
p = new no; 
p->dado = 50; 
p->link = NULL; 
 
 
 ESTRUTURA DE DADOS
Simulado: CCT0260_SM_201509137939 V.1 Fechar
Aluno(a): MARCELA COSTA DO NASCIMENTO Matrícula: 201509137939 
Desempenho: 9,0 de 10,0 Data: 21/04/2016 10:44:31 (Finalizada)
1a Questão (Ref.: 201509717928) Pontos: 1,0 / 1,0
Leia com atenção as afirmativas abaixo e assinale a resposta correta.
I A estrutura de dados que melhor representa os diretórios ou pastas de arquivos do computador é a árvore. 
II A estrutura de dados FILA é não linear assim como o Grafo. 
III O termo folha em uma estrutura de dados é usado para um nó sem filhos e que tem grau 0, 
IV O grau de uma árvore é definido pelo número de subárvores de um nó. 
V O grafo é uma estrutura de dados que tem limitação para o número de vértices. 
VI Uma das aplicações da estrutura de dados grafo é a Computação Gráfica. 
II, IV e V são afirmativas verdadeiras
II, IV, V e VI são afirmativas verdadeiras
I, II e V são afirmativas verdadeiras
I, II, III e VI são afirmativas verdadeiras
I, III, IV e VI são afirmativas verdadeiras 
Gabarito Comentado.
2a Questão (Ref.: 201509856817) Pontos: 1,0 / 1,0
Observe o trecho do programa em C++ abaixo e, após, entrar com os valores sugeridos para sua execução assinale 
a alternativa que representa a resposta final.
cin >> a;
cin >> b;
cin >> c;
cin >> d;
cout << a;
cout << b;
cout << c;
cout << d;
cout << d;
cout << c;
cout << b;
cout << a;
Após a impressão dos valores pela ordem teremos uma fila e um grafo.
Após a impressão dos valores pela ordem teremos duas pilhas.
Após a impressão dos valores pela ordem teremos duas filas.
Após a impressão dos valores pela ordem teremos uma pilha e uma fila.
Após a impressão dos valores pela ordem teremos uma fila e uma pilha.
3a Questão (Ref.: 201509179876) Pontos: 1,0 / 1,0
Com a utilização das estruturas de dados e seus tipos, em algumas situações é imprescindível a criação de funções 
que façam determinada verificação ou ação nestas estruturas. Dessa forma, analise a função abaixo e marque 
corretamente a alternativa que descreve as funcionalidades desta.
Página 1 de 4BDQ Prova
05/06/2016http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_hist=1144825620
int funcao(float v[], float vl, int n)
{
 for (int i = 0; i < n; i++)
 if (v[i] == vl)
 return i;
 return -1;
}
Retorna a posição de v se o valor vl foi encontrado.
Retorna -1 se o valor de vl estiver dentro de v.
Retorna o valor de vl se o valor n foi encontrado.
Retorna -1 se o valor de n foi encontrado.
Resulta em erro, se o valor de vl não estiver dentro de v.
Gabarito Comentado.
4a Questão (Ref.: 201509179879) Pontos: 1,0 / 1,0
Em programação podemos utilizar um recurso que modulariza o programa chamado função. As funções precisam 
ser ativadas para que possam ser executadas. Para isso, é necessário chamar a função pelo seu nome e enviar, 
quando necessário, os valores respectivos para os parâmetros de entrada. Ao enviar os valores para os parâmetros 
de entrada, o programa pode fazer uma cópia deste valor ou trabalhar em um endereço enviado. Quando se envia 
o endereço estamos ativando a função por meio de:
Envio de valor.
Envio de inteiro.
Passagem por valor.
Registro.
Ponteiros.
Gabarito Comentado.
5a Questão (Ref.: 201509793405) Pontos: 1,0 / 1,0
Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob 
uma lógica e associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma 
estrutura como:
struct aluno {
string nome;
float nota;
};
Suponha ainda que exista um vetor desta estrutura, definido como:
aluno vet [100];
Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento deste vetor.
aluno.vet[10].nota=5.7;
vet[10]=aluno.5.7; 
vet[10].nota=5.7; 
aluno.vet[10]=5.7; 
vet[10].aluno.nota=5.7 ; 
Página 2 de 4BDQ Prova
05/06/2016http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_hist=1144825620
6
a
 Questão (Ref.: 201509179340) Pontos: 1,0 / 1,0
Qual das seguintes estruturas de dados é classificada como heterogênea?
Vetor
Registro 
Pilha
Fila
Loop
Gabarito Comentado.
7
a
 Questão (Ref.: 201509179665) Pontos: 1,0 / 1,0
É correto afirmar sobre o funcionamento da busca sequencial. 
Os elementos são pesquisados de acordo com o índice. Pior caso: o elemento está no primeiro índice do 
meu vetor. 
Os elementos são pesquisados aleatoriamente. Pior caso: o elemento está no último índice do meu vetor. 
Os elementos são pesquisados de acordo com o índice. Melhor caso: o elemento está no meio do meu 
vetor.
Os elementos são pesquisados de acordo com o índice. Pior caso: o elemento está no último índice do meu 
vetor. 
Os elementos são pesquisados de acordo com o índice. Melhor caso: o elemento está no último índice do 
meu vetor. 
Gabarito Comentado.
8
a
 Questão (Ref.: 201509179852) Pontos: 1,0 / 1,0
Os métodos de ordenação são muito utilizados para facilitar a recuperação posterior de itens ordenados. Existem 
vários métodos de ordenação, por esse motivo, assinale corretamente a alternativa que mostra o nome do método 
que utiliza a estratégia de ordenação por trocas de vizinhos e é considerado o método mais simples.
Seleção
Hash
Binária
Inserção
Bolha
Gabarito Comentado.
9a Questão (Ref.: 201509382120) Pontos: 1,0 / 1,0
As estruturas de dados são utilizadas para manter dados ou informações organizados na memória, o que possibilita 
a otimização do uso destes dados. Porém,as estruturas guardam características especiais na manipulação destes 
dados, assim deve-se escolher a estrutura certa ou mais adequada para uma determinada aplicação. Portanto 
marque a opção que representa a melhor estrutura, quando se tem como requisitos principais o acesso aleatório 
aos dados e alocação destes de forma contínua na memória.
Lista Encadeada 
Fila Sequencial 
Lista Sequencial 
Pilha Encadeada 
Pilha Sequencial 
Página 3 de 4BDQ Prova
05/06/2016http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_hist=1144825620
Gabarito Comentado.
10
a
 Questão (Ref.: 201509384604) Pontos: 0,0 / 1,0
for (int i = 0; i < n; i++) 
 cout << L[i] << endl;
for (int i = 0; i < n; i++) 
 cout << L[i].matricula << " " << L[i].nome << endl;
for (int i = 0; i < n; i++) 
 cout << L.matricula[i] << " " << L.nome[i] << endl;
for (int i = 0; i < n; i++) 
 cout << L[i].matricula << " " << L[i].nome[30] << endl;
for (int i = 0; i < n; i++) 
 cout << L.matricula << " " << L.nome << endl;
Gabarito Comentado.
Página 4 de 4BDQ Prova
05/06/2016http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_hist=1144825620
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2330895138 1/3
   ESTRUTURA DE DADOS   Lupa  
 
Exercício: CCT0260_EX_A1_201509137939  Matrícula: 201509137939
Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 16/03/2016 09:36:01 (Finalizada)
  1a Questão (Ref.: 201509382103)  Fórum de Dúvidas (1)       Saiba   (1)
As  estruturas  de  dados  podem  ser  caracterizadas  como  sendo  uma  forma  organizada  de  armazenar
dados  ou  informações  na  memória,  de  modo  a  otimizar  o  acesso  a  estes.  Muitas  vezes  existem
algoritmos de manipulação dados associados a estas estruturas. Verifique as seguintes sentenças:
I­Filas são estruturas que recuperam os dados na ordem direta em que estes foram  armazenados.
II­As  Pilhas  são  estruturas  que  recuperam  os  dados  na  ordem  reversa  em  que  estes  foram 
armazenados.
III­As  Pilhas  são  estruturas  que  recuperam  os  dados  na  ordem  direta  em  que  estes  foram 
armazenados.
IV­As  Filas  são  estruturas  que  recuperam  os  dados  na  ordem  reversa  em  que  estes  foram 
armazenados.
Marque a alternativa CORRETA:
As alternativas III e IV estão corretas.
As alternativas I e III estão corretas.
As alternativas II e IV estão corretas.
  As alternativas I e II estão corretas
Todas as alternativas estão corretas.
 Gabarito Comentado
  2a Questão (Ref.: 201509246976)  Fórum de Dúvidas (1)       Saiba   (1)
Sobre estrutura de dados, identifique o que está correto afirmar.
I. Pilha é uma estrutura de dados com acesso restrito aos seus elementos, uma vez que eles são colocados e
retirados por um único lado e são ordenados pelo princípio LIFO (last in first out). Assim, sempre que um
elemento é adicionado ou retirado seu topo é alterado. 
II. Pilha é o tipo de estrutura usada, por exemplo, na avaliação de expressões numéricas, na recursividade e
pelos compiladores, na passagem de parâmetros para as funções. 
III. Registro é uma estrutura básica que permite guardar coleções de dados de diferentes tipos, sendo
normalmente utilizado quando um objeto tem diferentes atributos, isto é, contém campos de diferentes tipos. 
IV. Lista pode conter um número qualquer de elementos, expandindo­se ou contraindo­se conforme o
elementos são inseridos ou retirados. Nesse tipo de estrutura, os acessos tanto podem ser feitos
sequencialmente como diretamente. 
V. Fila, assim como a pilha , é uma versão especial de lista, e como tal, seus elementos são ordenados pelo
princípio LIFO (last in first out).
I, III, IV e V.
II, IV e V.
  I, II e III.
II, III, IV e V.
  I, III e V.
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2330895138 2/3
 Gabarito Comentado
  3a Questão (Ref.: 201509793384)  Fórum de Dúvidas (0)       Saiba   (0)
Qual estrutura de dados não linear que é utilizada na implementação de Redes de Computadores, na
Computação Gráfica, em modelagem de circuitos digitais e etc. E que se caracteriza por apresentar um conjunto
de nós e conexões entre eles.
Filas Encadeadas
  Listas Encadeadas.
Pilhas Encadeadas
  Grafos
Vetores
  4a Questão (Ref.: 201509856817)  Fórum de Dúvidas (1 de 1)       Saiba   (1 de 1)
Observe o trecho do programa em C++ abaixo e, após, entrar com os valores sugeridos para sua execução
assinale a alternativa que representa a resposta final.
cin >> a;
cin >> b;
cin >> c;
cin >> d;
cout << a;
cout << b;
cout << c;
cout << d;
cout << d;
cout << c;
cout << b;
cout << a;
Após a impressão dos valores pela ordem teremos uma fila e um grafo.
Após a impressão dos valores pela ordem teremos duas filas.
Após a impressão dos valores pela ordem teremos uma pilha e uma fila.
  Após a impressão dos valores pela ordem teremos duas pilhas.
  Após a impressão dos valores pela ordem teremos uma fila e uma pilha.
  5a Questão (Ref.: 201509418872)  Fórum de Dúvidas (1)       Saiba   (1)
Na maioria dos sistemas operacionais, os arquivos são organizados hierarquicamente em um esquema de
diretórios (pastas) e sub­diretórios. Qual a estrutura mais adequada para representar este problema ?
pilha
lista
grafo
fila
  árvore
 Gabarito Comentado
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2330895138 3/3
  6a Questão (Ref.: 201509179485)  Fórum de Dúvidas (1 de 1)       Saiba   (1 de 1)
Podemos dizer que estrutura de dados é:
É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
  O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
 Gabarito Comentado
 Fechar
 
 
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2366393502 1/3
   ESTRUTURA DE DADOS   Lupa  
 
Exercício: CCT0260_EX_A2_201509137939  Matrícula: 201509137939
Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 24/03/2016 17:36:57 (Finalizada)
  1a Questão (Ref.: 201509179845)  Fórum de Dúvidas (1)       Saiba   (1)
As variáveis em programação são utilizadas para armazenar um valor de determinado tipo em um espaço
reservado na memória. Em algumas linguagens de programação podemos declarar, ou seja, reservar um
espaço na memória, fora do escopo da função principal, e fora do escopo de qualquer outra função. Ao fazer a
declaração desta forma estamos declarando uma variável do tipo:
  Global
Inteiro
Real
Constante
Local
 Gabarito Comentado
  2a Questão (Ref.: 201509179876)  Fórum de Dúvidas (1)       Saiba   (1)
Com a utilização das estruturas de dados e seus tipos, em algumas situações é imprescindível a criação de
funções que façam determinada verificação ou ação nestas estruturas. Dessa forma, analise a função abaixo e
marque corretamente a alternativa que descreve as funcionalidades desta.
int funcao(float v[], float vl, int n)
{
   for (int i = 0; i < n; i++)
     if (v[i] == vl)
       return i;
   return ­1;
}
Retorna ­1 se o valor de n foi encontrado.
  Retorna ­1 se o valor de vl estiver dentro de v.
  Retorna a posição de v se o valor vl foi encontrado.
Resulta em erro, se o valor de vl não estiver dentro de v.
Retorna o valor de vl se o valor n foi encontrado.
 Gabarito Comentado3a Questão (Ref.: 201509179880)  Fórum de Dúvidas (1)       Saiba   (1)
A declaração de variáveis na programação é o ato de reservar um espaço na memória para poder armazenar
valores de um determinado tipo. Essas variáveis podem ser classificadas como variáveis locais e globais. Sendo
assim, qual das situações abaixo representa melhor o conceito das variáveis globais.
Em duas funções diferentes temos duas variáveis também diferentes com o mesmo nome apresentando
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2366393502 2/3
o mesmo valor.
Se dentro de uma função "mostra" declararmos uma variável 'R' com um determinado valor poderemos
imprimir esta variável em qualquer outra função do programa mostrando o valor atribuído na função
"mostra".
Em uma função "resul" tem­se uma variável ali declarada por 'T' que recebe o valor inteiro 5. Ao tentar
chamar esta variável em outra função é mencionado um warning.
  Ao modificar o valor da variável 'X' na função "modifica" seu valor modificado poderá ser apresentado
em qualquer outra função do programa.
Se modificarmos o valor da variável 'Y' na função "soma", e depois imprimirmos na tela esta variável
em outra função, onde tambem está declarada a variável 'Y', será acusado um erro de compilação.
 Gabarito Comentado
  4a Questão (Ref.: 201509384525)  Fórum de Dúvidas (1 de 1)       Saiba   (1 de 1)
 
Auxiliar = 111  Numero1 = 1000  Numero2 = 80
Auxiliar = 101  Numero1 = 900  Numero2 = 20
  Auxiliar = 100  Numero1 = 900  Numero2 = 80
Auxiliar = 100  Numero1 = 1000  Numero2 = 20
Auxiliar = 100  Numero1 = 900  Numero2 = 20
 Gabarito Comentado
  5a Questão (Ref.: 201509768153)  Fórum de Dúvidas (1)       Saiba   (1)
Blocos únicos de códigos que realizam diversas tarefas distitintas são de dificil manutenção. Portanto, utiliza­se
a tecnica da modularização de programas, a fim de facilitar a implementação e a manutenção dos programas.
Esta técnica, também chamada de modularização, tem como principal elemento:
As Filas
Os Vetores
As Estruturas de Dados
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2366393502 3/3
Os Grafos
  As funções
  6a Questão (Ref.: 201509762272)  Fórum de Dúvidas (1 de 1)       Saiba   (1 de 1)
Uma função possui um valor de retorno inteiro, recebe por valor um inteiro como primeiro parâmetro e por
referência um inteiro como segundo parâmetro. Qual das respostas abaixo poderia representar o protótipo
dessa função:
void func (int a, int &b);
void func (int &a, int &b);
  int func (int a, int &b);
  int func (&int, int);
int func (int &a, int b);
 Gabarito Comentado
 Fechar
 
 
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918951970 1/3
   ESTRUTURA DE DADOS   Lupa  
 
Exercício: CCT0260_EX_A3_201509137939  Matrícula: 201509137939
Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 11/06/2016 20:14:27 (Finalizada)
  1a Questão (Ref.: 201509819194)  Fórum de Dúvidas (0)       Saiba   (0)
Pode­se  definir  uma  estrutura  heterogênea  como  sendo  um  conjunto  de  elementos,  geralmente,
agrupados sob uma lógica e associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de
uma estrutura como:
 
 struct  aluno {
              string nome;
              float   nota;
};
 
Suponha ainda que exista um vetor desta estrutura, definido como:
 aluno vet [ 100];
 
Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento
deste vetor.
vet[10]=aluno.5.7;
aluno.vet[10]=5.7;
  vet[10].nota=5.7;
vet[10].aluno.nota=5.7 ;
aluno.vet[10].nota=5.7;
  2a Questão (Ref.: 201509179847)  Fórum de Dúvidas (0)       Saiba   (0)
A armazenagem de dados pode ocorrer temporariamente em uma variável, um vetor ou em uma estrutura
chamada Struct na linguagem C e C++. Como se procede a atribuição de valor a um determinado campo de
uma estrutura do tipo Struct?
Nome da estrutura vírgula tipo do campo
Nome da estrutura ponto tipo do campo
  Nome da estrutura seta nome do campo
  Nome da estrutura ponto nome do campo
Nome da estrutura seta tipo do campo
 Gabarito Comentado
  3a Questão (Ref.: 201509793405)  Fórum de Dúvidas (0)       Saiba   (0)
Pode­se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob
uma lógica e associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma
estrutura como:
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918951970 2/3
struct aluno {
string nome;
float nota;
};
Suponha ainda que exista um vetor desta estrutura, definido como:
aluno vet [100];
Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento deste
vetor.
aluno.vet[10]=5.7;
aluno.vet[10].nota=5.7;
vet[10]=aluno.5.7;
  vet[10].nota=5.7;
vet[10].aluno.nota=5.7 ;
  4a Questão (Ref.: 201509749716)  Fórum de Dúvidas (0)       Saiba   (0)
Pode­se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob
uma lógica e associados por um nome. Esses elementos podem ser variáveis simples, matrizes ou ainda outras
estruturas. Seja a definição de uma estrutura como: struct aluno { string nome; float media; }; Suponha ainda
que exista um vetor desta estrutura, definido como: aluno vet [ 10]; Marque a alternativa em que é atribuída de
forma correta a media 6.0 para o quarto elemento deste vetor.
aluno[3].10=6.0;
aluno[10]=6.0;
  vet[3].media=6.0;
  aluno[3].media=6.0;
vet[3].aluno=6.0;
  5a Questão (Ref.: 201509851444)  Fórum de Dúvidas (0)       Saiba   (0)
Marque a opção correta, considerando 
struct Livro { 
int codigo; 
float preco; 
} liv; 
  liv.preco = 30.70;
Livro.liv.codigo = 12345;
  Livro.codigo = 12345;
liv­>preco = 30.70;
Livro­>liv.codigo = 12345;
  6a Questão (Ref.: 201509179340)  Fórum de Dúvidas (0)       Saiba   (0)
Qual das seguintes estruturas de dados é classificada como heterogênea?
  Fila
Pilha
Loop
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918951970 3/3
Vetor
  Registro
 Gabarito Comentado
 Fechar
 
 
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918966160 1/3
   ESTRUTURA DE DADOS   Lupa  
 
Exercício: CCT0260_EX_A4_201509137939  Matrícula: 201509137939
Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 11/06/2016 20:21:35 (Finalizada)
  1a Questão (Ref.: 201509179298)  Fórum de Dúvidas (1)       Saiba   (0)
Em uma pesquisa sequencial a lista deve estar?
sempre desordenada.
ordenada somente o primeiro da lista.
  ordenada ou desordenada.
desordenada somente da metade da lista até o final.
ordenada somente do início até a metade da lista.
 Gabarito Comentado
  2a Questão (Ref.: 201509182677)  Fórum de Dúvidas (1)       Saiba   (0)
Para consultarmos uma estrutura de dados, normalmente, empregamos um tipo de pesquisa de dados. O trecho
de programa a seguir refere­se a uma pesquisa por um elemento único (sua primeira ocorrência), em um
conjunto de elementos de dados armazenado em uma estrutura de acesso indexado e aleatório. Selecione a
opção correspondente ao algoritmo utilizado, no programa, para a referida pesquisa:
int busca(float v[], float valor, int n) {
int ini = 0, fim = n ­1, meio;
while (ini <= fim) {
meio = (ini + fim)/2;
if (v[meio] == valor)  return meio;
if (valor < v[meio]) fim = meio ­1;
  else ini = meio+1;
}
return ­1;
}
  pesquisabinária
pesquisa indexada
  pesquisa sequencial
pesquisa de cadeias
pesquisa cadeias indexada
 Gabarito Comentado
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918966160 2/3
  3a Questão (Ref.: 201509179855)  Fórum de Dúvidas (1 de 1)       Saiba   (0)
O processo de rearranjar um conjunto de dados em uma ordem crescente ou decrescente é chamado de
ordenação. Existem várias técnicas de ordenação, entretanto a técnica que procura o menor valor entre todos
os elementos do vetor e troca­o pelo primeiro elemento; para os n ­ 1 elementos restantes, determinação do
elemento de menor valor e troca pelo segundo elemento e assim sucessivamente, é chamado de:
Binária
Bolha
Hash
  Seleção
  Inserção
 Gabarito Comentado
  4a Questão (Ref.: 201509179507)  Fórum de Dúvidas (1)       Saiba   (0)
Qual a importância de se entender a "ordenação" de dados ?
  A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem­se
conhecimento para resolver outros problemas.
A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem­se
conhecimento para resolver outros problemas.
A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem­se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem­se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos programas são construídos. Entendendo a ordenação, tem­se
conhecimento para manter outros problemas.
 Gabarito Comentado
  5a Questão (Ref.: 201509179349)  Fórum de Dúvidas (1 de 1)       Saiba   (0)
O seguinte trecho de programa abaixo representa qual tipo de estrutura de ordenação?
void ordenar(float v[], int n) // n é o no. de elementos em v
{
 int i , // índice
 aux, // auxiliar para troca
trocou = true,
fim = n ­ 1;
while (trocou)
{
    trocou = false; // sinaliza que é falso que trocou
     for (i = 0; i < fim; i++)
     {
       if (v[i] > v[i+1])
       {
         aux = v[i];
         v[i] = v[i+1];
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918966160 3/3
         v[i+1] = aux;
         // sinaliza que é verdadeiro que trocou
         trocou = true;
        } // fim if
    } // fim for
 fim­­; // decrementa o fim
} // fim while
} // fim da função
Heapsort
Mergesort
  Bublesort
  Shellsort
Quicksort
 Gabarito Comentado
  6a Questão (Ref.: 201509182912)  Fórum de Dúvidas (1)       Saiba   (0)
Existem vários algoritmos de busca em estruturas de dados, um destes realiza a busca em vetores, e requer
acesso aleatório aos elementos desta estrutura e parte do pressuposto de que os dados do vetor estejam
ordenados e utiliza a técnica de divisão e conquista comparando o elemento desejado com o elemento do meio
do vetor. Esta técnica ainda verifica se o elemento do meio do vetor for o desejado, a busca termina. Caso
contrário, se o elemento do meio vier antes do elemento buscado, então a busca continua na metade posterior
do vetor. E se o elemento do meio vier depois da chave, a busca continua na metade anterior do vetor. O
algoritmo que utiliza esta metodologia é:
  Pesquisa binária
  Seleção
Pesquisa sequencial
Bolha
Inserção
 Gabarito Comentado
 Fechar
 
 
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918988732 1/3
   ESTRUTURA DE DADOS   Lupa  
 
Exercício: CCT0260_EX_A5_201509137939  Matrícula: 201509137939
Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 11/06/2016 20:33:58 (Finalizada)
  1a Questão (Ref.: 201509827389)  Fórum de Dúvidas (0)       Saiba   (0)
Considere uma lista com n  livros, em que cada livro é modelado pela struct :
 
struct Livro {
                            string 堀倅tulo,  editora, autor;
                            float preco;
};
 
A função X abaixo
 
void X (Livro v[ ], int &n, Livro L)
{
     v[n] = L;
     n++;
    cout << "Operação realizada com sucesso.";
}
 
implementa a operação de :
Busca
  Inserção
Ordenação por inserção
Inicialização
Subs堀倅tuição
 Gabarito Comentado
  2a Questão (Ref.: 201509179703)  Fórum de Dúvidas (0)       Saiba   (0)
Com relação as listas lineares sequenciais:
I ­ Uma lista linear sequencial é um vetor em linguagens estruturadas, também chamado de
array.
II ­ Um elemento de uma lista linear sequencial pode ser acessado diretamente através de um
índice.
III ­ Uma lista linear sequencial pode ter elementos de um mesmo tipo, ou de tipos diferentes.
  Apenas as afirmações II e III estão corretas.
Apenas a afirmação I está correta.
Apenas as afirmações II está corretas.
Apenas as afirmações I e III estão corretas.
  Apenas as afirmações I e II estão corretas.
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918988732 2/3
 Gabarito Comentado
  3a Questão (Ref.: 201509179323)  Fórum de Dúvidas (0)       Saiba   (0)
O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo = fim)?
ordenação
  underflow
remoção
inclusão
  overflow
 Gabarito Comentado
  4a Questão (Ref.: 201509179867)  Fórum de Dúvidas (0)       Saiba   (0)
Analisando o trecho do algoritmo abaixo,
pode­se afirmar que se trata de uma operação de:
Remoção de um elemento de uma estrutura FIFO
Remoção de um elemento de uma estrutura LIFO
Exibição de um elemento em uma estrutura LIFO
  Inserção de um elemento em uma estrutura LIFO
Inserção de um elemento em uma estrutura FIFO
 Gabarito Comentado
  5a Questão (Ref.: 201509743570)  Fórum de Dúvidas (0)       Saiba   (0)
__________________________ é uma lista linear em que a alocação de memória pode ser estática, e que a
forma de armazenamento é contígua ou sequencial na memória. Usamos este tipo de lista quando se tem em
mente um tamanho pré­definido, ou seja, quando se sabe até onde a lista pode crescer.
Lista Linear Não Alocada
  Lista Linear Sequencial
Lista Linear Não Sequencial
  Lista Linear de Alocação de Memória
Lista Não Linear
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918988732 3/3
  6a Questão (Ref.: 201509179846)  Fórum de Dúvidas (0)       Saiba   (0)
As estruturas de dados em programação são muito utilizadas para tornar o acesso aos dados mais eficiente e
organizado. A estrutura de dados considerada mais simples e tem como característica apresentar apenas uma
dimensão é:
Função
Matriz
Registro
Variável
  Vetor
 Gabarito Comentado
 Fechar
 
 
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2919007410 1/2
   ESTRUTURA DE DADOS   Lupa  
 
Exercício: CCT0260_EX_A6_201509137939  Matrícula: 201509137939
Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 11/06/2016 20:44:47 (Finalizada)
  1a Questão (Ref.: 201509179324)  Fórum de Dúvidas (0)       Saiba   (0)
O que acontece quando tentamos retirar um elemento de uma pilha que já está vazia?
Ordenação.
Remoção.
Overflow.
  Underflow.
Inclusão.
 Gabarito Comentado
  2a Questão (Ref.: 201509171399)  Fórum de Dúvidas (0)       Saiba   (0)
Seja S uma pilha inicialmente vazia. Primeiramente, o elemento A é inserido em S. Em seguida, o elemento B,
e assim por diante, até a inclusão final do elemento E. Ao término dessas operações, qual elemento estará no
topo de S?
D.
C.
  E.
B.
A.
 Gabarito Comentado
  3a Questão (Ref.: 201509246973)  Fórum de Dúvidas (0)       Saiba   (0)
Respeitando as ordens de inserção e de retiradados dados, uma estrutura de:
  pilha é também denominada LIFO ou FILO.
fila é também denominada FIFO ou LIFO.
fila é também denominada FIFO ou FILO.
fila é também denominada LIFO ou LILO.
pilha é também denominada FIFO ou FILO.
 Gabarito Comentado
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2919007410 2/2
  4a Questão (Ref.: 201509246972)  Fórum de Dúvidas (0)       Saiba   (0)
Na estrutura de dados tipo pilha, há duas operações básicas para empilhamento e desempilhamento. Essas
operações são conhecidas como:
PULL e POP;
  PUSH e POP.
Base e Topo;
HEAP e POP;
  PUSH e PULL;
 Gabarito Comentado
  5a Questão (Ref.: 201509179841)  Fórum de Dúvidas (0)       Saiba   (0)
Sistemas operacionais utilizam filas para gerenciar, tarefas, processos e recursos. Qual é a ordenação dos
elementos armazenados aleatoriamente em uma lista do tipo LIFO?
  A operação TOP remove um elemento e altera o estado da Pilha
Nenhuma das operações altera o estado da Pilha
  Somente a operação POP altera o estado da Pilha
Ambas alteram o estado da Pilha
Somente a operação TOP altera o estado da Pilha
  6a Questão (Ref.: 201509171396)  Fórum de Dúvidas (0)       Saiba   (0)
A técnica LIFO (last in first out), utilizada em programação estruturada, é fundamentada no conceito de:
array
  pilha
ponteiro
fila
loop
 Gabarito Comentado
 Fechar
 
 
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2919017574 1/4
   ESTRUTURA DE DADOS   Lupa  
 
Exercício: CCT0260_EX_A7_201509137939  Matrícula: 201509137939
Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 11/06/2016 20:50:19 (Finalizada)
  1a Questão (Ref.: 201509179352)  Fórum de Dúvidas (0)       Saiba   (0)
Seja Q uma estrutura de dados do tipo fila, em que ENQUEUE(X) significa a adição do elemento X à Q e que
DEQUEUE(), a retirada de um elemento. Q está inicialmente vazia e sofre a seguinte sequencia de operações:
ENQUEUE(1)
ENQUEUE(2)
DEQUEUE()
ENQUEUE(3)
ENQUEUE(4)
DEQUEUE()
DEQUEUE()
ENQUEUE(5)
Ao final da sequencia, a soma dos elementos de que (Q) será?
6
  9
0
  15
5
 Gabarito Comentado
  2a Questão (Ref.: 201509179360)  Fórum de Dúvidas (0)       Saiba   (0)
Um banco adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema I atende
todas pessoas que não possuem atendimento prioritário. O sistema II atende somente pessoas com
atendimento prioritário. Nessa situação,
O sistema I adota o esquema FIFO de organização de dados e o II, o esquema LIFO.
  Tanto o sistema I, quanto o II, adota o esquema FIFO de organização de dados.
  Tanto o sistema I, quanto o II, adota o esquema LIFO de organização de dados.
Tanto o sistema I, quanto o II, adota o esquema lista duplamente encadeada de organização de dados.
O sistema I adota o esquema LIFO de organização de dados e o II o esquema FIFO.
  3a Questão (Ref.: 201509770783)  Fórum de Dúvidas (0)       Saiba   (0)
         Assinale a opção que, corretamente, mostra exemplos em que a estrutura de dados fila é usada, de acordo com o
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2919017574 2/4
critério de inserções e remoções que rege tal estrutura.
Buffer para gravação de dados em mídia e fila de pessoas para comprar o 谈Ȁcket do metrô.
Fila de arquivos para impressão e fila de pessoas no caixa de um supermercado.
  Fila de pessoas para 谈Ȁrar o visto e fila de pessoas para usar o caixa eletrônico.
  Fila de arquivos para impressão e buffer para gravação de dados em fila.
Fila de documentos para xerox e fila de arquivos para impressão.
 Gabarito Comentado
  4a Questão (Ref.: 201509770847)  Fórum de Dúvidas (0)       Saiba   (0)
   Considere uma fila simples F  de inteiros,  do 谈Ȁpo Fila definido abaixo. Tal fila deverá armazenar códigos de agentes de uma
firma de espionagem, desde que haja espaço para um novo agente.  Assinale a opção que corretamente desenfileira o código
de um agente, sabendo que a fila F foi inicializada de acordo com o trecho de código abaixo.
struct Fila {     in t v[100], inicio, fim; } ;
Fila F;
F. inicio = 0;
F.fim = ‐1;
 
 
 
void desenfileirar(Fila  F)  {
       if (F.inicio > F.fim)
            cout << "Não há agentes para re谈Ȁrar. " << endl;
     else  {
          cout << "Removido o agente " <<     F.v[F.inicio];
         F.inicio++;
    }
}
 
void desenfileirar(Fila &F)  {
        if (F.fim == ‐1 && F.inicio == 0)
            cout << "Não há agentes para re谈Ȁrar. " << endl;
       else  {
            cout << "Removido o agente " <<     F.v[F.inicio];
             F.inicio++;
       }
}
 
   
void desenfileirar(Fila F)  {
   cout << "Removido o agente " <<     F.v[F.inicio];
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2919017574 3/4
   F.inicio‐‐;
 }
 
  void desenfileirar(Fila &F)  {
        if (F.inicio > F.fim)
            cout <<  "Não há agentes para re谈Ȁrar. " << endl;
       else  {
             cout <<  "Removido o agente "  <<     F.v[F.inicio];
             F.inicio++;
       }
}
 
void desenfileirar(Fila &F)  {
       if (F.inicio > F.fim)
            cout << "Não há agentes para re谈Ȁrar. " << endl;
     else  {
         cout << "Removido o agente " <<     F.v[F.inicio];
     }
}
 Gabarito Comentado
  5a Questão (Ref.: 201509768148)  Fórum de Dúvidas (0)       Saiba   (0)
Ao inserirmos em uma estrutura de dados do tipo fila sequencial os seguintes elementos: A, B, C, D,
exatamente nesta ordem. E em seguida realizarmos duas operações consecutivas de remoção na fila e
imediatamente inserirmos dois novos elementos o X e o W. Podedmos afirmar que se realizarmos uma nova
operação de remoção, o elemento que será removido desta fila sera o:
D
W
A
X
  C
 Gabarito Comentado  Gabarito Comentado  Gabarito Comentado
  6a Questão (Ref.: 201509764975)  Fórum de Dúvidas (0)       Saiba   (0)
O que acontece quando se deseja inserir um elemento em uma FILA que já está cheia?
  Underflow.
Dequeue.
  Overflow.
Enqueue.
A inserção é feita sem problema.
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2919017574 4/4
 Gabarito Comentado
 Fechar
 
 
12/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185794656 1/4
   ESTRUTURA DE DADOS   Lupa  
 
Exercício: CCT0260_EX_A8_201509137939  Matrícula: 201509137939
Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 12/06/2016 16:02:22 (Finalizada)
  1a Questão (Ref.: 201509179664)  Fórum de Dúvidas (0)       Saiba   (0)
Marque a afirmativa que represente uma separação.
Juntar duas listas, colocando uma lista no final de outra, obtendo, ao final, uma só lista resultante.
  Consiste em dividir a lista em duas outras listas. A quantidade de nós que cada lista terá, depende da
necessidade.
Organizar os dados da lista em ordem crescente ou decrescente.
Intercalar a ordem dos dados da lista do final para o início, atualizando a lista.
Alterar a ordem dos dados da lista do final para o início, atualizando a lista.
 Gabarito Comentado
  2a Questão (Ref.: 201509179525)  Fórum de Dúvidas (0)       Saiba   (0)
Em uma lista linear simplesmente encadeada.
  Além do campo relativo ao dado, cada nó possui dois ponteiros,
Cada ponteiro possui um só endereço que referencia o primeiro nó da lista.
O ponteiro do "primeiro" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista, formando
um ciclo.
  Cada nó possui um só ponteiro que referencia o próximo nó da lista.O ponteiro do "último" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista.
 Gabarito Comentado
  3a Questão (Ref.: 201509721284)  Fórum de Dúvidas (0)       Saiba   (0)
Podemos dizer que uma lista encadeada tem as seguintes características:
i) conhecida como lista ligada.
ii) seus nós são responsáveis para manter a sequência da lista.
iii) o último nó deve apontar para NULL.
Assinale a alternativa que informa as afirmativas corretas.
Somente a afirmativa iii esta correta.
Todas as afirmativas estão incorretas.
  Todas as afirmativas estão corretas.
Somente a afirmativa i esta correta.
  Somente as afirmativas i e ii estão corretas.
12/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185794656 2/4
 Gabarito Comentado
  4a Questão (Ref.: 201509749708)  Fórum de Dúvidas (0)       Saiba   (0)
A linguagem C++ oferece quatro meios de criação de tipos de dados: matrizes, estruturas ou structs, uniões e
classes. As estruturas, que passaremos a chamar simplesmente de structs, são tipos de variáveis que agrupam
dados geralmente desiguais, enquanto matrizes são variáveis que agrupam dados similares. Devido a esta
característica as structs são utilizadas para modelar nodos (nós) de estruturas dinâmicas. Portanto podemos
afirmar que:
As estruturas dinâmicas são assim chamadas, pois não podem fazer alocação de memória em tempo de
execução, mas mesmo assim conseguem ter seus tamanhos alterados de acordo com a demanda.
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de
compilação e entretanto seus tamanhos só são alterados na codificação de acordo com a demanda.
  As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tanto em
tempo de execução quanto em tempo de compilação, mas não podem ter seus tamanhos alterados de
acordo com a demanda.
  As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de
execução e terem seus tamanhos alterados de acordo com a demanda.
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de
compilação e terem seus tamanhos alterados de acordo com a demanda.
  5a Questão (Ref.: 201509179871)  Fórum de Dúvidas (0)       Saiba   (0)
Na área de estrutura de dados, em determinados casos, é necessário utilizar um tipo de dado onde seu valor
serve como referência direta a outro valor alocado em outro espaço de memória. Este tipo de dado se chama:
Variável
Endereço
  Ponteiro
  Vetor
Matriz
 Gabarito Comentado
  6a Questão (Ref.: 201509770864)  Fórum de Dúvidas (0)       Saiba   (0)
Considere uma lista simplesmente encadeada com placas de carros.  Assinale a opção que, corretamente, imprime todas as
placas da lista. Considere :
struct no {
                 string placa;
                 struct no *link;
};
no *p;    //p aponta para o início da lista
 
 
 
void imprimir(no p) {
12/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185794656 3/4
   while (p != NULL)    {
           cout << pno;
          p = plink;
    }
}
 
  void imprimir(no *p) {
   if  (p != NULL)    {
           cout << pplaca;
          p = plink;
   }
}
  void imprimir(no *p) {
   while (p != NULL)    {
           cout << pplaca;
          p = plink;
}
}
 
void imprimir(no *p) {
    while (p != NULL)    {
           cout << pplaca;
   }
}
 
 
void imprimir(no *p) {
   while (p != NULL)    {
           cout << p.placa;
          p = p.link;
   }
}
 Gabarito Comentado
 Fechar
 
12/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185794656 4/4
 
12/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185871048 1/3
   ESTRUTURA DE DADOS   Lupa  
 
Exercício: CCT0260_EX_A9_201509137939  Matrícula: 201509137939
Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 12/06/2016 16:25:04 (Finalizada)
  1a Questão (Ref.: 201509885642)  Fórum de Dúvidas (0)       Saiba   (0)
Estava  um  aluno  estudando  Lista  Simplesmente  Encadeada  quando  encontrou    em  um  site  a
definição da struct nodo e de uma função cujo nome você deverá escolher para substituir XXX
nas opções abaixo depois que analisar a função, assumindo que teste foi realizado, permitindo 
que a operação fosse realizada.
 
 struct nodo
{
  int info;
  struct nodo *prox;
};
nodo* XXX(nodo *ptr, int valor)
{
  nodo *temp = new nodo;
  ...
  temp­>info = valor;    
  temp­>prox = ptr; 
  return temp;         
}
InsereNoFim
  InsereNoFrente
BuscaNaLista
RemoveNo
  ListaNo
 Gabarito Comentado
  2a Questão (Ref.: 201509384797)  Fórum de Dúvidas (0)       Saiba   (0)
Assinale a opção correta.  Sobre pilha dinâmica podemos afirmar que :
só pode ter seus dados impressos no sentido do último nó para o primeiro nó.        
  é recomendada para qualquer tipo de aplicação em que insere­se no final e retira­se do
início.
usa o critério FIFO, visto que é dinâmica.
insere­se em qualquer posição, antes ou após qualquer nó, visto que é dinâmica.
  usa o critério LIFO e é implementada usando­se listas encadeadas.
12/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185871048 2/3
 Gabarito Comentado
  3a Questão (Ref.: 201509851329)  Fórum de Dúvidas (0)       Saiba   (0)
Sabendo que uma fila encadeada possui seus nós definidos pela : 
struct no { 
int x; 
no *prox; 
}; 
Marque a alternativa que representa corretamente a criação ou alocação do nó na sintaxe do C++ para
utilização na fila.
p *no=new no;
no p ­> new no;
  p *no ­> new no;
no *p ­> new no;
  no *p=new no;
 Gabarito Comentado
  4a Questão (Ref.: 201509802240)  Fórum de Dúvidas (0)       Saiba   (0)
Sobre uma estrutura de dados do tipo LIFO, observe as seguintes afirmações: 
(1) É uma pilha. 
(2) Pode ser uma fila com prioridades 
(3) É uma estrutura onde o primeiro elemento a entrar é o último a sair.
Sobre estas afirmações marque a opção correta:
  Apenas as afirmações (1) e (3) são verdadeiras
Todas as afirmações são falsas
  Apenas a afirmação (3) é verdadeira
Apenas a afirmação (1) é verdadeira
Todas as afirmações são verdadeiras
  5a Questão (Ref.: 201509851451)  Fórum de Dúvidas (0)       Saiba   (0)
Para converter de decimal para binário usamos a estrutura de dados pilha. Assinale a opção que, corretamente,
indica as ações corretas para empilhar o resto da divisão gerado no processo de conversão, considerando uma
lista simplesmente encadeada. Considere o tipo definido abaixo : 
struct no { 
int dado; 
struct no *link; 
}; 
Não é necessário alocar memória com new. Basta criar uma struct do tipo no, armazenar o resto da
divisão número por 2 no campo dado e aterrar o campo link.
Basta alocar memória com new, armazenar o resto da divisão do número por 2 no campo dado do novo
nó e aterrar o link do novo nó.
  É preciso armazenar o resto da divisão do número por 2 no campo dado do primeiro nó da lista e
retornar o ponteiro para este nó.
Basta alocar memória com new e armazenar o resto da divisão do número por 2 no campo dado do
novo nó .
12/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185871048 3/3
  É preciso alocar memória com new, armazenar o resto da divisão do número por 2 no campo dado do
novo nó, apontar o link do novo nó para o início da lista e enfim, retornar o ponteiro para o novo nó.
 Gabarito Comentado
  6a Questão (Ref.: 201509722965)  Fórum de Dúvidas (0)       Saiba   (0)
Tínhamos  declaradoum  ponteiro  de  nome  ptr  e  precisávamos  construir  uma  estrutura  de  repetição  que
pudesse  repetir  enquanto o  ponteiro  não  fosse nulo. Observe os  trechos abaixo e  assinale  qual  a  afirmativa
correta.
I if (ptr !=NULL) 
II if( !ptr ) 
III if(ptr) 
IV while (ptr !=NULL) 
V while (ptr)
  I e II estão corretas.
I e IV estão corretas
  IV e V estão corretas.
III está correta
III e V estão corretas
 Gabarito Comentado
 Fechar
 
 
12/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185895960 1/3
   ESTRUTURA DE DADOS   Lupa  
 
Exercício: CCT0260_EX_A10_201509137939  Matrícula: 201509137939
Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 12/06/2016 16:33:14 (Finalizada)
  1a Questão (Ref.: 201509843796)  Fórum de Dúvidas (0)       Saiba   (0)
Os registros também conhecidos como estruturas, são estruturas de dados do tipo heterogêneo, ou seja,
permitem que valores de tipos diferentes possam ser armazenados em uma mesma estrutura. Analisando a
estrutura abaixo, a mesma pode ser utilizada para qual tipo de estrutura de dados, marque a alternativa
correta.
struct nomeRegistro{
       int info;
       struct nomeRegistro* ant;
       struct nomeRegistro* prox;
};
typedef struct nomeRegistro NOMEREGISTRO;
Lista encadeada
Fila
  Pilha
  Lista duplamente encadeada
Matriz
  2a Questão (Ref.: 201509392401)  Fórum de Dúvidas (0)       Saiba   (0)
Observe a struct, definida globalmente, e um trecho de uma função que manipula
uma Lista Duplamente Encadeada.
struct listaDE
{
 int info;
 struct listaDE* ant;
 struct listaDE* prox;
};
...
listaDE* novo = new listaDE;
novo­>info = valor;
novo­>prox = LISTA;
novo­>ant = NULL; 
Assinale a alternativa que apresenta o protótipo dessa função
listaDE *remove(listaDE *LISTA, int valor);
  listaDE *insereInicio(listaDE *LISTA, int valor); 
12/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185895960 2/3
listaDE *busca (listaDE *LISTA, int valor);
void exibeIpF(listaDE *LISTA);
listaDE *insereFim(listaDE *LISTA, int valor);
 Gabarito Comentado
  3a Questão (Ref.: 201509382141)  Fórum de Dúvidas (0)       Saiba   (0)
Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos podem ser de
diferentes naturezas, entretanto dois de seus campos devem ser ponteiros para o mesmo tipo do nodo,
são estes os ponteiros ant e prox, que apontam respectivamente para o nodo anterior e para o próximo
nodo.  Esta  característica  permite  que  a  estrutura  seja  percorrida  em  ambos  os  sentidos.  Assim
analisando as operações a seguir:
p­>ant­>prox=p­>prox;
p­>prox­>ant=p­>ant;
 
            Sendo p um ponteiro que aponta para um dos nodos da lista, pode­se afirmar que:
  As operações removem o nodo apontado pelo ponteiro p.
As operações inserem novo nodo, após o nodo apontado pelo ponteiro p.
  As operações possibilitam a busca de um nodo apontado pelo ponteiro p.
As operações possibilitam o percurso do ponteiro p da esquerda para direita.
As operações possibilitam o percurso do ponteiro p da direita para esquerda.
  4a Questão (Ref.: 201509384819)  Fórum de Dúvidas (0)       Saiba   (0)
Com relação à lista duplamente encadeada, é correto afirmar que :
Não pode ser vazia.
  A lista pode ser  percorrida com igual facilidade para a direita ou para a
esquerda, pois existem dois ponteiros.
          A lista precisa ter sempre um ponteiro apontando para o 1º. nó
  Consome  menos memória do que uma lista simplesmente encadeada, se
tivermos uma mesma aplicação.
Não pode haver remoções no meio da lista.
 Gabarito Comentado
  5a Questão (Ref.: 201509171461)  Fórum de Dúvidas (0)       Saiba   (0)
Em relação às estruturas de dados, é correto afirmar:
LIFO refere­se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, duplamente
encadeada.
  Guardar endereço de memória em "nós", normalmente identificados por previous ou next, é uma
12/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185895960 3/3
característica presente nas listas duplamente encadeadas.
Nos sistemas operacionais, a execução dos processos concorrentes ocorre segundo os princípios da
estrutura FILO.
LIFO refere­se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, sem
disciplina de acesso, onde o primeiro elemento a entrar é o último a sair.
Um grafo com um único vértice e sem arestas é conhecido como dígrafo.
 Gabarito Comentado
  6a Questão (Ref.: 201509179734)  Fórum de Dúvidas (0)       Saiba   (0)
 Suponha uma listagem mantida com informações sobre um equipamento a ser adquirido por
uma empresa. A listagem possui as informações sobre de 10 fornecedores, descritas a seguir:
próximo: um ponteiro para o próximo fornecedor da listagem;
nome: nome, identificando o fornecedor;
valor: preço do equipamento no fornecedor; 
anterior: um ponteiro para o fornecedor anterior da listagem.
Sendo o fornecedor "Z" o quinto elemento desta listagem e "X" e "Y" dois outros fornecedores
que não pertencem à listagem, com seus respectivos ponteiros "pZ", "pX" e "pY", considere o
trecho de código abaixo.
pY­>proximo = pX;
pX­>anterior = pY;
pX­>proximo = pZ­>proximo;
pZ­>proximo­>anterior = pX;
pZ­>proximo = pY;
pY­>anterior = pZ;
Este trecho de código é usado para inserir na listagem os fornecedores:
X, antes do Z, e Y, logo após o Z.
X, logo após o Z, e Y, logo após o X.
  Y, antes do Z, e X, logo após o Z.
Y, antes do Z, e X, antes do Y.
  Y, logo após o Z, e X, logo após o Y.
 Gabarito Comentado
 Fechar
 
 
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2330895138 1/3
   ESTRUTURA DE DADOS   Lupa  
 
Exercício: CCT0260_EX_A1_201509137939  Matrícula: 201509137939
Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 16/03/2016 09:36:01 (Finalizada)
  1a Questão (Ref.: 201509382103)  Fórum de Dúvidas (1)       Saiba   (1)
As  estruturas  de  dados  podem  ser  caracterizadas  como  sendo  uma  forma  organizada  de  armazenar
dados  ou  informações  na  memória,  de  modo  a  otimizar  o  acesso  a  estes.  Muitas  vezes  existem
algoritmos de manipulação dados associados a estas estruturas. Verifique as seguintes sentenças:
I­Filas são estruturas que recuperam os dados na ordem direta em que estes foram  armazenados.
II­As  Pilhas  são  estruturas  que  recuperam  os  dados  na  ordem  reversa  em  que  estes  foram 
armazenados.
III­As  Pilhas  são  estruturas  que  recuperam  os  dados  na  ordem  direta  em  que  estes  foram 
armazenados.
IV­As  Filas  são  estruturas  que  recuperam  os  dados  na  ordem  reversa  em  que  estes  foram 
armazenados.
Marque a alternativa CORRETA:
As alternativas III e IV estão corretas.
As alternativas I e III estão corretas.
As alternativas II e IV estão corretas.
  As alternativas I e II estão corretas
Todas as alternativas estão corretas.
 Gabarito Comentado
  2a Questão (Ref.: 201509246976)  Fórum de Dúvidas (1)       Saiba   (1)
Sobre estrutura de dados, identifique o que está correto afirmar.
I. Pilha é uma estrutura de dados com acesso restrito aos seus elementos, uma vez que eles são colocados e
retirados por um único lado e são ordenados pelo princípio LIFO (last in first out). Assim, sempre que um
elemento é adicionado ou retirado seu topo é alterado. 
II. Pilha é o tipo de estrutura usada, por exemplo, na avaliação de expressões numéricas, na recursividade e
pelos compiladores, na passagem de parâmetros para as funções. 
III. Registro é uma estrutura básica que permite guardar coleções de dados de diferentes tipos, sendo
normalmente utilizado quandoum objeto tem diferentes atributos, isto é, contém campos de diferentes tipos. 
IV. Lista pode conter um número qualquer de elementos, expandindo­se ou contraindo­se conforme o
elementos são inseridos ou retirados. Nesse tipo de estrutura, os acessos tanto podem ser feitos
sequencialmente como diretamente. 
V. Fila, assim como a pilha , é uma versão especial de lista, e como tal, seus elementos são ordenados pelo
princípio LIFO (last in first out).
I, III, IV e V.
II, IV e V.
  I, II e III.
II, III, IV e V.
  I, III e V.
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2330895138 2/3
 Gabarito Comentado
  3a Questão (Ref.: 201509793384)  Fórum de Dúvidas (0)       Saiba   (0)
Qual estrutura de dados não linear que é utilizada na implementação de Redes de Computadores, na
Computação Gráfica, em modelagem de circuitos digitais e etc. E que se caracteriza por apresentar um conjunto
de nós e conexões entre eles.
Filas Encadeadas
  Listas Encadeadas.
Pilhas Encadeadas
  Grafos
Vetores
  4a Questão (Ref.: 201509856817)  Fórum de Dúvidas (1 de 1)       Saiba   (1 de 1)
Observe o trecho do programa em C++ abaixo e, após, entrar com os valores sugeridos para sua execução
assinale a alternativa que representa a resposta final.
cin >> a;
cin >> b;
cin >> c;
cin >> d;
cout << a;
cout << b;
cout << c;
cout << d;
cout << d;
cout << c;
cout << b;
cout << a;
Após a impressão dos valores pela ordem teremos uma fila e um grafo.
Após a impressão dos valores pela ordem teremos duas filas.
Após a impressão dos valores pela ordem teremos uma pilha e uma fila.
  Após a impressão dos valores pela ordem teremos duas pilhas.
  Após a impressão dos valores pela ordem teremos uma fila e uma pilha.
  5a Questão (Ref.: 201509418872)  Fórum de Dúvidas (1)       Saiba   (1)
Na maioria dos sistemas operacionais, os arquivos são organizados hierarquicamente em um esquema de
diretórios (pastas) e sub­diretórios. Qual a estrutura mais adequada para representar este problema ?
pilha
lista
grafo
fila
  árvore
 Gabarito Comentado
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2330895138 3/3
  6a Questão (Ref.: 201509179485)  Fórum de Dúvidas (1 de 1)       Saiba   (1 de 1)
Podemos dizer que estrutura de dados é:
É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
  O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
 Gabarito Comentado
 Fechar
 
 
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2366393502 1/3
   ESTRUTURA DE DADOS   Lupa  
 
Exercício: CCT0260_EX_A2_201509137939  Matrícula: 201509137939
Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 24/03/2016 17:36:57 (Finalizada)
  1a Questão (Ref.: 201509179845)  Fórum de Dúvidas (1)       Saiba   (1)
As variáveis em programação são utilizadas para armazenar um valor de determinado tipo em um espaço
reservado na memória. Em algumas linguagens de programação podemos declarar, ou seja, reservar um
espaço na memória, fora do escopo da função principal, e fora do escopo de qualquer outra função. Ao fazer a
declaração desta forma estamos declarando uma variável do tipo:
  Global
Inteiro
Real
Constante
Local
 Gabarito Comentado
  2a Questão (Ref.: 201509179876)  Fórum de Dúvidas (1)       Saiba   (1)
Com a utilização das estruturas de dados e seus tipos, em algumas situações é imprescindível a criação de
funções que façam determinada verificação ou ação nestas estruturas. Dessa forma, analise a função abaixo e
marque corretamente a alternativa que descreve as funcionalidades desta.
int funcao(float v[], float vl, int n)
{
   for (int i = 0; i < n; i++)
     if (v[i] == vl)
       return i;
   return ­1;
}
Retorna ­1 se o valor de n foi encontrado.
  Retorna ­1 se o valor de vl estiver dentro de v.
  Retorna a posição de v se o valor vl foi encontrado.
Resulta em erro, se o valor de vl não estiver dentro de v.
Retorna o valor de vl se o valor n foi encontrado.
 Gabarito Comentado
  3a Questão (Ref.: 201509179880)  Fórum de Dúvidas (1)       Saiba   (1)
A declaração de variáveis na programação é o ato de reservar um espaço na memória para poder armazenar
valores de um determinado tipo. Essas variáveis podem ser classificadas como variáveis locais e globais. Sendo
assim, qual das situações abaixo representa melhor o conceito das variáveis globais.
Em duas funções diferentes temos duas variáveis também diferentes com o mesmo nome apresentando
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2366393502 2/3
o mesmo valor.
Se dentro de uma função "mostra" declararmos uma variável 'R' com um determinado valor poderemos
imprimir esta variável em qualquer outra função do programa mostrando o valor atribuído na função
"mostra".
Em uma função "resul" tem­se uma variável ali declarada por 'T' que recebe o valor inteiro 5. Ao tentar
chamar esta variável em outra função é mencionado um warning.
  Ao modificar o valor da variável 'X' na função "modifica" seu valor modificado poderá ser apresentado
em qualquer outra função do programa.
Se modificarmos o valor da variável 'Y' na função "soma", e depois imprimirmos na tela esta variável
em outra função, onde tambem está declarada a variável 'Y', será acusado um erro de compilação.
 Gabarito Comentado
  4a Questão (Ref.: 201509384525)  Fórum de Dúvidas (1 de 1)       Saiba   (1 de 1)
 
Auxiliar = 111  Numero1 = 1000  Numero2 = 80
Auxiliar = 101  Numero1 = 900  Numero2 = 20
  Auxiliar = 100  Numero1 = 900  Numero2 = 80
Auxiliar = 100  Numero1 = 1000  Numero2 = 20
Auxiliar = 100  Numero1 = 900  Numero2 = 20
 Gabarito Comentado
  5a Questão (Ref.: 201509768153)  Fórum de Dúvidas (1)       Saiba   (1)
Blocos únicos de códigos que realizam diversas tarefas distitintas são de dificil manutenção. Portanto, utiliza­se
a tecnica da modularização de programas, a fim de facilitar a implementação e a manutenção dos programas.
Esta técnica, também chamada de modularização, tem como principal elemento:
As Filas
Os Vetores
As Estruturas de Dados
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2366393502 3/3
Os Grafos
  As funções
  6a Questão (Ref.: 201509762272)  Fórum de Dúvidas (1 de 1)       Saiba   (1 de 1)
Uma função possui um valor de retorno inteiro, recebe por valor um inteiro como primeiro parâmetro e por
referência um inteiro como segundo parâmetro. Qual das respostas abaixo poderia representar o protótipo
dessa função:
void func (int a, int &b);
void func (int &a, int &b);
  int func (int a, int &b);
  int func (&int, int);
int func (int &a, int b);
 Gabarito Comentado
 Fechar
 
 
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918951970 1/3
   ESTRUTURA DE DADOS   Lupa  
 
Exercício: CCT0260_EX_A3_201509137939  Matrícula: 201509137939
Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 11/06/2016 20:14:27 (Finalizada)
  1a Questão (Ref.: 201509819194)  Fórum de Dúvidas (0)       Saiba   (0)
Pode­se  definir  uma  estrutura  heterogênea  como  sendo  um  conjunto  de  elementos,  geralmente,
agrupados sob uma lógica e associados por um nome.Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de
uma estrutura como:
 
 struct  aluno {
              string nome;
              float   nota;
};
 
Suponha ainda que exista um vetor desta estrutura, definido como:
 aluno vet [ 100];
 
Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento
deste vetor.
vet[10]=aluno.5.7;
aluno.vet[10]=5.7;
  vet[10].nota=5.7;
vet[10].aluno.nota=5.7 ;
aluno.vet[10].nota=5.7;
  2a Questão (Ref.: 201509179847)  Fórum de Dúvidas (0)       Saiba   (0)
A armazenagem de dados pode ocorrer temporariamente em uma variável, um vetor ou em uma estrutura
chamada Struct na linguagem C e C++. Como se procede a atribuição de valor a um determinado campo de
uma estrutura do tipo Struct?
Nome da estrutura vírgula tipo do campo
Nome da estrutura ponto tipo do campo
  Nome da estrutura seta nome do campo
  Nome da estrutura ponto nome do campo
Nome da estrutura seta tipo do campo
 Gabarito Comentado
  3a Questão (Ref.: 201509793405)  Fórum de Dúvidas (0)       Saiba   (0)
Pode­se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob
uma lógica e associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma
estrutura como:
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918951970 2/3
struct aluno {
string nome;
float nota;
};
Suponha ainda que exista um vetor desta estrutura, definido como:
aluno vet [100];
Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento deste
vetor.
aluno.vet[10]=5.7;
aluno.vet[10].nota=5.7;
vet[10]=aluno.5.7;
  vet[10].nota=5.7;
vet[10].aluno.nota=5.7 ;
  4a Questão (Ref.: 201509749716)  Fórum de Dúvidas (0)       Saiba   (0)
Pode­se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob
uma lógica e associados por um nome. Esses elementos podem ser variáveis simples, matrizes ou ainda outras
estruturas. Seja a definição de uma estrutura como: struct aluno { string nome; float media; }; Suponha ainda
que exista um vetor desta estrutura, definido como: aluno vet [ 10]; Marque a alternativa em que é atribuída de
forma correta a media 6.0 para o quarto elemento deste vetor.
aluno[3].10=6.0;
aluno[10]=6.0;
  vet[3].media=6.0;
  aluno[3].media=6.0;
vet[3].aluno=6.0;
  5a Questão (Ref.: 201509851444)  Fórum de Dúvidas (0)       Saiba   (0)
Marque a opção correta, considerando 
struct Livro { 
int codigo; 
float preco; 
} liv; 
  liv.preco = 30.70;
Livro.liv.codigo = 12345;
  Livro.codigo = 12345;
liv­>preco = 30.70;
Livro­>liv.codigo = 12345;
  6a Questão (Ref.: 201509179340)  Fórum de Dúvidas (0)       Saiba   (0)
Qual das seguintes estruturas de dados é classificada como heterogênea?
  Fila
Pilha
Loop
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918951970 3/3
Vetor
  Registro
 Gabarito Comentado
 Fechar
 
 
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918966160 1/3
   ESTRUTURA DE DADOS   Lupa  
 
Exercício: CCT0260_EX_A4_201509137939  Matrícula: 201509137939
Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 11/06/2016 20:21:35 (Finalizada)
  1a Questão (Ref.: 201509179298)  Fórum de Dúvidas (1)       Saiba   (0)
Em uma pesquisa sequencial a lista deve estar?
sempre desordenada.
ordenada somente o primeiro da lista.
  ordenada ou desordenada.
desordenada somente da metade da lista até o final.
ordenada somente do início até a metade da lista.
 Gabarito Comentado
  2a Questão (Ref.: 201509182677)  Fórum de Dúvidas (1)       Saiba   (0)
Para consultarmos uma estrutura de dados, normalmente, empregamos um tipo de pesquisa de dados. O trecho
de programa a seguir refere­se a uma pesquisa por um elemento único (sua primeira ocorrência), em um
conjunto de elementos de dados armazenado em uma estrutura de acesso indexado e aleatório. Selecione a
opção correspondente ao algoritmo utilizado, no programa, para a referida pesquisa:
int busca(float v[], float valor, int n) {
int ini = 0, fim = n ­1, meio;
while (ini <= fim) {
meio = (ini + fim)/2;
if (v[meio] == valor)  return meio;
if (valor < v[meio]) fim = meio ­1;
  else ini = meio+1;
}
return ­1;
}
  pesquisa binária
pesquisa indexada
  pesquisa sequencial
pesquisa de cadeias
pesquisa cadeias indexada
 Gabarito Comentado
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918966160 2/3
  3a Questão (Ref.: 201509179855)  Fórum de Dúvidas (1 de 1)       Saiba   (0)
O processo de rearranjar um conjunto de dados em uma ordem crescente ou decrescente é chamado de
ordenação. Existem várias técnicas de ordenação, entretanto a técnica que procura o menor valor entre todos
os elementos do vetor e troca­o pelo primeiro elemento; para os n ­ 1 elementos restantes, determinação do
elemento de menor valor e troca pelo segundo elemento e assim sucessivamente, é chamado de:
Binária
Bolha
Hash
  Seleção
  Inserção
 Gabarito Comentado
  4a Questão (Ref.: 201509179507)  Fórum de Dúvidas (1)       Saiba   (0)
Qual a importância de se entender a "ordenação" de dados ?
  A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem­se
conhecimento para resolver outros problemas.
A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem­se
conhecimento para resolver outros problemas.
A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem­se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem­se
conhecimento para manter outros problemas.
A ordenação é a base na qual, muitos programas são construídos. Entendendo a ordenação, tem­se
conhecimento para manter outros problemas.
 Gabarito Comentado
  5a Questão (Ref.: 201509179349)  Fórum de Dúvidas (1 de 1)       Saiba   (0)
O seguinte trecho de programa abaixo representa qual tipo de estrutura de ordenação?
void ordenar(float v[], int n) // n é o no. de elementos em v
{
 int i , // índice
 aux, // auxiliar para troca
trocou = true,
fim = n ­ 1;
while (trocou)
{
    trocou = false; // sinaliza que é falso que trocou
     for (i = 0; i < fim; i++)
     {
       if (v[i] > v[i+1])
       {
         aux = v[i];
         v[i] = v[i+1];
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918966160 3/3
         v[i+1] = aux;
         // sinaliza que é verdadeiro que trocou
         trocou = true;
        } // fim if
    } // fim for
 fim­­; // decrementa o fim
} // fim while
} // fim da função
Heapsort
Mergesort
  Bublesort
  Shellsort
Quicksort
 Gabarito Comentado
  6a Questão (Ref.: 201509182912)  Fórum de Dúvidas (1)       Saiba   (0)
Existem vários algoritmos de busca em estruturas de dados, um destes realiza a busca em vetores, e requer
acesso aleatório aos elementos desta estrutura e parte do pressuposto de que os dados do vetor estejam
ordenados e utiliza a técnica de divisão e conquista comparando o elemento desejado com o elemento do meio
do vetor. Esta técnica ainda verifica se o elemento do meio do vetor for o desejado, a busca termina. Caso
contrário, se o elemento do meio vier antes do elemento buscado, então a busca continua na metade posterior
do vetor. E se o elemento do meio vier depois da chave, a busca continuana metade anterior do vetor. O
algoritmo que utiliza esta metodologia é:
  Pesquisa binária
  Seleção
Pesquisa sequencial
Bolha
Inserção
 Gabarito Comentado
 Fechar
 
 
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918988732 1/3
   ESTRUTURA DE DADOS   Lupa  
 
Exercício: CCT0260_EX_A5_201509137939  Matrícula: 201509137939
Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 11/06/2016 20:33:58 (Finalizada)
  1a Questão (Ref.: 201509827389)  Fórum de Dúvidas (0)       Saiba   (0)
Considere uma lista com n  livros, em que cada livro é modelado pela struct :
 
struct Livro {
                            string 堀倅tulo,  editora, autor;
                            float preco;
};
 
A função X abaixo
 
void X (Livro v[ ], int &n, Livro L)
{
     v[n] = L;
     n++;
    cout << "Operação realizada com sucesso.";
}
 
implementa a operação de :
Busca
  Inserção
Ordenação por inserção
Inicialização
Subs堀倅tuição
 Gabarito Comentado
  2a Questão (Ref.: 201509179703)  Fórum de Dúvidas (0)       Saiba   (0)
Com relação as listas lineares sequenciais:
I ­ Uma lista linear sequencial é um vetor em linguagens estruturadas, também chamado de
array.
II ­ Um elemento de uma lista linear sequencial pode ser acessado diretamente através de um
índice.
III ­ Uma lista linear sequencial pode ter elementos de um mesmo tipo, ou de tipos diferentes.
  Apenas as afirmações II e III estão corretas.
Apenas a afirmação I está correta.
Apenas as afirmações II está corretas.
Apenas as afirmações I e III estão corretas.
  Apenas as afirmações I e II estão corretas.
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918988732 2/3
 Gabarito Comentado
  3a Questão (Ref.: 201509179323)  Fórum de Dúvidas (0)       Saiba   (0)
O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo = fim)?
ordenação
  underflow
remoção
inclusão
  overflow
 Gabarito Comentado
  4a Questão (Ref.: 201509179867)  Fórum de Dúvidas (0)       Saiba   (0)
Analisando o trecho do algoritmo abaixo,
pode­se afirmar que se trata de uma operação de:
Remoção de um elemento de uma estrutura FIFO
Remoção de um elemento de uma estrutura LIFO
Exibição de um elemento em uma estrutura LIFO
  Inserção de um elemento em uma estrutura LIFO
Inserção de um elemento em uma estrutura FIFO
 Gabarito Comentado
  5a Questão (Ref.: 201509743570)  Fórum de Dúvidas (0)       Saiba   (0)
__________________________ é uma lista linear em que a alocação de memória pode ser estática, e que a
forma de armazenamento é contígua ou sequencial na memória. Usamos este tipo de lista quando se tem em
mente um tamanho pré­definido, ou seja, quando se sabe até onde a lista pode crescer.
Lista Linear Não Alocada
  Lista Linear Sequencial
Lista Linear Não Sequencial
  Lista Linear de Alocação de Memória
Lista Não Linear
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2918988732 3/3
  6a Questão (Ref.: 201509179846)  Fórum de Dúvidas (0)       Saiba   (0)
As estruturas de dados em programação são muito utilizadas para tornar o acesso aos dados mais eficiente e
organizado. A estrutura de dados considerada mais simples e tem como característica apresentar apenas uma
dimensão é:
Função
Matriz
Registro
Variável
  Vetor
 Gabarito Comentado
 Fechar
 
 
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2919007410 1/2
   ESTRUTURA DE DADOS   Lupa  
 
Exercício: CCT0260_EX_A6_201509137939  Matrícula: 201509137939
Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 11/06/2016 20:44:47 (Finalizada)
  1a Questão (Ref.: 201509179324)  Fórum de Dúvidas (0)       Saiba   (0)
O que acontece quando tentamos retirar um elemento de uma pilha que já está vazia?
Ordenação.
Remoção.
Overflow.
  Underflow.
Inclusão.
 Gabarito Comentado
  2a Questão (Ref.: 201509171399)  Fórum de Dúvidas (0)       Saiba   (0)
Seja S uma pilha inicialmente vazia. Primeiramente, o elemento A é inserido em S. Em seguida, o elemento B,
e assim por diante, até a inclusão final do elemento E. Ao término dessas operações, qual elemento estará no
topo de S?
D.
C.
  E.
B.
A.
 Gabarito Comentado
  3a Questão (Ref.: 201509246973)  Fórum de Dúvidas (0)       Saiba   (0)
Respeitando as ordens de inserção e de retirada dos dados, uma estrutura de:
  pilha é também denominada LIFO ou FILO.
fila é também denominada FIFO ou LIFO.
fila é também denominada FIFO ou FILO.
fila é também denominada LIFO ou LILO.
pilha é também denominada FIFO ou FILO.
 Gabarito Comentado
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2919007410 2/2
  4a Questão (Ref.: 201509246972)  Fórum de Dúvidas (0)       Saiba   (0)
Na estrutura de dados tipo pilha, há duas operações básicas para empilhamento e desempilhamento. Essas
operações são conhecidas como:
PULL e POP;
  PUSH e POP.
Base e Topo;
HEAP e POP;
  PUSH e PULL;
 Gabarito Comentado
  5a Questão (Ref.: 201509179841)  Fórum de Dúvidas (0)       Saiba   (0)
Sistemas operacionais utilizam filas para gerenciar, tarefas, processos e recursos. Qual é a ordenação dos
elementos armazenados aleatoriamente em uma lista do tipo LIFO?
  A operação TOP remove um elemento e altera o estado da Pilha
Nenhuma das operações altera o estado da Pilha
  Somente a operação POP altera o estado da Pilha
Ambas alteram o estado da Pilha
Somente a operação TOP altera o estado da Pilha
  6a Questão (Ref.: 201509171396)  Fórum de Dúvidas (0)       Saiba   (0)
A técnica LIFO (last in first out), utilizada em programação estruturada, é fundamentada no conceito de:
array
  pilha
ponteiro
fila
loop
 Gabarito Comentado
 Fechar
 
 
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2919017574 1/4
   ESTRUTURA DE DADOS   Lupa  
 
Exercício: CCT0260_EX_A7_201509137939  Matrícula: 201509137939
Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 11/06/2016 20:50:19 (Finalizada)
  1a Questão (Ref.: 201509179352)  Fórum de Dúvidas (0)       Saiba   (0)
Seja Q uma estrutura de dados do tipo fila, em que ENQUEUE(X) significa a adição do elemento X à Q e que
DEQUEUE(), a retirada de um elemento. Q está inicialmente vazia e sofre a seguinte sequencia de operações:
ENQUEUE(1)
ENQUEUE(2)
DEQUEUE()
ENQUEUE(3)
ENQUEUE(4)
DEQUEUE()
DEQUEUE()
ENQUEUE(5)
Ao final da sequencia, a soma dos elementos de que (Q) será?
6
  9
0
  15
5
 Gabarito Comentado
  2a Questão (Ref.: 201509179360)  Fórum de Dúvidas (0)       Saiba   (0)
Um banco adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema I atende
todas pessoas que não possuem atendimento prioritário. O sistema II atende somente pessoas com
atendimento prioritário. Nessa situação,
O sistema I adota o esquema FIFO de organização de dados e o II, o esquema LIFO.
  Tanto o sistema I, quanto o II, adota o esquema FIFO de organização de dados.
  Tanto o sistema I, quanto o II, adota o esquema LIFO de organização de dados.
Tanto o sistema I, quanto o II, adota o esquema lista duplamente encadeada de organização de dados.
O sistema I adota o esquema LIFO de organização de dados e o II o esquema FIFO.
  3a Questão (Ref.: 201509770783)  Fórum de Dúvidas (0)       Saiba   (0)
         Assinale a opção que, corretamente, mostra exemplos em que a estrutura de dados fila é usada, de acordo com o
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=29190175742/4
critério de inserções e remoções que rege tal estrutura.
Buffer para gravação de dados em mídia e fila de pessoas para comprar o 谈Ȁcket do metrô.
Fila de arquivos para impressão e fila de pessoas no caixa de um supermercado.
  Fila de pessoas para 谈Ȁrar o visto e fila de pessoas para usar o caixa eletrônico.
  Fila de arquivos para impressão e buffer para gravação de dados em fila.
Fila de documentos para xerox e fila de arquivos para impressão.
 Gabarito Comentado
  4a Questão (Ref.: 201509770847)  Fórum de Dúvidas (0)       Saiba   (0)
   Considere uma fila simples F  de inteiros,  do 谈Ȁpo Fila definido abaixo. Tal fila deverá armazenar códigos de agentes de uma
firma de espionagem, desde que haja espaço para um novo agente.  Assinale a opção que corretamente desenfileira o código
de um agente, sabendo que a fila F foi inicializada de acordo com o trecho de código abaixo.
struct Fila {     in t v[100], inicio, fim; } ;
Fila F;
F. inicio = 0;
F.fim = ‐1;
 
 
 
void desenfileirar(Fila  F)  {
       if (F.inicio > F.fim)
            cout << "Não há agentes para re谈Ȁrar. " << endl;
     else  {
          cout << "Removido o agente " <<     F.v[F.inicio];
         F.inicio++;
    }
}
 
void desenfileirar(Fila &F)  {
        if (F.fim == ‐1 && F.inicio == 0)
            cout << "Não há agentes para re谈Ȁrar. " << endl;
       else  {
            cout << "Removido o agente " <<     F.v[F.inicio];
             F.inicio++;
       }
}
 
   
void desenfileirar(Fila F)  {
   cout << "Removido o agente " <<     F.v[F.inicio];
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2919017574 3/4
   F.inicio‐‐;
 }
 
  void desenfileirar(Fila &F)  {
        if (F.inicio > F.fim)
            cout <<  "Não há agentes para re谈Ȁrar. " << endl;
       else  {
             cout <<  "Removido o agente "  <<     F.v[F.inicio];
             F.inicio++;
       }
}
 
void desenfileirar(Fila &F)  {
       if (F.inicio > F.fim)
            cout << "Não há agentes para re谈Ȁrar. " << endl;
     else  {
         cout << "Removido o agente " <<     F.v[F.inicio];
     }
}
 Gabarito Comentado
  5a Questão (Ref.: 201509768148)  Fórum de Dúvidas (0)       Saiba   (0)
Ao inserirmos em uma estrutura de dados do tipo fila sequencial os seguintes elementos: A, B, C, D,
exatamente nesta ordem. E em seguida realizarmos duas operações consecutivas de remoção na fila e
imediatamente inserirmos dois novos elementos o X e o W. Podedmos afirmar que se realizarmos uma nova
operação de remoção, o elemento que será removido desta fila sera o:
D
W
A
X
  C
 Gabarito Comentado  Gabarito Comentado  Gabarito Comentado
  6a Questão (Ref.: 201509764975)  Fórum de Dúvidas (0)       Saiba   (0)
O que acontece quando se deseja inserir um elemento em uma FILA que já está cheia?
  Underflow.
Dequeue.
  Overflow.
Enqueue.
A inserção é feita sem problema.
11/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=2919017574 4/4
 Gabarito Comentado
 Fechar
 
 
12/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185794656 1/4
   ESTRUTURA DE DADOS   Lupa  
 
Exercício: CCT0260_EX_A8_201509137939  Matrícula: 201509137939
Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 12/06/2016 16:02:22 (Finalizada)
  1a Questão (Ref.: 201509179664)  Fórum de Dúvidas (0)       Saiba   (0)
Marque a afirmativa que represente uma separação.
Juntar duas listas, colocando uma lista no final de outra, obtendo, ao final, uma só lista resultante.
  Consiste em dividir a lista em duas outras listas. A quantidade de nós que cada lista terá, depende da
necessidade.
Organizar os dados da lista em ordem crescente ou decrescente.
Intercalar a ordem dos dados da lista do final para o início, atualizando a lista.
Alterar a ordem dos dados da lista do final para o início, atualizando a lista.
 Gabarito Comentado
  2a Questão (Ref.: 201509179525)  Fórum de Dúvidas (0)       Saiba   (0)
Em uma lista linear simplesmente encadeada.
  Além do campo relativo ao dado, cada nó possui dois ponteiros,
Cada ponteiro possui um só endereço que referencia o primeiro nó da lista.
O ponteiro do "primeiro" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista, formando
um ciclo.
  Cada nó possui um só ponteiro que referencia o próximo nó da lista.
O ponteiro do "último" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista.
 Gabarito Comentado
  3a Questão (Ref.: 201509721284)  Fórum de Dúvidas (0)       Saiba   (0)
Podemos dizer que uma lista encadeada tem as seguintes características:
i) conhecida como lista ligada.
ii) seus nós são responsáveis para manter a sequência da lista.
iii) o último nó deve apontar para NULL.
Assinale a alternativa que informa as afirmativas corretas.
Somente a afirmativa iii esta correta.
Todas as afirmativas estão incorretas.
  Todas as afirmativas estão corretas.
Somente a afirmativa i esta correta.
  Somente as afirmativas i e ii estão corretas.
12/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185794656 2/4
 Gabarito Comentado
  4a Questão (Ref.: 201509749708)  Fórum de Dúvidas (0)       Saiba   (0)
A linguagem C++ oferece quatro meios de criação de tipos de dados: matrizes, estruturas ou structs, uniões e
classes. As estruturas, que passaremos a chamar simplesmente de structs, são tipos de variáveis que agrupam
dados geralmente desiguais, enquanto matrizes são variáveis que agrupam dados similares. Devido a esta
característica as structs são utilizadas para modelar nodos (nós) de estruturas dinâmicas. Portanto podemos
afirmar que:
As estruturas dinâmicas são assim chamadas, pois não podem fazer alocação de memória em tempo de
execução, mas mesmo assim conseguem ter seus tamanhos alterados de acordo com a demanda.
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de
compilação e entretanto seus tamanhos só são alterados na codificação de acordo com a demanda.
  As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tanto em
tempo de execução quanto em tempo de compilação, mas não podem ter seus tamanhos alterados de
acordo com a demanda.
  As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de
execução e terem seus tamanhos alterados de acordo com a demanda.
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de
compilação e terem seus tamanhos alterados de acordo com a demanda.
  5a Questão (Ref.: 201509179871)  Fórum de Dúvidas (0)       Saiba   (0)
Na área de estrutura de dados, em determinados casos, é necessário utilizar um tipo de dado onde seu valor
serve como referência direta a outro valor alocado em outro espaço de memória. Este tipo de dado se chama:
Variável
Endereço
  Ponteiro
  Vetor
Matriz
 Gabarito Comentado
  6a Questão (Ref.: 201509770864)  Fórum de Dúvidas (0)       Saiba   (0)
Considere uma lista simplesmente encadeada com placas de carros.  Assinale a opção que, corretamente, imprime todas as
placas da lista. Considere :
struct no {
                 string placa;
                 struct no *link;
};
no *p;    //p aponta para o início da lista
 
 
 
void imprimir(no p) {
12/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185794656 3/4
   while (p != NULL)    {
           cout << pno;
          p = plink;
    }
}
 
  void imprimir(no *p) {
   if  (p != NULL)    {
           cout << pplaca;p = plink;
   }
}
  void imprimir(no *p) {
   while (p != NULL)    {
           cout << pplaca;
          p = plink;
}
}
 
void imprimir(no *p) {
    while (p != NULL)    {
           cout << pplaca;
   }
}
 
 
void imprimir(no *p) {
   while (p != NULL)    {
           cout << p.placa;
          p = p.link;
   }
}
 Gabarito Comentado
 Fechar
 
12/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185794656 4/4
 
12/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185871048 1/3
   ESTRUTURA DE DADOS   Lupa  
 
Exercício: CCT0260_EX_A9_201509137939  Matrícula: 201509137939
Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 12/06/2016 16:25:04 (Finalizada)
  1a Questão (Ref.: 201509885642)  Fórum de Dúvidas (0)       Saiba   (0)
Estava  um  aluno  estudando  Lista  Simplesmente  Encadeada  quando  encontrou    em  um  site  a
definição da struct nodo e de uma função cujo nome você deverá escolher para substituir XXX
nas opções abaixo depois que analisar a função, assumindo que teste foi realizado, permitindo 
que a operação fosse realizada.
 
 struct nodo
{
  int info;
  struct nodo *prox;
};
nodo* XXX(nodo *ptr, int valor)
{
  nodo *temp = new nodo;
  ...
  temp­>info = valor;    
  temp­>prox = ptr; 
  return temp;         
}
InsereNoFim
  InsereNoFrente
BuscaNaLista
RemoveNo
  ListaNo
 Gabarito Comentado
  2a Questão (Ref.: 201509384797)  Fórum de Dúvidas (0)       Saiba   (0)
Assinale a opção correta.  Sobre pilha dinâmica podemos afirmar que :
só pode ter seus dados impressos no sentido do último nó para o primeiro nó.        
  é recomendada para qualquer tipo de aplicação em que insere­se no final e retira­se do
início.
usa o critério FIFO, visto que é dinâmica.
insere­se em qualquer posição, antes ou após qualquer nó, visto que é dinâmica.
  usa o critério LIFO e é implementada usando­se listas encadeadas.
12/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185871048 2/3
 Gabarito Comentado
  3a Questão (Ref.: 201509851329)  Fórum de Dúvidas (0)       Saiba   (0)
Sabendo que uma fila encadeada possui seus nós definidos pela : 
struct no { 
int x; 
no *prox; 
}; 
Marque a alternativa que representa corretamente a criação ou alocação do nó na sintaxe do C++ para
utilização na fila.
p *no=new no;
no p ­> new no;
  p *no ­> new no;
no *p ­> new no;
  no *p=new no;
 Gabarito Comentado
  4a Questão (Ref.: 201509802240)  Fórum de Dúvidas (0)       Saiba   (0)
Sobre uma estrutura de dados do tipo LIFO, observe as seguintes afirmações: 
(1) É uma pilha. 
(2) Pode ser uma fila com prioridades 
(3) É uma estrutura onde o primeiro elemento a entrar é o último a sair.
Sobre estas afirmações marque a opção correta:
  Apenas as afirmações (1) e (3) são verdadeiras
Todas as afirmações são falsas
  Apenas a afirmação (3) é verdadeira
Apenas a afirmação (1) é verdadeira
Todas as afirmações são verdadeiras
  5a Questão (Ref.: 201509851451)  Fórum de Dúvidas (0)       Saiba   (0)
Para converter de decimal para binário usamos a estrutura de dados pilha. Assinale a opção que, corretamente,
indica as ações corretas para empilhar o resto da divisão gerado no processo de conversão, considerando uma
lista simplesmente encadeada. Considere o tipo definido abaixo : 
struct no { 
int dado; 
struct no *link; 
}; 
Não é necessário alocar memória com new. Basta criar uma struct do tipo no, armazenar o resto da
divisão número por 2 no campo dado e aterrar o campo link.
Basta alocar memória com new, armazenar o resto da divisão do número por 2 no campo dado do novo
nó e aterrar o link do novo nó.
  É preciso armazenar o resto da divisão do número por 2 no campo dado do primeiro nó da lista e
retornar o ponteiro para este nó.
Basta alocar memória com new e armazenar o resto da divisão do número por 2 no campo dado do
novo nó .
12/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185871048 3/3
  É preciso alocar memória com new, armazenar o resto da divisão do número por 2 no campo dado do
novo nó, apontar o link do novo nó para o início da lista e enfim, retornar o ponteiro para o novo nó.
 Gabarito Comentado
  6a Questão (Ref.: 201509722965)  Fórum de Dúvidas (0)       Saiba   (0)
Tínhamos  declarado  um  ponteiro  de  nome  ptr  e  precisávamos  construir  uma  estrutura  de  repetição  que
pudesse  repetir  enquanto o  ponteiro  não  fosse nulo. Observe os  trechos abaixo e  assinale  qual  a  afirmativa
correta.
I if (ptr !=NULL) 
II if( !ptr ) 
III if(ptr) 
IV while (ptr !=NULL) 
V while (ptr)
  I e II estão corretas.
I e IV estão corretas
  IV e V estão corretas.
III está correta
III e V estão corretas
 Gabarito Comentado
 Fechar
 
 
12/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185895960 1/3
   ESTRUTURA DE DADOS   Lupa  
 
Exercício: CCT0260_EX_A10_201509137939  Matrícula: 201509137939
Aluno(a): MARCELA COSTA DO NASCIMENTO Data: 12/06/2016 16:33:14 (Finalizada)
  1a Questão (Ref.: 201509843796)  Fórum de Dúvidas (0)       Saiba   (0)
Os registros também conhecidos como estruturas, são estruturas de dados do tipo heterogêneo, ou seja,
permitem que valores de tipos diferentes possam ser armazenados em uma mesma estrutura. Analisando a
estrutura abaixo, a mesma pode ser utilizada para qual tipo de estrutura de dados, marque a alternativa
correta.
struct nomeRegistro{
       int info;
       struct nomeRegistro* ant;
       struct nomeRegistro* prox;
};
typedef struct nomeRegistro NOMEREGISTRO;
Lista encadeada
Fila
  Pilha
  Lista duplamente encadeada
Matriz
  2a Questão (Ref.: 201509392401)  Fórum de Dúvidas (0)       Saiba   (0)
Observe a struct, definida globalmente, e um trecho de uma função que manipula
uma Lista Duplamente Encadeada.
struct listaDE
{
 int info;
 struct listaDE* ant;
 struct listaDE* prox;
};
...
listaDE* novo = new listaDE;
novo­>info = valor;
novo­>prox = LISTA;
novo­>ant = NULL; 
Assinale a alternativa que apresenta o protótipo dessa função
listaDE *remove(listaDE *LISTA, int valor);
  listaDE *insereInicio(listaDE *LISTA, int valor); 
12/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185895960 2/3
listaDE *busca (listaDE *LISTA, int valor);
void exibeIpF(listaDE *LISTA);
listaDE *insereFim(listaDE *LISTA, int valor);
 Gabarito Comentado
  3a Questão (Ref.: 201509382141)  Fórum de Dúvidas (0)       Saiba   (0)
Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos podem ser de
diferentes naturezas, entretanto dois de seus campos devem ser ponteiros para o mesmo tipo do nodo,
são estes os ponteiros ant e prox, que apontam respectivamente para o nodo anterior e para o próximo
nodo.  Esta  característica  permite  que  a  estrutura  seja  percorrida  em  ambos  os  sentidos.  Assim
analisando as operações a seguir:
p­>ant­>prox=p­>prox;
p­>prox­>ant=p­>ant;
 
            Sendo p um ponteiro que aponta para um dos nodos da lista, pode­se afirmar que:
  As operações removem o nodo apontado pelo ponteiro p.
As operações inserem novo nodo, após o nodo apontado pelo ponteiro p.
  As operações possibilitam a busca de um nodo apontado pelo ponteiro p.
As operações possibilitam o percurso do ponteiro p da esquerda para direita.
As operações possibilitam o percurso do ponteiro p da direita para esquerda.
  4a Questão (Ref.: 201509384819)  Fórum de Dúvidas (0)       Saiba   (0)
Com relação à lista duplamente encadeada, é correto afirmarque :
Não pode ser vazia.
  A lista pode ser  percorrida com igual facilidade para a direita ou para a
esquerda, pois existem dois ponteiros.
          A lista precisa ter sempre um ponteiro apontando para o 1º. nó
  Consome  menos memória do que uma lista simplesmente encadeada, se
tivermos uma mesma aplicação.
Não pode haver remoções no meio da lista.
 Gabarito Comentado
  5a Questão (Ref.: 201509171461)  Fórum de Dúvidas (0)       Saiba   (0)
Em relação às estruturas de dados, é correto afirmar:
LIFO refere­se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, duplamente
encadeada.
  Guardar endereço de memória em "nós", normalmente identificados por previous ou next, é uma
12/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=3185895960 3/3
característica presente nas listas duplamente encadeadas.
Nos sistemas operacionais, a execução dos processos concorrentes ocorre segundo os princípios da
estrutura FILO.
LIFO refere­se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, sem
disciplina de acesso, onde o primeiro elemento a entrar é o último a sair.
Um grafo com um único vértice e sem arestas é conhecido como dígrafo.
 Gabarito Comentado
  6a Questão (Ref.: 201509179734)  Fórum de Dúvidas (0)       Saiba   (0)
 Suponha uma listagem mantida com informações sobre um equipamento a ser adquirido por
uma empresa. A listagem possui as informações sobre de 10 fornecedores, descritas a seguir:
próximo: um ponteiro para o próximo fornecedor da listagem;
nome: nome, identificando o fornecedor;
valor: preço do equipamento no fornecedor; 
anterior: um ponteiro para o fornecedor anterior da listagem.
Sendo o fornecedor "Z" o quinto elemento desta listagem e "X" e "Y" dois outros fornecedores
que não pertencem à listagem, com seus respectivos ponteiros "pZ", "pX" e "pY", considere o
trecho de código abaixo.
pY­>proximo = pX;
pX­>anterior = pY;
pX­>proximo = pZ­>proximo;
pZ­>proximo­>anterior = pX;
pZ­>proximo = pY;
pY­>anterior = pZ;
Este trecho de código é usado para inserir na listagem os fornecedores:
X, antes do Z, e Y, logo após o Z.
X, logo após o Z, e Y, logo após o X.
  Y, antes do Z, e X, logo após o Z.
Y, antes do Z, e X, antes do Y.
  Y, logo após o Z, e X, logo após o Y.
 Gabarito Comentado
 Fechar
 
 
 
 ESTRUTURA DE DADOS 
 
Simulado: CCT0260_ Fechar 
Aluno(a): Matrícula: 
Desempenho: 10,0 de 10,0 Data: 22/09/2015 17:32:14 (Finalizada) 
 
 
 1
a
 Questão (Ref.: 201401832402) Pontos: 1,0 / 1,0 
Leia com atenção as afirmativas abaixo e assinale a resposta correta. 
 
I A estrutura de dados que melhor representa os diretórios ou pastas de arquivos do computador é a árvore. 
II A estrutura de dados FILA é não linear assim como o Grafo. 
III O termo folha em uma estrutura de dados é usado para um nó sem filhos e que tem grau 0, 
IV O grau de uma árvore é definido pelo número de subárvores de um nó. 
V O grafo é uma estrutura de dados que tem limitação para o número de vértices. 
VI Uma das aplicações da estrutura de dados grafo é a Computação Gráfica. 
 
 I, II e V são afirmativas verdadeiras 
 II, IV, V e VI são afirmativas verdadeiras 
 I, III, IV e VI são afirmativas verdadeiras 
 II, IV e V são afirmativas verdadeiras 
 I, II, III e VI são afirmativas verdadeiras 
Gabarito Comentado. 
 
 
 
 
 2
a
 Questão (Ref.: 201401885235) Pontos: 1,0 / 1,0 
 Preciso cadastrar todos os interessados em meu novo curso de programação. Qual a estrutura de dados mais 
adequada para modelar este problema, visto que não há qualquer preocupação com ordem de chegada ou saída de 
aluno da turma. 
 
 Pilha 
 Grafo 
 Lista 
 Fila 
 Árvore 
 
 
 
 3
a
 Questão (Ref.: 201401882627) Pontos: 1,0 / 1,0 
Blocos únicos de códigos que realizam diversas tarefas distitintas são de dificil manutenção. 
Portanto, utiliza-se a tecnica da modularização de programas, a fim de facilitar a implementação e a 
manutenção dos programas. Esta técnica, também chamada de modularização, tem como principal 
elemento: 
 
 Os Vetores 
 Os Grafos 
 As Estruturas de Dados 
 As funções 
 As Filas 
 
 
 
 4
a
 Questão (Ref.: 201401876746) Pontos: 1,0 / 1,0 
Uma função possui um valor de retorno inteiro, recebe por valor um inteiro como primeiro 
parâmetro e por referência um inteiro como segundo parâmetro. Qual das respostas abaixo poderia 
representar o protótipo dessa função: 
 
 void func (int &a, int &b); 
 int func (int &a, int b); 
 int func (int a, int &b); 
 void func (int a, int &b); 
 int func (&int, int); 
 
 
 
 5
a
 Questão (Ref.: 201401864190) Pontos: 1,0 / 1,0 
Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, 
agrupados sob uma lógica e associados por um nome. Esses elementos podem ser variáveis simples, 
matrizes ou ainda outras estruturas. Seja a definição de uma estrutura como: struct aluno { string 
nome; float media; }; Suponha ainda que exista um vetor desta estrutura, definido como: aluno vet [ 
10]; Marque a alternativa em que é atribuída de forma correta a media 6.0 para o quarto elemento 
deste vetor. 
 
 aluno[3].media=6.0; 
 aluno[3].10=6.0; 
 aluno[10]=6.0; 
 vet[3].media=6.0; 
 vet[3].aluno=6.0; 
 
 
 
 6
a
 Questão (Ref.: 201401907879) Pontos: 1,0 / 1,0 
Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, 
agrupados sob uma lógica e associados por um nome. 
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição 
de uma estrutura como: 
struct aluno { 
string nome; 
float nota; 
}; 
 
Suponha ainda que exista um vetor desta estrutura, definido como: 
 
aluno vet [100]; 
 
Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro 
elemento deste vetor. 
 
 vet[10].aluno.nota=5.7 ; 
 aluno.vet[10].nota=5.7; 
 vet[10].nota=5.7; 
 vet[10]=aluno.5.7; 
 aluno.vet[10]=5.7; 
 
 
 
 7
a
 Questão (Ref.: 201401293986) Pontos: 1,0 / 1,0 
Marque a afirmativa correta para a "inserção incremental". 
 
 É um tipo de sequenciação por intercalação. 
 Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de 
elementos. 
 A técnica é boa quando os dados ficam uniformemente distribuídos entre os seus 
compartimentos. 
 É um tipo de ordenação por intercalação 
 Os pivôs são escolhidos aleatoriamente. 
Gabarito Comentado. 
 
 
 
 
 8
a
 Questão (Ref.: 201401879448) Pontos: 1,0 / 1,0 
Nos métodos de ordenação interna, quais são aqueles classificados como tipo método simples? 
 
 Insert Sort, Bubble Sort e Quick Sort 
 Shell Sort, Quick Sort e Heap Sort 
 Insert Sort, Bubble Sort e Shell Sort 
 Selection Sort, Insert Sort e Bubble Sort 
 Selection Sort, Shell Sort e Bubble Sort 
 
 
 
 9
a
 Questão (Ref.: 201401293797) Pontos: 1,0 / 1,0 
O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo 
= fim)? 
 
 ordenação 
 inclusão 
 remoção 
 overflow 
 underflow 
Gabarito Comentado. 
 
 
 
 
 10
a
 Questão (Ref.: 201401285887) Pontos: 1,0 / 1,0 
Um órgão público adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O 
sistema I atende os não idosos. O sistema II atende os idosos. Nessa situação: 
 
 tanto o sistema I, quanto o II, adotam o esquema LIFO de organização de dados. 
 o sistema I, adota o esquema LIFO deorganização de dados e o II, o esquema LIFO. 
 o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema FIFO. 
 tanto o sistema I, quanto o II, adotam o esquema vetor de organização de dados. 
 tanto o sistema I, quanto o II, adotam o esquema FIFO de organização de dados. 
Gabarito Comentado. 
 
 
 
 
 
 
 
 
 
Avaliação: CCT0260_AV_201110046804 » ESTRUTURA DE DADOS 
Tipo de Avaliação: AV 
Aluno: 
Professor: ANITA LUIZA MACIEL LOPES Turma: 9001/AA 
Nota da Prova: 7,5 Nota de Partic.: 1 Data: 23/08/2014 11:34:07 
 
 
 1a Questão (Ref.: 201110110048) Pontos: 1,5 / 1,5 
Como é a lógica do FIFO? 
 
 
Resposta: O PRIMEIRO ELEMENTO A ENTRAR NA FILA É O PRIMEIRO A SAIR DA FILA (First In. First Out). 
 
 
Gabarito: O primeiro que entra na fila é o primeiro que sai. 
 
 
 2a Questão (Ref.: 201110100541) Pontos: 1,0 / 1,5 
Defina um tipo de dado (registro) capaz de armazenar as seguintes informações sobre um determinado cliente 
de um banco: nome, CPF, RG, número da conta, data de abertura da conta, e saldo. 
Com base neste tipo de dado, construa o trecho código em C++ que represente a leitura dos dados do cliente 
feita pelo usuário. 
 
 
Resposta: struct BancoCliente{String nome[30], char cpf, char rg, int numConta, int d_abertura, float saldo} 
BancoCliente cliente; cin>>cliente.nome; cin>>cliente.cpf; cin>>cliente.rg; cin>>cliente.numConta; 
cin>>cliente.d_abertura; cin>>cliente.saldo; 
 
Gabarito: 
struct ClienteBanco{ 
 string nome; 
 string cpf; 
 int rg; 
 int numConta; 
 double saldo; 
}; 
ClienteBanco cliente; 
cin >> cliente.nome; 
cin >> cliente.cpf; 
cin >> cliente.rg; 
cin >> cliente.saldo; 
 
 
 3a Questão (Ref.: 201110071152) Pontos: 0,5 / 0,5 
Em relação a estruturas de dados, avalie a correspondência existente entre as estruturas 
de dados Lineares e Não Lineares com suas respectivas coleções de dados. 
 
 
 A correta associação entre os elementos das duas tabelas é: 
 
 a1, b1, c2, d2. 
 a1, b1, c2, d1 
 a2, b1, c2, d1. 
 a1, b2, c1, d1. 
 a2, b2, c1, d2. 
 
 
 4a Questão (Ref.: 201110079086) Pontos: 0,5 / 0,5 
Considere uma estrutura de dados do tipo vetor. Com respeito a tal estrutura, é correto que seus componentes 
são caracteristicamente: 
 
 Heterogêneos e com acesso FIFO. 
 Homogêneos e de acesso aleatório por intermédio de índices. 
 Heterogêneos e com acesso LIFO. 
 Heterogêneos e com acesso indexado-sequencial. 
 Homogêneos e com acesso indexado-sequencial. 
 
 
 5a Questão (Ref.: 201110079259) Pontos: 0,5 / 0,5 
Qual a importância de se entender a "ordenação" de dados ? 
 
 A ordenação é a base na qual, muitos programas são construídos. Entendendo a ordenação, tem-se 
conhecimento para manter outros problemas. 
 A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se 
conhecimento para manter outros problemas. 
 A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se 
conhecimento para resolver outros problemas. 
 A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se 
conhecimento para manter outros problemas. 
 A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se 
conhecimento para resolver outros problemas. 
 
 
 6a Questão (Ref.: 201110082668) Pontos: 0,5 / 0,5 
Existem vários tipos de algoritmos para realizar a ordenação dos elementos, onde um algoritmo de ordenação 
deve rearranjar o vetor de forma a estabelecer uma ordem entre os elementos. Marque a alternativa correta 
que cita o algoritmo cuja descrição é: "considera cada elemento uma vez inserindo-o em seu lugar correto entre 
os elementos que já estão em ordem". E o seu passo a passo pode ser descrito como: "o elemento é inserido 
entre os ordenados movendo-se os elementos maiores que ele uma posição para a direita e posteriormente 
inserindo-o na posição vaga". 
 
 Bolha 
 Seleção 
 MergeSort 
 
 Inserção 
 QuickSort 
 
 
 7a Questão (Ref.: 201110146720) Pontos: 0,5 / 0,5 
A estrutura de dados do tipo pilha (stack) é um tipo abstrato de dado baseada no princípio: 
 
 Da localidade de referência. 
 De dividir para conquistar. 
 Last In First Out (LIFO). 
 First In First Out (FIFO). 
 Da indiferença. 
 
 
 8a Questão (Ref.: 201110287819) Pontos: 0,5 / 0,5 
Sabemos que podemos representar uma expressão de três formas, sendo que uma 
delas é chamada de notação polonesa reversa ( pós-fixa). 
Suponha que um professor de Estrutura de Dados desejasse compor a nota do 
bimestre com uma prova e um trabalho oral, usando pesos diferenciados para as 
notas. Sendo assim, usaria a média ponderada como a expressão abaixo. 
 
A única calculadora que encontrou disponível foi uma com representação pós fixa. 
Assinale a alternativa que apresenta a sequência que deveria ser digitada pelo 
professor para conseguir calcular a média de um aluno. 
 
 
 / + * nota1 peso1 * nota2 peso2 + peso1 peso2 
 nota1 peso1 * nota2 peso2 * peso1 peso2 + + / 
 / * nota1 peso1 + * nota2 peso2 + peso1 peso2 
 nota1 peso1 nota2 peso2 peso1 peso2 * * + + / 
 nota1 peso1 * nota2 peso2 * + peso1 peso2 + / 
 
 
 9a Questão (Ref.: 201110281876) Pontos: 1,0 / 1,0 
 As filas sequenciais são estruturas de dados utilizadas em diversas aplicações, tais como fila de 
processo, fila de impressão, sistemas de senha etc. Entretanto, nas aplicações onde há muita 
movimentação de dados, inserções e remoções de dados na fila, surgem espaços ociosos que podem 
levar ao fenômeno chamado de esgotamento de memória. Para sanar este problema pode-se substituir 
a fila sequencial por: 
 
 lista circular 
 lista sequencial 
 fila circular 
 pilha sequencial 
 
 pilha circular 
 
 
 10a Questão (Ref.: 201110079623) Pontos: 1,0 / 1,0 
Na área de estrutura de dados, em determinados casos, é necessário utilizar um tipo de dado onde seu valor 
serve como referência direta a outro valor alocado em outro espaço de memória. Este tipo de dado se chama: 
 
 Matriz 
 Variável 
 Endereço 
 Ponteiro 
 Vetor 
 
SEGUNDA AV 
valiação: CCT0260_AV_201110046774 » ESTRUTURA DE DADOS 
Tipo de Avaliação: AV 
Aluno: 
Professor: ALEXANDRE SOARES ALVES Turma: 9001/AA 
Nota da Prova: 3,0 Nota de Partic.: 0,5 Data: 23/08/2014 11:34:12 
 
 
 1a Questão (Ref.: 201110294615) Pontos: 0,0 / 1,5 
 Considere uma lista não ordenada de códigos espiões usados por Sherlock Silva. 
Ajude-o a encontrar um determinado código c, realizando uma busca de acordo com o 
seguinte protótipo: 
 int pesquisar(int v[ ], int c, int n); 
Note : v é o vetor de códigos, c é o código a ser procurado e n é a quantidade de códigos 
existentes em v. 
 
 
Resposta: int pesquisar(int v[], int c, int n){ int i; for(i=0;i<n;i++){ if(v[i]==c){cout<<"CODIGO 
ENCONTRADO";cout<<v[i];}} } 
 
Gabarito: 
 
 
 2a Questão (Ref.: 201110286002) Pontos: 0,5 / 1,5 
 Faça uma função em C++ para criar uma lista duplamente encadeada com um nó e 
armazenar neste nó o valor 100. Note que deverá ser retornado o ponteiro para o nó 
 
criado. Considere 
 struct nodupla { 
 int dado; 
 struct *dlink, *elink; 
 }; 
 
e o seguinte protótipo : nodupla *cria(); 
 
 
Resposta: nodupla *cria(){ dlink *p=new dlink; p->dlink=null; *cria=dado; } 
 
 
Gabarito: 
nodupla *cria() 
{ 
 nodupla *novo;novo = new nodupla; 
 novo->dado = 100; 
 novo->elink = novo->dlink = NULL; 
 return novo; 
 
} 
 
 
 
 3a Questão (Ref.: 201110288711) Pontos: 0,5 / 0,5 
Analise as afirmativas abaixo e selecione a alternativa correta. 
 
I Algumas aplicações da estrutura de dados grafo são: Diagrama de Entidade Relacionamento e Redes de 
computadores. 
 
II Árvore e lista duplamente encadeada são estruturas não lineares. 
III A Fila é uma estrutura não linear e a inserção de um elemento acontece ao final. 
IV A Lista é uma das estruturas de dados mais simples, mas não se pode ordená-la. 
V O uso de ponteiros é fundamental para construção de listas encadeadas. 
 
 II E IV são verdadeiras 
 I , II e IV são verdadeiras 
 I e V são verdadeiras 
 II e V são verdadeiras 
 III e V são verdadeiras 
 
 
 4a Questão (Ref.: 201110082399) Pontos: 0,5 / 0,5 
No programa abaixo, diga em que área de memória serão alocados os elementos de dados y e r, 
respectivamente. 
#include 
using namespace std; 
 
int x, y; 
float media( float a, float b ) 
{ float tmp; 
tmp = (a + b ) / 2.0; 
return ( tmp ); 
} 
int main() 
{ 
float r; 
cout<<"Informe 2 valores: "; 
cin>>x>> y; 
r = media( x, y ); 
cout<<"\nMedia = "<< r<<"\n"; 
system ("pause"); 
} 
 
 ( ) área de dados globais / área de registro 
 ( ) área de registro / área de pilha 
 ( ) área de dados globais / área de pilha 
 ( ) área de registro / área de dados globais 
 ( ) área de pilha / área de registro 
 
 
 5a Questão (Ref.: 201110079431) Pontos: 0,5 / 0,5 
Suponha uma listagem, contendo número de inscrição e pontuação (ordenada pelo número de inscrição) dos 
candidatos para o cargo de Analista de Sistemas de uma grande empresa pública. São 1024 candidatos inscritos 
e o sistema implementado para consulta do resultado, permite busca binária ou busca sequencial pelo número 
de inscrição. O número máximo de comparações executadas se fosse utilizada a busca binária e se fosse 
utilizada busca sequencial, respectivamente, seria de: 
 
 9 e 10 
 1024 e 512 
 512 e 1024 
 10 e 10 
 9 e 9 
 
 
 6a Questão (Ref.: 201110079486) Pontos: 0,5 / 0,5 
O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém em cada um de seus 
elementos o nome e a nota obtida pelo candidato. Deseja-se que este vetor seja ordenado pela nota, em ordem 
decrescente. Sendo o vetor pequeno (poucos elementos), o programador responsável por desenvolver este algoritmo, 
escolheu um método de ordenação que executa os seguintes passos: 
 Selecione candidato com maior nota entre todos e troque-o com o candidato que está na primeira posição do 
vetor; 
 Selecione o segundo maior e troque-o com o candidato que está na segunda posição; 
 Os passos descritos anteriormente são seguidos para a terceira nota, quarta nota e assim por diante até que reste 
apenas um candidato. 
O algoritmo utilizado pelo programador trata-se do método de ordenação denominado: 
 
 Seleção 
 Bolha 
 Quicksort 
 Inserção 
 Heapsort 
 
 
 
 7a Questão (Ref.: 201110284323) Pontos: 0,0 / 0,5 
 
 
 for (int i = 0; i < n; i++) 
 cout << L[i] << endl; 
 for (int i = 0; i < n; i++) 
 cout << L.matricula << " " << L.nome << endl; 
 for (int i = 0; i < n; i++) 
 cout << L[i].matricula << " " << L[i].nome << endl; 
 for (int i = 0; i < n; i++) 
 cout << L.matricula[i] << " " << L.nome[i] << endl; 
 for (int i = 0; i < n; i++) 
 cout << L[i].matricula << " " << L[i].nome[30] << endl; 
 
 
 8a Questão (Ref.: 201110284345) Pontos: 0,5 / 0,5 
 Considere uma pilha sequencial P com capacidade para n elementos. 
 Sabendo que P é do tipo Pilha definido a seguir, marque a opção que corretamente 
implementa a operação de empilhamento, considerando que o topo da pilha recebeu -1 na 
inicialização. 
 
struct Pilha { 
 int v[n], topo; 
 }; 
 
 
 void empilhar(Pilha &P, int valor) { 
 if (topo == n - 1) 
 cout << "Pilha cheia."; 
 else { 
 topo++; 
 v[topo] = valor; 
 } 
} 
 void empilhar(Pilha &P, int valor) { 
 if (P.topo == n - 1) 
 cout << "Pilha cheia."; 
 else 
 P.v[P.topo] = valor; 
} 
 
 
 void empilhar(Pilha P, int valor) { 
 if (P.topo == n) 
 cout << "Pilha cheia."; 
 else { 
 P.topo++; 
 P.v[P.topo] = valor; 
 } 
} 
 void empilhar(Pilha &P, int valor) { 
 if (P.topo == n - 1) 
 cout << "Pilha cheia."; 
 else { 
 P.topo++; 
 P.v[P.topo] = valor; 
 } 
} 
 void empilhar(Pilha P, int valor) { 
 if (P.topo == n - 1) 
 cout << "Pilha cheia."; 
 else { 
 P.topo++; 
 P.v[P.topo] = valor; 
 } 
} 
 
 
 9a Questão (Ref.: 201110284487) Pontos: 0,0 / 1,0 
 
 
 void enfileirar(Fila F, int valor) { 
 if (F.fim == n - 1) 
 cout << "Fila cheia\n"; 
 else { 
 F.fim++; 
 F.v[F.fim] = valor; 
 } 
 
} 
 void enfileirar(Fila &F, int valor) { 
 if (fim == n - 1) 
 cout << "Fila cheia\n"; 
 else { 
 fim++; 
 v[fim] = valor; 
 } 
} 
 void enfileirar(Fila &F, int valor) { 
 if (F.fim == n - 1) 
 cout << "Fila cheia\n"; 
 else { 
 F.fim++; 
 F.v[F.fim] = valor; 
 } 
} 
 void enfileirar(Fila &F, int valor) { 
 if (F.fim == n - 1) 
 cout << "Fila cheia\n"; 
 else 
 F.v[F.fim] = valor; 
 } 
 void enfileirar(Fila F, int valor) { 
 if (F.fim == n) 
 cout << "Fila cheia\n"; 
 else { 
 F.fim++; 
 F.v[F.fim] = valor; 
 } 
} 
 
 
 
 10a Questão (Ref.: 201110079582) Pontos: 0,0 / 1,0 
O espaço necessário para a representação dos dados pode ser alocado à medida que se torne necessário, 
através da alocação dinâmica. Uma estrutura armazenada através de encadeamento apresenta seus nodos 
alocados em posições aleatórias na memória, e não lado a lado. Dessa forma, existem várias vantagens no uso 
de representar os dados por encadeamento. Marque a alternativa correta que apresenta estas vantagens. 
 
 Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos. 
 Acesso, representação, compartilhamento de memória. 
 Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes. 
 Proteção de memória, transferência de dados, estruturas simples. 
 Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos.

Mais conteúdos dessa disciplina