Buscar

Estrutura de Dados 08

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

25/02/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=1743707850 1/5
   ESTRUTURA DE DADOS   Lupa  
 Fechar
Exercício: CCT0260_EX_A8_201410041824  Matrícula: 201410041824
Aluno(a): ANDRÉ MORAIS DE AZEVEDO Data: 25/02/2016 20:50:18 (Finalizada)
 
  1a Questão (Ref.: 201410696522)  Fórum de Dúvidas (0)       Saiba   (0)
Em uma aplicação que usa apenas o processo de alocação estática de memória é correto afirmar que:
  Toda a memória utilizada pela aplicação não muda durante toda a sua execução
Todas as afirmações acima são incorretas
Apenas a memória associada às variáveis do tipo vetor é alocada após o inicio da execução da aplicação
A memória utilizada pela aplicação é inicialmente estática, mas pode mudar
A memória utilizada pela aplicação é totalmente alocada após o inicio de sua execução
 Gabarito Comentado
 
  2a Questão (Ref.: 201410643982)  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 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.
 
  3a Questão (Ref.: 201410665138)  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
25/02/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=1743707850 2/5
 
 
 
void imprimir(no p) {
   while (p != NULL)    {
           cout << pno;
          p = plink;
    }
}
 
 
void imprimir(no *p) {
   while (p != NULL)    {
           cout << p.placa;
          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;
   }
}
 
 Gabarito Comentado
 
25/02/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=1743707850 3/5
  4a Questão (Ref.: 201410313127)  Fórum de Dúvidas (0)       Saiba   (0)
   Tenho uma lista não ordenada de clientes em que registro apenas a matrícula, o nome,  o endereço e o telefone de cada cliente. Como não
tenho limites para o crescimento da minha lista, como posso implementar a inserção de um novo cliente na lista, sabendo que cada cliente é do
tipo Cliente e a lista é do tipo Lista assim definidos :
struct Cliente {
     long int matricula;
      string nome, endereco, tel;
};
struct Lista {
                           Cliente c;
                           struct Lista *link;
                  };
 Lista * insereCliente(Lista *p, Cliente cl)
{
      Lista *novo = new Lista;
      novo.c = cl;
      novo.link = p;
     return novo;
}
Lista * insereCliente(Lista *p)  {
      Lista *novo = new Lista;
     Cliente cl;
      novo‐>c = cl;
      novo‐>link = p;
     return novo;
}
Lista  insereCliente(Lista *p, Cliente cl)
{
      Lista  novo[];
      novo[0].c = cl;
      novo[0].link = p;
     return novo;
}
                    
Lista * insereCliente(Lista *p, Cliente cl)
{
      Lista *novo ;
25/02/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=1743707850 4/5
      novo‐>c = cl;
      novo‐>link = p;
     return novo;
}
  Lista * insereCliente(Lista *p, Cliente cl)
{
      Lista *novo = new Lista;
      novo‐>c = cl;
      novo‐>link = p;
     return novo;
}
 Gabarito Comentado
 
  5a Questão (Ref.: 201410612699)  Fórum de Dúvidas (0)       Saiba   (0)
Numa Lista Encadeada, podemos afirmar que:
I) Todos os nós são alocados de uma única vez.
II) Os nós não são alocados contiguamente na memória obrigatoriamente.
III) Os elementos de uma lista encadeada são ligados por dois ponteiros.
IV) Para  que  possamos percorrer  toda  a  lista,  precisamos  armazenar  o  endereço  do  próximo  elemento  para
possibilitar o encadeamento.
  II e IV estão corretas
I , II e III estão corretas
Só a II está correta
I, II, III e IV estão corretas
I, III e IV estão corretas
 Gabarito Comentado
 
  6a Questão (Ref.: 201410311998)  Fórum de Dúvidas (0)       Saiba   (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 dinâmica e alocação dinâmica de memória
fila encadeada e alocação dinâmica de memória
  lista encadeada e alocação dinâmica de memória
lista sequencial e alocação dinâmica de memória
pilha dinâmica e alocação dinâmica de memória
 Gabarito Comentado
25/02/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=1743707850 5/5
 
 
 Fechar

Outros materiais