Buscar

AV2 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

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 6 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

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 6, do total de 6 páginas

Prévia do material em texto

Avaliação On-Line 
	Avaliação:
	AV2-2012.1 EAD- ESTRUTURA DE DADOS-CCT0174 
	Disciplina:
	CCT0174 - ESTRUTURA DE DADOS 
	Tipo de Avaliação:
	AV2 
	Aluno:
	201002133882 - JOÃO PAULO FERNANDES BRAGA 
	Nota da Prova: 
	3.5
	Nota do Trabalho:      
	Nota da Participação:      2 
	Total:  
	5,5
	Prova On-Line 
	
Questão: 1 (127840) 
Considere 
                     struct Ponto { float x, y; }; 
                     Ponto P; 
                   P = criarPonto(); 
Assinale a opção correta que corresponde à função que cria corretamente um ponto. 
  Pontos da Questão: 1 
	Ponto inserePonto() 
{ 
    Ponto aux; 
   cin >> Ponto.x >> Ponto.y; 
   return aux; 
} 
	 Ponto inserePonto() 
{ 
    Ponto aux; 
    cin >> aux.x >> aux.y; 
   return Ponto; 
} 
	Ponto inserePonto() 
{ 
    Ponto aux; 
    cin >> aux.x >> aux.y; 
    return aux; 
} 
	 Ponto inserePonto() 
{ 
       Ponto aux; 
       cin >> x.aux >> y.aux; 
       return aux; 
} 
	 Ponto inserePonto() 
{ 
   Ponto aux; 
   cin >> Ponto.aux.x >> Ponto.aux.y; 
   return aux; 
} 
	
Questão: AV22011CCT01740001 (138205)
2 - 
Defina Estrutura de dados, de no mínimo um exemplo de sua aplicação e suas operações fundamentais.
 
  Pontos da Questão: 1,5 �� HTMLCONTROL Forms.HTML:Hidden.1 �� HTMLCONTROL Forms.HTML:Hidden.1 
	Resposta do Aluno:
estrutura de dados é uma forma de fazermos que o programa se devida em partes para um melhor entendimento para o programador achar erros. exemplo de struct struct atleta { int num; char letra; struct atleta voley; }; suas operações fundamentais são funções, struct, listas, filas, pilhas, lista sequencial, lista encadeadas, lista duplamente encadeadas, ordenação, pesquisa sequencial, pesquisa binaria. 
Gabarito:
Algumas estruturas de dados são definidas apenas pela sua organização em memória outras, além disto, pelo seu algoritmo. O sistema operacional aplica o uso da pilha dinâmica como forma de armazenamento de memória em funções recursivas. As operações são: Inicializar, Inserir, Retirar, Verificar Cheia e Verificar Vazia. 
Fundamentação do Professor:
Pontos do Aluno:   
	
Questão: 3 (129448) 
Na criação de uma função precisamos definir suas partes, sendo algumas obrigatórias e outras alternativas, na linguagem C temos: 
tipo nome ( tipo1 parâmetro1, tipo2 parâmetro2, ..., tipon parâmetroN) { corpo da função } 
Das opções apresentadas marque a que apresenta apenas partes obrigatórias de se digitar de forma que a função execute alguma tarefa, sem levar em consideração os símbolos (chaves, parêntese, etc). 
  Pontos da Questão: 0,5 
	Tipo, Nome e Parâmetros. 
	Tipo, Parâmetro e corpo da função. 
	Nome, Parâmetro e Corpo da função. 
	Tipo, Nome, Parâmetros e Corpo da Função. 
	Nome, Tipo e Corpo da função. 
	
Questão: 4 (127837) 
Assinale a opção correta. 
Para acessar cada campo da struct é preciso : 
  Pontos da Questão: 0,5 
	Escrever a variável struct seguida imediatamente do campo desejado. 
	Escrever a palavra struct seguida da variável, para logo em seguida escrever o operador ponto e depois, o campo da struct. 
	Especificar apenas o campo, pois a variável já foi declarada. 
	Escrever o campo seguido de ponto e depois seguido do nome da struct. 
	Usar o operador . entre o nome da variável struct e o campo desejado. 
	
Questão: 5 (131699) 
Determinado método de ordenação seleciona o menor elemento dentro do conjunto e coloca na primeira posição, depois o segundo menor e coloca na segunda posição e assim por diante até que todo o conjunto esteja ordenado. 
Qual das opções apresenta este método? 
  Pontos da Questão: 0,5 
	Insertion sort; 
	Quick sort; 
	Selection sort;
	Shell sort; 
	Merge sort; 
	
