Prévia do material em texto
30/05/2020 Estácio: Alunos simulado.estacio.br/alunos/?user_cod=2356180&matr_integracao=201903289866 1/4 Geralmente em algumas situações é necessário fazer a desalocação do espaço utilizado na memória. Porém, isso depende de como a reserva de uma quantidade de espaço de memória é feita, pois em alguns casos, o próprio compilador faz a desalocação. Quando o compilador não faz esta desalocação a memória foi reservada utilizando______. Suponha uma listagem mantida com informações sobre um equipamento a ser adquirido por uma empresa. A listagem possui as informações sobre de 10 fornecedores, descritas a seguir: próximo: um ponteiro para o próximo fornecedor da listagem; nome: nome, identificando o fornecedor; valor: preço do equipamento no fornecedor; anterior: um ponteiro para o fornecedor anterior da listagem. Sendo o fornecedor "Z" o quinto elemento desta listagem e "X" e "Y" dois outros fornecedores que não pertencem à listagem, com seus respectivos ponteiros "pZ", "pX" e "pY", considere o trecho de código abaixo. ESTRUTURA DE DADOS Lupa Calc. PPT MP3 CCT0826_A10_201903289866_V3 Aluno: JESSIKA DE AGUIAR BRITO Matr.: 201903289866 Disc.: ESTRUTURA DE DADOS 2020.1 EAD (G) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. Declaração de vetor Alocação dinâmica de memória Declaração de função Alocação estática de memória Declaração de matriz Explicação: Se for necessário liberar a memória ocupada por essas variáveis, é preciso recorrer à função free. A função free desaloca a porção de memória alocada por malloc. A instrução free (ptr) avisa ao sistema que o bloco de bytes apontado por ptr está disponível para reciclagem. 2. javascript:voltar(); javascript:voltar(); javascript:diminui(); javascript:aumenta(); javascript:calculadora_on(); javascript:abre_frame('2','10','','S6HTRU39XA77M03IT7DA',''); javascript:abre_frame('3','10','','S6HTRU39XA77M03IT7DA',''); 30/05/2020 Estácio: Alunos simulado.estacio.br/alunos/?user_cod=2356180&matr_integracao=201903289866 2/4 pY->proximo = pX; pX->anterior = pY; pX->proximo = pZ->proximo; pZ->proximo->anterior = pX; pZ->proximo = pY; pY->anterior = pZ; Este trecho de código é usado para inserir na listagem os fornecedores: Os registros também conhecidos como estruturas, são estruturas de dados do tipo heterogêneo, ou seja, permitem que valores de tipos diferentes possam ser armazenados em uma mesma estrutura. Analisando a estrutura abaixo, a mesma pode ser utilizada para qual tipo de estrutura de dados, marque a alternativa correta. struct nomeRegistro{ int info; struct nomeRegistro* ant; struct nomeRegistro* prox; }; typedef struct nomeRegistro NOMEREGISTRO; Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos podem ser de diferentes naturezas, entretanto dois de seus campos devem ser ponteiros para o mesmo tipo do nodo, são estes os ponteiros ant e prox, que apontam, respectivamente, para o nodo anterior e para o próximo nodo. Esta característica permite que a estrutura seja percorrida em ambos os sentidos. Assim analisando as operações a seguir: p->ant->prox=p->prox; p->prox->ant=p->ant; Sendo p um ponteiro que aponta para um dos nodos da lista, pode-se afirmar que: X, logo após o Z, e Y, logo após o X. X, antes do Z, e Y, logo após o Z. Y, antes do Z, e X, logo após o Z. Y, antes do Z, e X, antes do Y. Y, logo após o Z, e X, logo após o Y. Gabarito Coment. 3. Matriz Fila Lista duplamente encadeada Pilha Lista encadeada 4. As operações inserem novo nodo, após o nodo apontado pelo ponteiro p. As operações possibilitam a busca de um nodo apontado pelo ponteiro p. As operações possibilitam o percurso do ponteiro p da direita para esquerda. As operações removem o nodo apontado pelo ponteiro p. As operações possibilitam o percurso do ponteiro p da esquerda para direita. Gabarito Coment. 30/05/2020 Estácio: Alunos simulado.estacio.br/alunos/?user_cod=2356180&matr_integracao=201903289866 3/4 Com relação à lista duplamente encadeada, é correto afirmar que : As listas encadeadas podem ser elaboradas de duas formas utilizando uma técnica de encadeamento simplesmente ou encadeamento duplo. O que difere uma lista simplesmente encadeada de uma lista duplamente encadeada? Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para Um tipo de estrutura de dados é declarada em C como: typedef struct no *apontador; struct no{ int valor; apontador esq, dir; } onde esq e dir representam ligações para os dados da esquerda e direita, respectivamente. Qual das seguintes alternativas é uma implementação correta da operação que inverte as posições dos dados da esquerda e da direita uma estrutura p, onde t é um apontador auxiliar. 5. Consome menos memória do que uma lista simplesmente encadeada, se tivermos uma mesma aplicação. Não pode ser vazia. A lista pode ser percorrida com igual facilidade para a direita ou para a esquerda, pois existem dois ponteiros. A lista precisa ter sempre um ponteiro apontando para o 1º. nó Não pode haver remoções no meio da lista. Gabarito Coment. 6. Em uma lista duplamente encadeada, cada nó aponta para um nó enquanto a lista simplesmente encadeada aponta para mais de um nó. Em uma lista simplesmente encadeada cada nó aponta para um único nó enquanto a lista duplamente encadeada aponta para mais de um nó. Em uma lista duplamente encadeada cada nó aponta para nó seguinte. Em uma lista simplesmente encadeada cada nó aponta para nó seguinte e para o nó anterior. Em uma lista duplamente encadeada cada nó aponta para nó seguinte e para o primeiro nó da fila. Gabarito Coment. 7. cima e para baixo, apenas. cima e para baixo ou para frente e para trás. frente e para trás, apenas. frente, apenas. trás, apenas. Gabarito Coment. 8. t=p->dir; p->esq = p->dir; p->dir = t; t=p->dir; 30/05/2020 Estácio: Alunos simulado.estacio.br/alunos/?user_cod=2356180&matr_integracao=201903289866 4/4 p->dir = p->esq; p->esq = t; p->esq = p->dir; t = p->esq; p->dir = t; p->dir=t; p->esq = p->dir; p->dir = t; t=p; p->esq = p->dir; p->dir = p->esq; Explicação: O código pedido é: t=p->dir; p->dir = p->esq; p->esq = t; Não Respondida Não Gravada Gravada Exercício inciado em 30/05/2020 21:31:13. javascript:abre_colabore('36890','197121087','3948040997');