Baixe o app para aproveitar ainda mais
Prévia do material em texto
Disc.: ESTRUTURA DE DADOS Acertos: 10,0 de 10,0 14/10/2020 Acerto: 1,0 / 1,0 Leia com atenção as afirmativas abaixo e assinale a resposta correta. I A estrutura de dados que melhor representa os diretórios ou pastas de arquivos do computador é a árvore. II A estrutura de dados FILA é não linear assim como o Grafo. III O termo folha em uma estrutura de dados é usado para um nó sem filhos e que tem grau 0, IV O grau de uma árvore é definido pelo número de subárvores de um nó. V O grafo é uma estrutura de dados que tem limitação para o número de vértices. VI Uma das aplicações da estrutura de dados grafo é a Computação Gráfica. I, II e V são afirmativas verdadeiras I, III, IV e VI são afirmativas verdadeiras II, IV, V e VI são afirmativas verdadeiras II, IV e V são afirmativas verdadeiras I, II, III e VI são afirmativas verdadeiras Respondido em 14/10/2020 18:02:48 Gabarito Comentado Acerto: 1,0 / 1,0 Considere o trecho de um programa escrito em C++. int func1 (int n1, int n2) { int aux = n1 % n2; while ( aux != 0) { n1 = n2; n2 = aux; aux = n1 % n2; } return n2; } int main() { Questão1a Questão2a https://simulado.estacio.br/alunos/inicio.asp javascript:voltar(); cout << func1 (27, 18); } Marque a opção correta que mostra o que é impresso na tela. 6 27 9 3 18 Respondido em 14/10/2020 18:05:27 Explicação: Fazendo um teste de mesa, temos que o valor 9 retornado e impresso na main. Iniciando um teste de mesa.... n1 n2 aux 27 18 9 18 9 0 continua... continua... continua.. Acerto: 1,0 / 1,0 Marque a afirmativa correta para a "Inserção em lista linear sequencial ordenada". É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente. Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e verificando se o dado está no meio ou, antes do meio ou depois do meio. Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos. Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos. Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio e verificando se o dado está no meio ou, antes do meio ou depois do meio. Respondido em 14/10/2020 18:03:02 Explicação: Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos. Só pode ocorrer, no entanto, se a lista não estiver cheia. Acerto: 1,0 / 1,0 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; Questão3a Questão4a 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 Bublesort Shellsort Quicksort Mergesort Heapsort Respondido em 14/10/2020 18:05:45 Gabarito Comentado Acerto: 1,0 / 1,0 São métodos ou algoritmos conhecidos de ordenação de dados por troca: quicksort e hashing. ordenação shell e hashing. bubble sort e quicksort. hashing e bubble sort. busca por ordenação e ordenação shell. Respondido em 14/10/2020 18:05:48 Explicação: Bubble sort é o algoritmo mais simples, mas o menos eficientes. Neste algoritmo cada elemento da posição i será comparado com o elemento da posição i + 1, ou seja, um elemento da posição 2 será comparado com o elemento da posição 3. Caso o elemento da posição 2 for maior que o da posição 3, eles trocam de lugar e assim sucessivamente. Por causa dessa forma de execução, o vetor terá que ser percorrido quantas vezes que for necessária, tornando o algoritmo ineficiente para listas muito grandes. O Quicksort é o algoritmo mais eficiente na ordenação por comparação. Nele se escolhe um elemento chamado de pivô, a partir disto é organizada a lista para que todos os números anteriores a ele sejam menores que ele, e todos os números posteriores a ele sejam maiores que ele. Ao final desse processo o número pivô já está em sua posição final. Os dois grupos desordenados recursivamente sofreram o mesmo processo até que a lista esteja ordenada. Questão5a Acerto: 1,0 / 1,0 Assumindo que estamos com uma estrutura de dados do tipo LIFO, as operações abaixo vão resultar em que elementos na mesma: PUSH(2), PUSH(3), PUSH(4), POP(), POP(), PUSH(5), PUSH(7), POP() 2 4 7 2 5 3 4 5 2 3 4 5 7 Respondido em 14/10/2020 18:05:51 Gabarito Comentado Gabarito Comentado Gabarito Comentado Acerto: 1,0 / 1,0 Um aluno do EAD estava estudando para a prova de Estrutura quando viu o trecho do programa abaixo em uma apostila. Questão6a Questão7a Como não estava com seu micro, começou a analisar a função entra(...), ficando atento a alguns membros da struct. Quando finalizou, virou a página da apostila e viu a resposta. Então, ficou muito feliz por ter identificado a estrutura Assinale a alternativa onde está presente a resposta correta. Fila Circular Fila Lista simplesmente encadeada Pilha Lista Linear Respondido em 14/10/2020 18:06:00 Gabarito Comentado Acerto: 1,0 / 1,0 q Considere int *p, *q, *r; int x = 10, y = 20; Após seguir cada instrução na ordem dada a seguir : p = &x; q = &y; *p = *p + *q; (*q)++; r = q; q = p; identifique a opção que fornece correta e respectivamente, os valores de *p, *q , *r , x e y : 30 30 21 10 20 30 20 0 30 21 30 30 21 30 21 30 21 21 10 20 30 20 20 10 20 Respondido em 14/10/2020 18:06:13 Explicação: Fazendo passo a passo temos : int *p, *q, *r; int x = 10, y = 20; p = &x; //p aponta para x, que vale 10 q = &y; // q aponta para y que recebeu 20 *p = *p + *q; //a área apontada por p, que é x, vai receber 10 + 20, que dá 30. Logo, *p e x valem 30. (*q)++; //A área apontada por q é incrementada. Ou sejam, y ou *q recebem 21 r = q; //r aponta para y Questão8a q = p; // q aponta para onde p aponta, ou seja, q aponta para x Logo : *p , que é x, vale 30 *q, que é igual a *p, que é x, vale 30 *r é y, que vale 21 x vale 30 y vale 21 Logo, a resposta certa é 30 30 21 30 21 Acerto: 1,0 / 1,0 Estava um aluno estudando Lista Simplesmente Encadeada quando encontrou em um site a definição da 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 teste foi realizado, 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; } ListaNo InsereNoFim BuscaNaLista RemoveNo InsereNoFrente Respondido em 14/10/2020 18:03:48 Gabarito Comentado Acerto: 1,0 / 1,0 Assinale a alternativa que traz uma afirmação incorreta sobre as diversas implementações da estrutura de dados lista. Listas encadeadas em geral são preferíveis em relação às listas sequenciais, especialmente por serem mais eficientes e sempre utilizarem menos espaço de armazenamento na memória. A lista simplesmente encadeada é adequada para a resolução de problemas em que os elementos da lista devem ser percorridos em apenas uma direção. A estrutura do nó da lista duplamente encadeada deve, obrigatoriamente, possuir um ponteiro para o nó anterior e outro para o nó seguinte, permitindo movimentação para frente e para trás. A lista sequencial deve ser implementada com o uso de estruturas de vetor, pois essas essas estruturas utilizam o conceitode alocação estática e dispõem seus elementos de forma contígua na memória. A lista circular é toda lista, independente do tipo de alocação, em que é formado um ciclo entre seus elementos. Por exemplo, quando o último elemento da lista aponta para o primeiro. Respondido em 14/10/2020 18:06:23 Questão9a Questão10a Explicação: Analisando cada item. >> A estrutura do nó da lista duplamente encadeada deve, obrigatoriamente, possuir um ponteiro para o nó anterior e outro para o nó seguinte, permitindo movimentação para frente e para trás. Afirmativa correta, que segue a definição de lista duplamente encadeada. Não marcar o item. >> A lista simplesmente encadeada é adequada para a resolução de problemas em que os elementos da lista devem ser percorridos em apenas uma direção. Afirmativa correta. Em uma lista simplesmente encadeada existe ponteiro para o início da lista. Por isso, não dá para percorrer tal lista do fim para o início. Nâo marcar o item. >> A lista sequencial deve ser implementada com o uso de estruturas de vetor, pois essas essas estruturas utilizam o conceito de alocação estática e dispõem seus elementos de forma contígua na memória. Afirmativa correta. O vetor pode até ser dinâmica, mas usualmente usa alocação estática de memória e é o recurso usado na implementação das listas sequenciais. Não marcar o item. >> A lista circular é toda lista, independente do tipo de alocação, em que é formado um ciclo entre seus elementos. Por exemplo, quando o último elemento da lista aponta para o primeiro. Afirmativa correta. >> Listas encadeadas em geral são preferíveis em relação às listas sequenciais, especialmente por serem mais eficientes e sempre utilizarem menos espaço de armazenamento na memória. Afirmativa falsa porque as listas encadeadas não ocupam menos espaço que as listas sequencias. Cada nó de uma lista simplemente encadeada, por exemplo, tem um campo de dado e um campo que é ponteiro. Marcar esta afirmativa. javascript:abre_colabore('38403','209492813','4191819865');
Compartilhar