Logo Studenta
Gratis
5 pág.
AV AULA 8

Vista previa | Página 1 de 1

ESTRUTURA DE DADOS   Lupa  
 
Exercício: CCT0260_EX_A8_201603425501  Matrícula: 201603425501
Aluno(a): RICARDO SOUZA DE CARVALHO Data: 21/11/2016 22:07:33 (Finalizada)
  1a Questão (Ref.: 201604087183)  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;
   }
}
  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;
   }
}
 
 Gabarito Comentado
  2a Questão (Ref.: 201603495670)  Fórum de Dúvidas (0)       Saiba   (0)
Em relação as estruturas de dados, aquela que corresponde ao armazenamento em uma lista linear com a
posição relativa (não contígua) na memória de dois nós consecutivos da lista é conhecida por alocação:
  Encadeada.
Seqüencial.
Binária.
Estática.
Combinada.
 
 Gabarito Comentado
  3a Questão (Ref.: 201604109739)  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; }; 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­>5.60;
  pt­>valor=5.60;
pt.valor­>5.60;
pt­>próximo.valor=5.60;
pt­>próximo­>valor=5.60;
 
 Gabarito Comentado
  4a Questão (Ref.: 201604066027)  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 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 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 terem seus tamanhos alterados de acordo com a demanda.
 
  5a Questão (Ref.: 201604037562)  Fórum de Dúvidas (0)       Saiba   (0)
Uma lista linear implementada através de encadeamento deve apresentar obrigatoriamente:
i) um ponteiro para o primeiro nó da lista;
ii) encadeamento entre os nós, através de algum campo de ligação;
iii) não deve haver uma indicação de final da lista;
iv) um ponteiro para o final da lista.
Levando em consideração as afirmações apresentadas, qual das alternativas é a correta?
somente a afirmação i esta correta.
  as afirmações i e ii estão corretas.
somente a afirmação iv esta correta.
as afirmações i, ii e iii estão corretas.
as afirmações ii e iv estão corretas.
 
  6a Questão (Ref.: 201604034726)  Fórum de Dúvidas (0)       Saiba   (0)
O conceito de ponteiros foi estudado em uma de nossas aulas. Sendo assim, leia atentamente as afirmativas
abaixo e assinale a opção correta.
 
I A variável ponteiro não precisa ser declarada. 
II A variável ponteiro armazena endereço. 
III Quanto se usa &nomeDaVariávelPonteiro com o comando cout, é exibido o endereço da variável apontada
pela variável ponteiro.
IV Quando se usa nomeDaVariávelPonteiro com o comando cout, é exibido o endereço da variável ponteiro.
V Quando se usa *nomeDaVariávelPonteiro com o comando cout, é exibido o conteúdo da variável apontada
pela variável ponteiro.
  II e V estão corretas
IV e V estão corretas
I IV e V estão corretas
I, II e IV estão corretas
Somente a II está correta
 
 Gabarito Comentado
  7a Questão (Ref.: 201603735172)  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
塬�po Cliente e a lista é do 塬�po 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[];
      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, 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;
}
 
 Gabarito Comentado
  8a Questão (Ref.: 201603496190)  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:
Matriz
Vetor
  Ponteiro
Endereço
Variável