Questão: 6 (139130) 
Considere 
struct nodupla { 
                                int dado; 
                                struct *dlink, //aponta para o nó à direita 
                                            *elink; //aponta para o nó à esquerda 
}; 
Assinale a função que corretamente substitui o valor armazenado no último nó de uma lista duplamente encadeada não vazia pelo valor 50. 
  Pontos da Questão: 1 
	void substituir(nodupla *p) 
{ 
    while (p->dlink != NULL) 
         p = p->dlink; 
    p->dado = 50; 
} 
	void substituir(nodupla *p) 
{ 
    while (p != NULL) 
         p = p->dlink; 
     p->dado = 50; 
} 
	void substituir(nodupla *p) 
{ 
   while (p->dlink != NULL) 
   { 
        p = p->dlink; 
        p->dado = 50; 
  } 
} 
	void substituir(int dado) 
{ 
   while(p->dlink != NULL) 
       p = p->dlink; 
   p->dado = 50; 
} 
	void substituir(nodupla *p) 
{ 
    while (p.dlink != NULL) 
         p = p.dlink; 
   p.dado = 50; 
} 
	
Questão: 7 (138180) 
Das opções apresentadas qual representa a estrutura de dados Fila: 
  Pontos da Questão: 0,5 
	FIFO; 
	PSUE; 
	UEPS; 
	LIFO; 
	FILO; 
	
Questão: 8 (139412) 
Como característica fundamental das pilhas dinâmicas temos a inserção e remoção de nós do topo(uma variável do tipo do nó). Sendo assim podemos afirmar que a cada novo nó inserido constituído de um ponteiro também do tipo do nó e um dado, deverá: 
   Pontos da Questão: 0,5 
	Ter sempre no ponteiro do ultimo nó o valor NULL; 
	Ter na variável topo o endereço do nó posterior, quando existir o nó posterior; 
	Ter na variável topo o endereço do nó anterior, quando existir o nó anterior; 
	Ter seu ponteiro apontando para o nó anterior, quando existir o nó anterior; 
	Ter seu ponteiro apontando para o nó posterior, quando existir o nó posterior; 
	
Questão: 9 (139425) 
Em uma lista duplamente encadeada, na retirada de um nó cercado por outros dois nós quaisquer, sendo eles considerados nó 1, 2 e 3 onde 2 é o nó a ser retirado, para manter a integridade da lista devemos: 
Marque a resposta correta. 
  Pontos da Questão: 0,5 
	Reordenar os nós fazendo com que o nó 2 fique no inicio e em seguida exclui-lo. 
	Deletar o nó 2 e em seguida fazer com que o nó 1 aponte para o 3 e o 3 aponte para o 1. 
	Reordenar os nós fazendo com que o nó 2 fique no fim e em seguida exclui-lo. 
	Fazer com que o nó 1 aponte para o 3 e o 3 aponte para o 1 e em seguida deletar o nó 2. 
	Simplesmente excluir o nó 2, pois os ponteiros se ajustam automaticamente. 
	
Questão: AV32011CCT01740214 (169119)
10 - 
Baseado na teoria das listas duplamente encadeadas, escreva o código da função que permita exibir o número e as letras armazenadas na estrutura apresentada, sabendo-se que a função recebe o endereço do ultimo nó e não deve retornar nenhum valor. 
 
struct num_letra {
int num;
char letra;
struct num_letra *ant, *post; 
};
  Pontos da Questão: 1,5 �� HTMLCONTROL Forms.HTML:Hidden.1 �� HTMLCONTROL Forms.HTML:Hidden.1 
	Resposta do Aluno:
exibir(*ant, *post) { num_letra->*ant=num; num_letra->*post=letra; cout<<"EXIBIR NUMERO" <<num_letra->*ant=num; cout<<"EXIBIR LETRA" <<num_letra->*post=letra; }
Gabarito:
void funcao(num_letra *fim){ num_letra *aux; aux = ini; while(aux){ if (aux->post==NULL){ cout<<aux->letra; cout<<aux->num; aux= NULL; }else{ cout<<aux->letra; cout<<aux->num; aux--; } } } 
Fundamentação do Professor:
Pontos do Aluno:   
_1401877337.unknown
_1401877345.unknown
_1401877349.unknown
_1401877351.unknown
_1401877352.unknown
_1401877350.unknown
_1401877347.unknown
_1401877348.unknown
_1401877346.unknown
_1401877341.unknown
_1401877343.unknown
_1401877344.unknown
_1401877342.unknown
_1401877339.unknown
_1401877340.unknown
_1401877338.unknown
_1401877321.unknown
_1401877329.unknown
_1401877333.unknown
_1401877335.unknown
_1401877336.unknown
_1401877334.unknown
_1401877331.unknown
_1401877332.unknown
_1401877330.unknown
_1401877325.unknown
_1401877327.unknown
_1401877328.unknown
_1401877326.unknown_1401877323.unknown
_1401877324.unknown
_1401877322.unknown
_1401877313.unknown
_1401877317.unknown
_1401877319.unknown
_1401877320.unknown
_1401877318.unknown
_1401877315.unknown
_1401877316.unknown
_1401877314.unknown
_1401877309.unknown
_1401877311.unknown
_1401877312.unknown
_1401877310.unknown
_1401877307.unknown
_1401877308.unknown
_1401877305.unknown
_1401877306.unknown
_1401877304.unknown
_1401877303.unknown

Outros materiais