Buscar

Estrutura de dados

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

Avaliação: CCT0260_AV_201107095581 » ESTRUTURA DE DADOS
Tipo de Avaliação: AV
Aluno: 201107095581 ­ MARCO ANTONIO FERREIRA JUNIOR
Professor: GELLARS MARIA DA SILVEIRA TAVARES Turma: 9001/AA
Nota da Prova: 7,0        Nota de Partic.: 0        Data: 02/09/2015 19:09:46
  1a Questão (Ref.: 201107774831) Pontos: 1,5  / 1,5
Considerando a seguinte estrutura: 
struct cad{
int matricula; 
float CR; 
}; 
Construa uma função com o protótipo: cad Entrada();, de tal forma que atenda a execução da função main(),
abaixo:
int main() {
cad aluno=Entrada(); 
cout < < "Matricula:" < < aluno.matricula;
cout < < endl; 
cout < < "CR:" < < aluno.CR; 
system("pause"); 
return 0; 
} 
Resposta: cad Entrada() { cad aluno = new cad; cin << "Digite a Matricula do Aluno: " << aluno.matricula; cin
<< "Digite o CR do aluno: "<<aluno.CR; return aluno; }
Gabarito: Dentre as possíveis implementações para a solução desta questão temos:
cad Entrada()
{
cad temp;
cout < < " Cadastre a matricula";
cin > > temp.matricula;
cout < < " Cadastre o CR";
cin > > temp.CR;
return temp;
}
  2a Questão (Ref.: 201107154333) Pontos: 1,5  / 1,5
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.
Resposta: void Adcionar(TipoLista lista, int elemento) { if(lista.qtde == TAMMAX) { cout>>"Limite da lista
atingido"; } else { lista.elemt[lista.qtde­1]= elemento; lista.qtde= lista.qtde+1; } }//Fim método
Gabarito:
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.";
} }
  3a Questão (Ref.: 201107810224) Pontos: 0,5  / 0,5
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 pilha e uma fila.
Após a impressão dos valores pela ordem teremos duas filas.
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 uma fila e uma pilha.
  4a Questão (Ref.: 201107133252) Pontos: 0,5  / 0,5
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:
Local
Constante
Real
Inteiro
  Global
  5a Questão (Ref.: 201107133254) Pontos: 0,5  / 0,5
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 seta tipo do campo
Nome da estrutura ponto tipo do campo
Nome da estrutura vírgula tipo do campo
Nome da estrutura seta nome do campo
  Nome da estrutura ponto nome do campo
  6a Questão (Ref.: 201107133119) 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:
10 e 10
  512 e 1024
1024 e 512
9 e 9
9 e 10
  7a Questão (Ref.: 201107132730) Pontos: 0,5  / 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
remoção
ordenação
underflow
  overflow
  8a Questão (Ref.: 201107133246) Pontos: 0,5  / 0,5
Tanto a operação TOP (acessa topo), quanto à operação POP (remover), permite acessar o último elemento
armazenado em uma Pilha. Quanto à diferença entre ambas as operações em relação ao estado da Pilha é
correto afirmar:
Nenhuma das operações altera o estado da Pilha
Somente a operação TOP altera o estado da Pilha
Ambas alteram o estado da Pilha
A operação TOP remove um elemento e altera o estado da Pilha
  Somente a operação POP altera o estado da Pilha
  9a Questão (Ref.: 201107705783) Pontos: 0,0  / 1,0
Em uma rotina em que se pretenda inserir o primeiro dado em uma estrutura dinâmica, é correto afirmar que:
Deve existir uma estrutura de repetição somente de a lista for duplamente encadeada.
  Existe uma instrução de repetição para percorrer a lista.
Deve existir uma estrutura de repetição somente se a estrutura for circular.
Só deve existir estrutura de repetição se ocorrer a inclusão de mais de um dado simultaneamente
  Não deve existir uma estrutura de repetição.
  10a Questão (Ref.: 201107780792) Pontos: 1,0  / 1,0
   Considere uma lista duplamente encadeada não circular em que
 
struct nodupla {
                                      int dado;
                                      struct nodupla  *dlink;    // aponta  p/ o nó à direita
                                      struct nodupla *elink;     // aponta  p/ o nó à esquerda
               };
 
sendo  nodupla *p;   //ponteiro para o início da lista
 
   A opção que corretamente mostra as instruções para inserir um valor no início da lista apontada por p   é   :
n 
   
   nodupla *novo;
 
    novo = new nodupla;
    novo‐>dado = valor;
    novo‐>dlink = p;
    if (p != NULL)
        p‐>elink = novo;
    p = novo;
   
   nodupla *novo;
 
   novo = new nodupla;
   novo.dado = valor;
   novo.dlink = p;
   novo.elink = NULL;
   if (p != NULL)
       p.elink = novo;
   p = novo;
 
    nodupla *novo;
 
    novo = new nodupla;
    novo‐>dado = valor;
    novo‐>dlink = p;
    novo‐>elink = NULL;
 p‐>elink = novo;
    p = novo;
 
 
n  nodupla *novo;
 
    novo = new nodupla;
    novo‐>dado = valor;
    novo‐>elink = NULL;
    if (p != NULL)
       p‐>elink = novo;
    p = novo;
 
 
     nodupla *novo;
 
   novo = new nodupla;
   novo‐>dado = valor;
   novo‐>dlink = p;
   novo‐>elink = NULL;
   if (p != NULL)
          p‐>elink = novo;
   p = novo;
Período de não visualização da prova: desde 25/08/2015 até 09/09/2015.

Outros materiais