Baixe o app para aproveitar ainda mais
Prévia do material em texto
25/02/2016 BDQ Prova http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=1743707850 1/5 ESTRUTURA DE DADOS Lupa Fechar Exercício: CCT0260_EX_A8_201410041824 Matrícula: 201410041824 Aluno(a): ANDRÉ MORAIS DE AZEVEDO Data: 25/02/2016 20:50:18 (Finalizada) 1a Questão (Ref.: 201410696522) Fórum de Dúvidas (0) Saiba (0) Em uma aplicação que usa apenas o processo de alocação estática de memória é correto afirmar que: Toda a memória utilizada pela aplicação não muda durante toda a sua execução Todas as afirmações acima são incorretas Apenas a memória associada às variáveis do tipo vetor é alocada após o inicio da execução da aplicação A memória utilizada pela aplicação é inicialmente estática, mas pode mudar A memória utilizada pela aplicação é totalmente alocada após o inicio de sua execução Gabarito Comentado 2a Questão (Ref.: 201410643982) Fórum de Dúvidas (0) Saiba (0) A linguagem C++ oferece quatro meios de criação de tipos de dados: matrizes, estruturas ou structs, uniões e classes. As estruturas, que passaremos a chamar simplesmente de structs, são tipos de variáveis que agrupam dados geralmente desiguais, enquanto matrizes são variáveis que agrupam dados similares. Devido a esta característica as structs são utilizadas para modelar nodos (nós) de estruturas dinâmicas. Portanto podemos afirmar que: As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de execução e terem seus tamanhos alterados de acordo com a demanda. As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tanto em tempo de execução quanto em tempo de compilação, mas não podem ter seus tamanhos alterados de acordo com a demanda. As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de compilação e terem seus tamanhos alterados de acordo com a demanda. As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de compilação e entretanto seus tamanhos só são alterados na codificação de acordo com a demanda. As estruturas dinâmicas são assim chamadas, pois não podem fazer alocação de memória em tempo de execução, mas mesmo assim conseguem ter seus tamanhos alterados de acordo com a demanda. 3a Questão (Ref.: 201410665138) Fórum de Dúvidas (0) Saiba (0) Considere uma lista simplesmente encadeada com placas de carros. Assinale a opção que, corretamente, imprime todas as placas da lista. Considere : struct no { string placa; struct no *link; }; no *p; //p aponta para o início da lista 25/02/2016 BDQ Prova http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=1743707850 2/5 void imprimir(no p) { while (p != NULL) { cout << pno; p = plink; } } void imprimir(no *p) { while (p != NULL) { cout << p.placa; p = p.link; } } void imprimir(no *p) { if (p != NULL) { cout << pplaca; p = plink; } } void imprimir(no *p) { while (p != NULL) { cout << pplaca; p = plink; } } void imprimir(no *p) { while (p != NULL) { cout << pplaca; } } Gabarito Comentado 25/02/2016 BDQ Prova http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=1743707850 3/5 4a Questão (Ref.: 201410313127) Fórum de Dúvidas (0) Saiba (0) Tenho uma lista não ordenada de clientes em que registro apenas a matrícula, o nome, o endereço e o telefone de cada cliente. Como não tenho limites para o crescimento da minha lista, como posso implementar a inserção de um novo cliente na lista, sabendo que cada cliente é do tipo Cliente e a lista é do tipo Lista assim definidos : struct Cliente { long int matricula; string nome, endereco, tel; }; struct Lista { Cliente c; struct Lista *link; }; Lista * insereCliente(Lista *p, Cliente cl) { Lista *novo = new Lista; novo.c = cl; novo.link = p; return novo; } Lista * insereCliente(Lista *p) { Lista *novo = new Lista; Cliente cl; novo‐>c = cl; novo‐>link = p; return novo; } Lista insereCliente(Lista *p, Cliente cl) { Lista novo[]; novo[0].c = cl; novo[0].link = p; return novo; } Lista * insereCliente(Lista *p, Cliente cl) { Lista *novo ; 25/02/2016 BDQ Prova http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=1743707850 4/5 novo‐>c = cl; novo‐>link = p; return novo; } Lista * insereCliente(Lista *p, Cliente cl) { Lista *novo = new Lista; novo‐>c = cl; novo‐>link = p; return novo; } Gabarito Comentado 5a Questão (Ref.: 201410612699) Fórum de Dúvidas (0) Saiba (0) Numa Lista Encadeada, podemos afirmar que: I) Todos os nós são alocados de uma única vez. II) Os nós não são alocados contiguamente na memória obrigatoriamente. III) Os elementos de uma lista encadeada são ligados por dois ponteiros. IV) Para que possamos percorrer toda a lista, precisamos armazenar o endereço do próximo elemento para possibilitar o encadeamento. II e IV estão corretas I , II e III estão corretas Só a II está correta I, II, III e IV estão corretas I, III e IV estão corretas Gabarito Comentado 6a Questão (Ref.: 201410311998) Fórum de Dúvidas (0) Saiba (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. 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 lista sequencial e alocação dinâmica de memória pilha dinâmica e alocação dinâmica de memória Gabarito Comentado 25/02/2016 BDQ Prova http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cript_hist=1743707850 5/5 Fechar
Compartilhar