Buscar

Estruturas de dados - Exercicio 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

Prévia do material em texto

18/06/2015 BDQ Prova
data:text/html;charset=utf­8,%3Cform%20name%3D%22form%22%20method%3D%22post%22%20action%3D%22http%3A%2F%2Fsimulado.estacio.br… 1/5
   ESTRUTURA DE DADOS   Lupa  
 Fechar
Exercício: CCT0260_EX_A8_   Matrícula: 
Aluno(a):  Data: 18/06/2015 20:23:57 (Finalizada)
  1a Questão (Ref.: 201407627543)  Fórum de Dúvidas (0)       Saiba   (0)
Vetores  são  elementos  considerados  longos  quando  usados  como
parâmetros  de  funções,  mesmo  assim  pode­se  passar  um  vetor  como  um
argumento de uma função.  Seja o exemplo a seguir codificado em C++:
 
int main()
{
      int vetor[]={1,2,3,4,5};
      saída(vetor,5);
      return 0;
}
 
Neste  exemplo  a  função  saída(  )  está  sendo  chamada  e  recebe  como
parâmetros  o  vetor  e  o  inteiro  5.  Marque  a  alternativa  que  ilustra  uma
possibilidade correta de protótipo para esta função.
  void saída(int *vetor, int dim);
void saída(vetor [ ], int dim);
void saída(int vetor, int dim);
void saída(int [ ] vetor, int dim);
void saída(int **vetor, int dim);
 Gabarito Comentado
  2a Questão (Ref.: 201407627546)  Fórum de Dúvidas (0)       Saiba   (0)
As  structs  (estruturas)  são  utilizadas  para  modelar  os  nodos  de  estruturas
dinâmicas como, por exemplo, as listas encadeadas, seja o seguinte exemplo
de nodo de uma lista de produtos:
 
struct nodo{
                     float valor;
                     string produto;
                     nodo * proximo;
18/06/2015 BDQ Prova
data:text/html;charset=utf­8,%3Cform%20name%3D%22form%22%20method%3D%22post%22%20action%3D%22http%3A%2F%2Fsimulado.estacio.br… 2/5
           };
 
Suponha que um determinado ponteiro pt   esteja apontando para um nodo
desta  lista, e que se queira alterar o conteúdo do campo valor deste nodo,
que  está  sendo  apontado  por  pt,  para  5.60.  Marque  a  alternativa  que
corretamente possibilita esta operação:
  pt­>próximo.valor=5.60;
pt­>próximo­>valor=5.60;
pt.valor­>5.60;
pt­>5.60;
  pt­>valor=5.60;
  3a Questão (Ref.: 201407926244)  Fórum de Dúvidas (0)       Saiba   (0)
Vários  conceitos  foram  estudados  quando  se  falou  sobre  ponteiros  e  alocação  dinâmica.  Entre  eles,  o  de
Fragmentação Externa. Assinale a opção que explica o que significa.
  Espaço livre no HD.
  Espaço de Memória perdido entre os segmentos.
Código do programa gravado em partes separadas na memória.
Significa alocação não contígua.
Espaço de Memória não utilizado dentro do segmento.
 Gabarito Comentado
  4a Questão (Ref.: 201407964108)  Fórum de Dúvidas (0)       Saiba   (0)
Assinale a alternativa correta sobre alocação de memória.
  É correto afirmar que a alocação dinâmica de memória sempre leva a programas mais rápidos.
A declaração de um vetor é um exemplo clássico de alocação dinâmica de memória.
Alocação estática de memória refere­se ao processo de alocar memória com o uso de ponteiros.
Uma das vantagens da alocação dinâmica sobre a alocação estática é que não é necessário fazer a
liberação da memória utilizada.
  Na alocação dinâmica de memória, a memória é alocada sob demanda, apenas quando necessário.
  5a Questão (Ref.: 201407626680)  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 {
18/06/2015 BDQ Prova
data:text/html;charset=utf­8,%3Cform%20name%3D%22form%22%20method%3D%22post%22%20action%3D%22http%3A%2F%2Fsimulado.estacio.br… 3/5
     long int matricula;
      string nome, endereco, tel;
};
struct Lista {
                           Cliente c;
                           struct Lista *link;
                  };
  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 = new Lista;
      novo‐>c = cl;
      novo‐>link = p;
     return novo;
}
Lista * insereCliente(Lista *p, Cliente cl)
{
      Lista *novo ;
      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)
18/06/2015 BDQ Prova
data:text/html;charset=utf­8,%3Cform%20name%3D%22form%22%20method%3D%22post%22%20action%3D%22http%3A%2F%2Fsimulado.estacio.br… 4/5
{
      Lista *novo = new Lista;
      novo.c = cl;
      novo.link = p;
     return novo;
}
 Gabarito Comentado
  6a Questão (Ref.: 201407978691)  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) {
   while (p != NULL)    {
           cout << pno;
          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;
}
18/06/2015 BDQ Prova
data:text/html;charset=utf­8,%3Cform%20name%3D%22form%22%20method%3D%22post%22%20action%3D%22http%3A%2F%2Fsimulado.estacio.br… 5/5
}
 
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;
   }
}
 Fechar

Outros materiais