Buscar

provas av

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

Prévia do material em texto

1. 
 
 
Marque a afirmativa que represente uma separação. 
 
 
Juntar duas listas, colocando uma lista no final de outra, obtendo, ao final, uma só lista resultante. 
 
Consiste em dividir a lista em duas outras listas. A quantidade de nós que cada lista terá, depende 
da necessidade. 
 
Intercalar a ordem dos dados da lista do final para o início, atualizando a lista. 
 
Alterar a ordem dos dados da lista do final para o início, atualizando a lista. 
 
Organizar os dados da lista em ordem crescente ou decrescente. 
 
 Gabarito Comentado 
 
 
2. 
 
 
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: 
 
 
Estática. 
 
Encadeada. 
 
Binária. 
 
Combinada. 
 
Seqüencial. 
 
 Gabarito Comentado 
 
 
3. 
 
 
Sou uma empresária que quer crescer e por isso, tenho que aumentar progressivamente a minha lista 
de clientes, sem limitar este crescimento. Assim, à medida que novos clientes são cadastrados, posso, 
se necessário, contratar mais e mais empregados. Marque a opção que especifica o tipo de lista e o 
tipo de alocação de memória mais adequados para este problema. 
 
 
fila encadeada e alocação dinâmica de memória 
 
fila dinâmica e alocação dinâmica de memória 
 
lista encadeada e alocação dinâmica de memória 
 
pilha dinâmica e alocação dinâmica de memória 
 
lista sequencial e alocação dinâmica de memória 
 
 Gabarito Comentado 
 
 
4. 
 
Dr. Pei Tam possui uma lista não ordenada de pacientes de seu consultório em 
que registra apenas o nome endereço e o telefone de cada paciente. Como não 
há limites para o crescimento de sua lista, como se pode implementar a 
inserção de um novo paciente na lista, sabendo que cada paciente é do tipo 
Paciente e a lista é do tipo List assim definidos : 
 
struct Paciente { 
 long int matricula; 
 string nome, endereco e tel; 
}; 
struct List { 
 Paciente p; 
 struct List *link; 
 }; 
 
 
List * inserePac(List *i, Paciente pt){ 
 List *novo ; 
 novo->p = pt; 
 novo->link = i; 
 return novo; 
} 
 
List * inserePac(List *i, Paciente pt) 
{ 
 List *novo = new List; 
 novo->p = pt; 
 novo->link =i; 
 return novo; 
} 
 
List * inserePac(List *i) { 
 List *novo = new List; 
 Paciente pat; 
 novo->p = pat; 
 novo->link = i; 
 return novo; 
} 
 
List insereCliente(List *i, Paciente pac) 
{ 
 List novo[]; 
 novo[0].p = pac; 
 novo[0].link = i; 
 return novo; 
} 
 
 List * inserePac(List *i, Paciente pac) 
{ 
 List *novo = new List; 
 novo.p = pac; 
 novo.link = i; 
 return novo; 
} 
 
 Gabarito Comentado 
 
 
5. 
 
 
QUAL A SAÍDA DO PROGRAMA ABAIXO? 
 
 
#include 
 
main() 
{ 
 int x=5,*p; 
 p=&x; 
 
 cout << x - *p << " " << **&*&p + 1 << " " << *p*2+*p << " " 
<< x+**&p; 
 system("pause"); 
} 
 
 
0 6 15 11 
 
1 6 15 12 
 
0 8 16 10 
 
0 6 16 14 
 
0 6 15 10 
 
 
 
6. 
 
 
Assumindo que um valor do tipo inteiro ocupa 4 bytes na memória, e se baseando nas linhas de código 
abaixo, marque a alternativa correta: 
int *p; 
p = (int *)malloc(20*sizeof(int)); 
 
 
Alocação dinâmica 20 bytes na memória 
 
A operação é inválida 
 
Atribuição ao ponteiro ¿p¿ de um endereço estático de memória 
 
Alocação dinâmica de espaço de memória suficiente para armazenar 20 x 4 valores inteiros 
 
Alocação dinâmica de 80 bytes na memória 
 
 
 
7. 
 
 
Em uma lista linear simplesmente encadeada. 
 
 
Cada ponteiro possui um só endereço que referencia o primeiro nó da lista. 
 
Além do campo relativo ao dado, cada nó possui dois ponteiros, 
 
O ponteiro do "último" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista. 
 
O ponteiro do "primeiro" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista, 
formando um ciclo. 
 
Cada nó possui um só ponteiro que referencia o próximo nó da lista. 
 
 Gabarito Comentado 
 
 
8. 
 
 
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. 
 
 
pilha dinâmica e alocação dinâmica de memória 
 
lista encadeada e alocação dinâmica de memória 
 
fila encadeada e alocação dinâmica de memória 
 
lista sequencial e alocação dinâmica de memória 
 
fila dinâmica e alocação dinâmica de memória

Outros materiais