Buscar

AV_Estrutura_de_Dados_2014.3

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

Fechar 
 
Avaliação: CCT0260_AV_xxxxxxxxxx » ESTRUTURA DE DADOS 
Tipo de Avaliação: AV 
Aluno: xxxxxxxxxxxxxxxx 
Professor: JANE TAVARES ALVAREZ DA SILVA Turma: xxxxxx 
Nota da Prova: 6,0 Nota de Partic.: 2 Data: 17/11/2014 16:21:47 
 
 
 1a Questão (Ref.: 201401579149) Pontos: 0,5 / 0,5 
Funções são instrumentos de modularização de programas, que tem como finalidade tornar o código mais legível, 
isto é mais fácil de entender, evita replicação de instruções e permite o reuso das funções em outros programas. 
Então considere o seguinte código: 
#include< iostream > 
using namespace std; 
 
int main( ) 
{ 
 float a=10.0; 
 float b=4.0; 
 cout < < media(a,b); 
 return 0; 
} 
float media(float x, float y) { return (x+y)/2;} 
 
Marque a alternativa CORRETA: 
 
 
 
O código compila normalmente, pois como a descrição da função float media(float x, float y)está 
posicionada após a função int main ( ), não há necessidade do uso de protótipos. 
 O código não compila, pois há necessidade de se declarar float media(float, float) como protótipo da 
função float media(float x, float y)antes da função principal. 
 
O código não compila, pois a função float media(float x, float y) retorna um valor que seria ser 
armazenado em uma variável do tipo float e só então poderia ser usado o comando cout para exibir o 
resultado. 
 
O código compila normalmente e apresenta como resultado o valor 7.0 
 
O código não compila, pois os parâmetros usados na chamada da função deveriam ser "x" e "y"; porém a 
chamada se deu com identificadores "a" e "b". 
 
 
 
 2a Questão (Ref.: 201401916009) Pontos: 0,5 / 0,5 
Analise as afirmativas sobre uma pilha estática e assinale a opção correta. 
 
I Ordenar é uma operação que não se faz com pilha. 
II Inserir dados é uma operação que se faz com a pilha. 
III Remover dados em qualquer posição é uma operação que se faz com a pilha. 
IV Verificar se a Pilha está cheia é necessário quando se deseja inserir nela. 
V Inicializar uma pilha significa zerar todas as variáveis do vetor. 
 
 
 I e II estão corretas. 
 I, II e V estão corretas. 
 II e III estão corretas. 
 I, II e IV estão corretas. 
 I e IV estão corretas. 
 
 
 
 3a Questão (Ref.: 201401581583) Pontos: 0,5 / 0,5 
 
 Navegadores para internet armazenam os últimos endereços visitados em uma estrutura de 
dados. Cada vez que um novo site é visitado, o endereço do site é adicionado na estrutura de 
endereços. Quando se aciona o retorno ("back"), o navegador permite que o usuário retorne no 
último site visitado e retira o endereço do site da estrutura de dados. 
Assinale a estrutura de dados mais adequada para este problema. 
 
 
 
grafo 
 
fila 
 
árvore 
 
lista 
 pilha 
 
 
 
 4a Questão (Ref.: 201401376388) Pontos: 0,5 / 0,5 
O seguinte trecho de programa abaixo representa qual tipo de estrutura de ordenação? 
void ordenar(float v[], int n) // n é o no. de elementos em v 
{ 
 int i , // índice 
 aux, // auxiliar para troca 
trocou = true, 
fim = n - 1; 
while (trocou) 
{ 
 trocou = false; // sinaliza que é falso que trocou 
 for (i = 0; i < fim; i++) 
 { 
 if (v[i] > v[i+1]) 
 { 
 aux = v[i]; 
 v[i] = v[i+1]; 
 v[i+1] = aux; 
 // sinaliza que é verdadeiro que trocou 
 trocou = true; 
 } // fim if 
 } // fim for 
 fim--; // decrementa o fim 
} // fim while 
} // fim da função 
 
 
 
Mergesort 
 
Quicksort 
 
Shellsort 
 Bublesort 
 
Heapsort 
 
 
 
 5a Questão (Ref.: 201401376551) Pontos: 0,5 / 0,5 
Marque a afirmativa correta para a "inserção incremental". 
 
 
 
Os pivôs são escolhidos aleatoriamente. 
 
É um tipo de sequenciação por intercalação. 
 
A técnica é boa quando os dados ficam uniformemente distribuídos entre os seus compartimentos. 
 
É um tipo de ordenação por intercalação 
 Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos. 
 
 
 
 6a Questão (Ref.: 201401579159) Pontos: 0,0 / 0,5 
As estruturas de dados são utilizadas para manter dados ou informações organizados na memória, o que possibilita 
a otimização do uso destes dados. Porém, as estruturas guardam características especiais na manipulação destes 
dados, assim deve-se escolher a estrutura certa ou mais adequada para uma determinada aplicação. Portanto 
marque a opção que representa a melhor estrutura, quando se tem como requisitos principais o acesso aleatório 
aos dados e alocação destes de forma contínua na memória. 
 
 
 
Lista Encadeada 
 
Fila Sequencial 
 
Pilha Encadeada 
 Lista Sequencial 
 Pilha Sequencial 
 
 
 
 7a Questão (Ref.: 201401614763) Pontos: 0,0 / 1,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. 
 
 
 lista sequencial e alocação dinâmica de memória 
 
pilha dinâmica e alocação dinâmica de memória 
 
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 
 
 
 
 8a Questão (Ref.: 201401376910) Pontos: 1,0 / 1,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 
 Ponteiro 
 
Endereço 
 
Variável 
 
Vetor 
 
 
 
 9a Questão (Ref.: 201401407335) Pontos: 1,5 / 1,5 
Como é a lógica do FIFO? 
 
 
 
Resposta: o primeiro que entra é o primeiro que sai. 
 
 
Gabarito: O primeiro que entra na fila é o primeiro que sai. 
 
 
 
 10a Questão (Ref.: 201401583322) Pontos: 1,0 / 1,5 
 Faça uma função em C++ para criar uma lista duplamente encadeada com um nó e 
armazenar neste nó o valor 100. Note que deverá ser retornado o ponteiro para o nó 
criado. Considere 
 struct nodupla { 
 int dado; 
 struct *dlink, *elink; 
 }; 
 
e o seguinte protótipo : nodupla *cria(); 
 
 
 
Resposta: nodupla *cria() { nodupla *novo; novo->dado = 100; novo->elink = cria.dlink = NULL; return novo; 
} 
 
 
Gabarito: 
nodupla *cria() 
{ 
 nodupla *novo; 
 
 novo = new nodupla; 
 novo->dado = 100; 
 novo->elink = novo->dlink = NULL; 
 return novo; 
 
} 
 
 
 
Fundamentação do(a) Professor(a): Gabarito: nodupla *cria(){ nodupla *novo; novo = new nodupla; novo-
>dado = 100; novo->elink = novo->dlink = NULL; return novo; } 
 
 
 
Período de não visualização da prova: desde 06/11/2014 até 25/11/2014.

Outros materiais