Buscar

2022 1_Estrutura_de_Dados_Exerc_cios_revis_o_av2_gabarito

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 3 páginas

Prévia do material em texto

Estrutura de Dados em C 
Prof. Ronaldo Candido 
 
1 
 
Exercícios de revisão – AV2 
 
1. Em termos da Estrutura de dados do tipo PILHA encadeada (alocação dinâmica), a sequência de ações 
empilha(10), empilha(3), empilha(5), empilha(8), desempilha(), desempilha(), empilha(20), promoveria a 
configuração da estrutura a partir do topo: 
 
a) 20 3 10 
b) 20 3 5 8 
c) 20 10 3 
d) 10 3 5 8 
e) 5 8 20 
 
2. Assinale a alternativa correta sobre alocação de memória : 
 
a) Na alocação dinâmica de memória, a memória é alocada sob demanda, apenas quando necessário. 
b) A declaração de um vetor é um exemplo clássico de alocação dinâmica de memória. 
c) É correto afirmar que a alocação dinâmica de memória sempre leva a programas mais rápidos. 
d) 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. 
e) Alocação estática de memória refere-se ao processo de alocar memória com o uso de ponteiros. 
 
3. Em uma estrutura do tipo FIFO, faça as ações abaixo descritas e em seguida responda: 
Insira 3, Insira 5, Insira 10, Remova, Insira 8, Insira 20, Remova. 
Qual elemento está no início da estrutura? Qual o resultado da soma dos elementos da fila? 
 
a) 3 e 8 
b) 10 e 38 
c) 8 e 8 
d) 3 e 16 
e) 8 e 16 
 
4. Estava um aluno estudando Lista Simplesmente Encadeada quando encontrou em um site a definição dessa 
struct nodo e de uma função cujo nome você deverá escolher para substituir XXX nas opções abaixo depois que 
analisar a função, assumindo que um teste foi executado, permitindo que a operação fosse realizada. 
 
 struct nodo { 
 int info; 
 struct nodo *prox; 
}; 
 
nodo* XXX(nodo *ptr, int valor) { 
 nodo *temp = new nodo; 
 temp->info = valor; 
 temp->prox = ptr; 
 return temp; 
} 
 
a) ListaNo 
b) RemoveNo 
c) InsereNoFrente 
d) InsereNoFim 
e) BuscaNaLista 
 
5. Um estudante de computação, precisou implementar parte de um jogo de cartões com figuras de animais. 
Alguns jogadores teriam que jogar os cartões na mesa, enquanto outros deveriam devolver os cartões na sequência 
inversa à jogada. Ele estudou o mecanismo do jogo e decidiu usar a melhor estrutura de dados na sua 
implementação. Qual a estrutura escolhida por ele ? 
 
a) fila 
b) matriz 
c) árvore 
 
Estrutura de Dados em C 
Prof. Ronaldo Candido 
 
2 
 
d) pilha 
e) lista 
 
6. Com relação as afirmações abaixo, a respeito de lista lineares, assinale as Verdadeiras e as Falsas. Indique a 
alternativa que representa a sequência correta: 
 
( ) Nas listas encadeadas não precisamos saber previamente o número de elementos a serem armazenados. 
( ) Podemos aumentar e diminuir o tamanho da lista encadeada quando quisermos, enquanto que a lista sequencial 
não. 
( ) Quando o número de acessos randômicos a uma área de armazenamento é muito maior que o número de 
inserções e remoções de elementos armazenados, a organização dessa área de armazenamento por meio de uma 
lista encadeada resulta em desempenho melhor que o apresentado por organização feita usando uma lista linear. 
 
a) V V F 
b) F V V 
c) V V V 
d) F V F 
e) V F V 
 
7. As estruturas de dados são utilizadas para manter dados ou informações organizadas 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: 
 
a) Pilha Encadeada 
b) Lista Encadeada 
c) Fila Sequencial 
d) Pilha Sequencial 
e) Lista Sequencial 
 
8. Assinale a alternativa que apresenta a denominação de uma passagem de parâmetro a um procedimento em que 
tal procedimento de um programa é chamado, recebendo a sua própria cópia dos parâmetros passados: 
 
a) Ponteiro 
b) Referência 
c) Valor 
d) Void 
e) Return 
 
9. Ao executarmos o seguinte código, qual resultado será mostrado na tela? Justifique sua resposta, explicando a 
finalidade da primeira função. 
 
int funcao (int *valor1, int valor2) { 
*valor1 += 50; 
valor2 = 200; 
return valor2; 
} 
 
int main() { 
int *a, b, c; 
a = &b; 
b = 100; 
c = funcao(a, b); 
cout << b; 
cout << c; 
} 
 
R: A primeira função serve para acrescentar 50 ao valor que conste no ponteiro "a", que aponta para o endereço de 
memória da variável "b" - neste caso, 100 - e define uma variável valor2 com valor de 200. Após a compilação, 
será mostrado: b = 150 e c = 200. 
 
Estrutura de Dados em C 
Prof. Ronaldo Candido 
 
3 
 
 
10. Considere uma lista simplesmente encadeada de alunos onde: 
 
struct no 
{ 
int matricula; 
float media; 
struct no *link; 
}; 
 
Escreva uma função em linguagem C para exibir a matrícula e a média dos alunos aprovados (média >=6). 
 
R: void exibedados(no *dados) { 
no* aux = dados ; 
while (aux != NULL) { 
 if (aux->media >=6) 
 cout << aux->matricula << " " << aux->media << endl ; 
 aux = aux->link ; 
} 
 } 
 
Fim do gabarito

Continue navegando