Baixe o app para aproveitar ainda mais
Prévia do material em texto
10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 1/4 ESTRUTURA DE DADOS 1a aula Lupa PPT MP3 Exercício: CCT0826_EX_A1_201903517011_V1 26/03/2020 Aluno(a): NARA LUIZA TEIXEIRA FONSECA 2020.1 EAD Disciplina: CCT0826 - ESTRUTURA DE DADOS 201903517011 1a Questão Das estruturas de dados a seguir aquela que NÃO é uma estrutura linear é : Vetor. Grafo. Lista. Fila. Pilha. Respondido em 26/03/2020 16:06:28 Explicação: Lineares : lista, pilha, fila, deque. Com ou sem vetor, que é linear. Não lineares : árvore e grafo. 2a Questão As estruturas de dados podem ser caracterizadas como sendo uma forma organizada de armazenar dados ou informações na memória, de modo a otimizar o acesso a estes. Muitas vezes existem algoritmos de manipulação dados associados a estas estruturas. Verifique as seguintes sentenças: I-Filas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados. II-As Pilhas são estruturas que recuperam os dados na ordem reversa em que estes foram armazenados. III-As Pilhas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados. IV-As Filas são estruturas que recuperam os dados na ordem reversa em que estes foram armazenados. Marque a alternativa CORRETA: As alternativas III e IV estão corretas. Todas as alternativas estão corretas. As alternativas II e IV estão corretas. As alternativas I e II estão corretas As alternativas I e III estão corretas. Respondido em 26/03/2020 16:52:27 Gabarito http://simulado.estacio.br/alunos/inicio.asp javascript:voltar(); javascript:diminui(); javascript:aumenta(); javascript:abre_frame('2','1','','',''); javascript:abre_frame('3','1','','',''); 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 2/4 Coment. 3a Questão Sobre estrutura de dados, identifique o que está correto afirmar. I. Pilha é uma estrutura de dados com acesso restrito aos seus elementos, uma vez que eles são colocados e retirados por um único lado e são ordenados pelo princípio LIFO (last in first out). Assim, sempre que um elemento é adicionado ou retirado seu topo é alterado. II. Pilha é o tipo de estrutura usada, por exemplo, na avaliação de expressões numéricas, na recursividade e pelos compiladores, na passagem de parâmetros para as funções. III. Registro é uma estrutura básica que permite guardar coleções de dados de diferentes tipos, sendo normalmente utilizado quando um objeto tem diferentes atributos, isto é, contém campos de diferentes tipos. IV. Lista pode conter um número qualquer de elementos, expandindo-se ou contraindo-se conforme o elementos são inseridos ou retirados. Nesse tipo de estrutura, os acessos tanto podem ser feitos sequencialmente como diretamente. V. Fila, assim como a pilha , é uma versão especial de lista, e como tal, seus elementos são ordenados pelo princípio LIFO (last in first out). I, II e III. II, IV e V. I, III e V. II, III, IV e V. I, III, IV e V. Respondido em 26/03/2020 17:03:08 Gabarito Coment. 4a Questão O que é estrutura de dados? É um conjunto de comandos para uma tarefa específica referenciada por um nome no algoritmo principal, retornando um determinado valor no seu próprio nome. É uma sequência finita de instruções bem definidas e não ambíguas, cada uma das quais devendo ser executadas mecânica ou eletronicamente em um intervalo de tempo finito e com uma quantidade de esforço finita. É um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados eficientemente. É um conjunto de técnicas de programação. É uma forma determinada de armazenamento de dados em um banco de dados. Respondido em 26/03/2020 17:11:14 Explicação: Estrutura de dados não é banco de dados . Estrutura de dados não é Tipo de dados. Estrutura de dados não é ¿ É um conjunto de comandos para uma tarefa específica referenciada por um nome no algoritmo principal, retornando um determinado valor no seu próprio nome¿ que no caso, fala de função. Estrutura de dados não é ¿ É uma sequência finita de instruções bem definidas e não ambíguas, cada uma das quais devendo ser executadas mecânica ou eletronicamente em um intervalo de tempo finito e com uma quantidade de esforço finita.¿ Esta definição é de algoritmo. Portanto, Estrutura de Dados é ¿ É um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados eficientemente.¿ Na Aula 1 do conteúdo online há elementos para tal questão. 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 3/4 5a Questão Analise as afirmativas abaixo e selecione a alternativa correta. I Algumas aplicações da estrutura de dados grafo são: Diagrama de Entidade Relacionamento e Redes de computadores. II Árvore e lista duplamente encadeada são estruturas não lineares. III A Fila é uma estrutura não linear e a inserção de um elemento acontece ao final. IV A Lista é uma das estruturas de dados mais simples, mas não se pode ordená-la. V O uso de ponteiros é fundamental para construção de listas encadeadas. I , II e IV são verdadeiras II e V são verdadeiras II E IV são verdadeiras III e V são verdadeiras I e V são verdadeiras Respondido em 26/03/2020 17:13:43 Gabarito Coment. 6a Questão 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. II, IV, V e VI são afirmativas verdadeiras I, II e V são afirmativas verdadeiras I, III, IV 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 26/03/2020 17:34:28 Gabarito Coment. 7a Questão Podemos dizer que estrutura de dados é: O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo. A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma solução do problema. Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente determinada. É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma solução do problema. O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações. Respondido em 26/03/2020 17:41:55 Gabarito Coment. 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 4/4 8a Questão Na maioria dos sistemas operacionais, os arquivos são organizados hierarquicamente em um esquema de diretórios (pastas) e sub- diretórios. Qual a estrutura mais adequada para representar este problema ? grafo pilha lista árvore fila Respondido em 26/03/2020 17:44:33 Gabarito Coment. javascript:abre_colabore('38403','183520481','3667361043'); 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 1/6 ESTRUTURA DE DADOS 2a aula Lupa PPT MP3 Exercício: CCT0826_EX_A2_201903517011_V1 07/05/2020 Aluno(a): NARA LUIZA TEIXEIRA FONSECA 2020.1 EAD Disciplina: CCT0826 - ESTRUTURA DE DADOS 201903517011 1a Questão O que será mostrado na tela pelo programa abaixo ? #include < iostream > using namespace std; int a,b; void dobro(int x){ //x passado por valor x=2*x; } int triplo(int y){ //y passado por valor return 3*y; } void altera(int x, int &y) { //x passado por valore y passado por referencia x=x+a; y=x+b; } int main (){ a=2; b=3; dobro(a); b=triplo(b); altera(a,b); cout<< a << " e " << b << endl; } 2 e 9 4 e 12 4 e 9 2 e 13 9 e 16 Respondido em 07/05/2020 18:31:15 Explicação: Executando o programa, passo a passo, temos : Na main, a recebe 2 e b recebe 3. Note que a e b são variáveis globais. Daí, ainda na main, a função dobro é chamada. Ao executar dobro, temos que o valor 2 é passado e x (local à dobro) recebe 2 * 2, que dá 4. Ao terminar a função dobro, volta-se para a main, mas o valor de a passado não mudou, continuando 2. http://simulado.estacio.br/alunos/inicio.asp javascript:voltar(); javascript:diminui(); javascript:aumenta(); javascript:abre_frame('2','2','','',''); javascript:abre_frame('3','2','','',''); 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 2/6 Após a execução de dobro, a função triplo é chamada na main e é passado o valor de b, que é 3. Iniciando a execução da função triplo, temos que y recebe 3 e a função retorna 3 * 3, que é 9. Voltando para a main, temos que b recebe o valor retornado pela função, que é 9. Até este ponto, temos que a vale 2 e b mudou para 9. Em seguida, a função altera é chamada e são passados 2 e 9, respectivamente, para x e y. Executando a função altera, temos que x recebe 2+2, que dá 4 e y recebe 4+9, que dá 13. Como x é passado por valor e y por referência, temos que a mudará e b mudará (ambas na main). Então, voltando para main temos que a vale 2 e que b vale 13. Assim, será impresso na tela 2 e 13 2a Questão Informe qual deverá ser a saída do programa abaixo: #include void func(int *x) { do{ cout << *x << " "; (*x)--; }while(*x>0); } main() { int x=5; func(&x); cout << x; system("pause"); } 5 4 3 2 1 6 5 4 3 2 1 5 5 3 4 2 1 0 5 3 4 2 1 4 5 4 3 2 1 0 Respondido em 07/05/2020 18:31:29 3a Questão Assinale a opção certa. Quando não se escreve o protótipo de uma função ... O programa não funcionará de forma alguma. A chamada da função não poderá ser feita em qualquer hipótese. É preciso definir a função antes do programa principal. A chamada da função poderá ser feita em qualquer hipótese. A definição da função deverá ser escrita, obrigatoriamente, após o programa principal. Respondido em 07/05/2020 18:32:31 Gabarito Coment. 4a Questão 1) O que será impresso pela função Eureka ? Assinale a opção correta. void Eureka() { for (int i = 1; i <= 10; i++) if (i % 2 == 0) cout << i << " "; else if (i % 7 == 0) return; } 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 3/6 2 4 6 8 Nada é impresso, pois a função não compila. A função não deveria usar return, pois não está de acordo com o uso de void. 2 4 6 2 4 6 8 10 Nada é impresso, pois a função não compila. Para a função compilar, deveria ter int no lugar de void, já que há return na função. Respondido em 07/05/2020 18:33:56 5a Questão Nas linguagens C e C++, ao se declarar qualquer função, a especificação de tipo de dados que antecede o nome desta função define o tipo das variáveis que serão utilizadas dentro da função. o protótipo da função. o tipo dos dados dos parâmetros que são passados à função quando da sua chamada. o tipo do dado do valor retornado da função para quem a chamou. o escopo das variáveis do programa. Respondido em 07/05/2020 18:34:15 Explicação: Por definição, antes do nome da função colocamos o tipo de dados retornado. Por exemplo, int, double, char ... Quando a função nada retorna colocamos void. 6a Questão Considere o trecho de um programa escrito em C++. void func1 (bool x, int ini, int fim) { for ( int y=ini; y != fim ; y++) { x = !x; if (x) cout << y << endl; else cout << -y << endl; } } int main() { func1(false, 1, 7); } Marque a opção correta que mostra o que é impresso na tela. 1, 2, 3, 4, 5, 6 1, -2, 3, -4, 5, -6 -1, 2, -3, 4, -5, 6 1, -2, -3, -4, -5, -6 -1, -2, -3, -4, -5, -6 Respondido em 07/05/2020 18:34:25 Explicação: 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 4/6 Fazendo um teste de mesa temos que será impresso a seguinte sequência : 1 -2 3 -4 5 -6, um embaixo do outro. Parte de um teste de mesa : x ini fim y false 1 7 1 true 2 false E continua x, ini, fim e y recebendo valores Tela : 1 -2 3 -4 5 -6 7a Questão Considere o trecho de um programa escrito em C++ : int func1 (long num) { int n, na=1; while (num / 10 != 0){ na += 1; num /= 10; } return na; } main() { cout << func1 (132041); } Marque a opção correta que mostra o que é impresso na tela. 2 6 1 3 4 Respondido em 07/05/2020 18:34:41 Explicação: Fazendo passo a passo : 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 5/6 int func1 (long num) { int n, na=1; while (num / 10 != 0){ na += 1; num /= 10; } return na; } main() { cout << func1 (132041); } Passos : 1) Chamada da função passando o valor 132041 2) Começa a função com num recebendo o valor 132041 3) na recebe 1 4) enquanto num/10 é diferente de zero faça ... Vejamos : 132041/10 é diferente de zero então na recebe 2 e num recebe 13204 5) Volta no teste do loop... 13204 /10 é diferente de zero ? Sim. Então, na recebe 3 e num recebe 1320 6) Volta no teste do loop... 1320 /10 é diferente de zero ? Sim. Então, na recebe 4 e num recebe 132 7) Volta no teste do loop... 132 /10 é diferente de zero ? Sim. Então, na recebe 5 e num recebe 13 8) Volta no teste do loop... 13 /10 é diferente de zero ? Sim. Então, na recebe 6 e num recebe 1 9) Volta no teste do loop... 1 /10 é diferente de zero ? Não. Então, retorna o valor e na que é 6. 8a Questão Considere a função: void dobro(int x) { x = 10 * x; } Qual será o valor impresso na tela quando o programa principal for executado? int main() { int n; n = 5; dobro(n); cout << n; return 0; } 0 Haverá um erro de compilação 10 5 50 Respondido em 07/05/2020 18:35:08 Gabarito Coment. javascript:abre_colabore('38403','191528844','3821519558'); 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 6/6 javascript:abre_colabore('38403','191528844','3821519558'); 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 1/4 ESTRUTURA DE DADOS 3a aula Lupa PPT MP3 Exercício: CCT0826_EX_A3_201903517011_V1 07/05/2020 Aluno(a): NARA LUIZA TEIXEIRA FONSECA 2020.1 EAD Disciplina: CCT0826 - ESTRUTURA DE DADOS 201903517011 1a Questão Marque a opção correta, considerando struct Livro { int codigo; float preco; } liv; Livro->liv.codigo = 12345; liv->preco = 30.70; liv.preco = 30.70; Livro.liv.codigo = 12345; Livro.codigo = 12345; Respondido em 07/05/2020 22:46:57 2a Questão Os métodos de ordenação são muito utilizados em estruturas de dados para facilitar a busca e a recuperação posterior de itens de conjuntos ordenados. Existem vários métodos de ordenação, por este motivo, marque corretamente a alternativa que apresenta o código do método de seleção. int ordena(float v[], float valor, int n) { int ini = 0, fim = n -1, meio; while (ini <= fim){ meio = (ini + fim)/2; if (v[meio] == valor) return meio; if (valor < v[meio]) fim = meio -1; else ini = meio+1; } return -1;} void ordena(int v[], int n){ int i, j, menor, aux; for (j = 0; j < n-1; j++) { for (i = j+1; i < n; i++) { if (v[i] < v[j]) { aux = v[j]; v[j] = v[i]; v[i] = aux; } http://simulado.estacio.br/alunos/inicio.asp javascript:voltar(); javascript:diminui(); javascript:aumenta(); javascript:abre_frame('2','3','','',''); javascript:abre_frame('3','3','','',''); 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 2/4 } } } void ordena (int v[], int n){ int i, j, aux; for (j = 1; j < n; j++) for (i=j; i > 0 && v[i-1]> v[i]; i--){ aux = v[i-1]; v[i-1] = v[i]; v[i] = aux; } } int ordena(float v[], float valor, int n){ for (int i = 0; i < n; i++) if (v[i] == valor) return i; return -1; } int ordena(float v[], float valor, int n) { int ini = 0, fim = n-1, meio; while (ini >= fim){ meio = ini/2; if (v[meio] == valor) return meio; if (valor < v[meio]) fim = meio -1; else ini = meio+1; } Respondido em 07/05/2020 22:47:12 Explicação: Na ordenação por seleção, a idéia é sempre procurar o menor elemento do vetor e inseri-lo no início do vetor. Procuramos o menor valor do vetor e colocamos ele em vetor. Procuramos o menor valor do vetor excluindo o já colocado e colocamos ele em vetor. E assim vamos indo até termos todo o vetor ordenado. Partindo sempre a partir do último elemento reordenado (a partir do i), o programa procura o menor elemento no vetor e o substitue pelo elemento i atual. É o que está ocorrendo na primeira opção! Gabarito Coment. 3a Questão Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob uma lógica e associados por um nome. Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma estrutura como: struct aluno { string nome; float nota; }; Suponha ainda que exista um vetor desta estrutura, definido como: aluno vet [ 100]; Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento deste vetor. vet[10].aluno.nota=5.7 ; aluno.vet[10].nota=5.7; aluno.vet[10]=5.7; vet[10]=aluno.5.7; vet[10].nota=5.7; Respondido em 07/05/2020 22:48:10 4a Questão Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob uma lógica e associados por um nome. 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 3/4 Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma estrutura como: struct aluno { string nome; float nota; }; Suponha ainda que exista um vetor desta estrutura, definido como: aluno vet [100]; Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento deste vetor. vet[10].aluno.nota=5.7 ; vet[10].nota=5.7; aluno.vet[10].nota=5.7; aluno.vet[10]=5.7; vet[10]=aluno.5.7; Respondido em 07/05/2020 22:48:31 5a Questão Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob uma lógica e associados por um nome. Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma estrutura como: struct aluno { string nome; float media; }; Suponha ainda que exista um vetor desta estrutura, definido como: aluno vet [ 10]; Marque a alternativa em que é atribuída de forma correta a media 6.0 para o quarto elemento deste vetor. aluno[3].media=6.0; aluno[3].10=6.0; vet[3].aluno=6.0; aluno[10]=6.0; vet[3].media=6.0; Respondido em 07/05/2020 22:48:32 6a Questão Qual das seguintes estruturas de dados é classificada como heterogênea? Fila Registro Vetor Loop Pilha Respondido em 07/05/2020 22:48:41 Explicação: Registro permite agregar dados de tipos diferentes. Vetor permite agregar dados do mesmo tipo. Pilha e fila implementadas com vetor ou lista encadeada. Loop : termo genérico para repetições. Gabarito Coment. 7a Questão Em C++, quando uma variável é declarada como uma struct, o acesso para atribuição e leitura dos membros (campos) deste registro se dá pelo operador : * (asterisco). -> (seta). , (vírgula). 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 4/4 ∙ (ponto). & (e comercial ou eitza). Respondido em 07/05/2020 22:48:53 Explicação: Por definição, o operador que permite acessar os campos de uma variável struct é o ponto (.). 8a Questão Marque a afirmativa correta para a "Inserção em lista linear sequencial ordenada". 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. Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos. 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. É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente. Respondido em 07/05/2020 22:49: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. javascript:abre_colabore('38403','191584134','3823005044'); 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 1/4 ESTRUTURA DE DADOS 4a aula Lupa PPT MP3 Exercício: CCT0826_EX_A4_201903517011_V1 07/05/2020 Aluno(a): NARA LUIZA TEIXEIRA FONSECA 2020.1 EAD Disciplina: CCT0826 - ESTRUTURA DE DADOS 201903517011 1a Questão Qual a importância de se entender a "ordenação" de dados ? A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se conhecimento para manter outros problemas. A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se conhecimento para resolver outros problemas. A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se conhecimento para resolver outros problemas. A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se conhecimento para manter outros problemas. A ordenação é a base na qual, muitos programas são construídos. Entendendo a ordenação, tem-se conhecimento para manter outros problemas. Respondido em 07/05/2020 22:52:34 Gabarito Coment. 2a Questão Sobre o funcionamento da busca binária, é correto afirmar que dividindo seu vetor em duas metades. Se o item for menor que o item que está na metade do vetor, procure na segunda metade, ou seja, a da direita. Se o item for maior que o item que está na metade do vetor procure na primeira metade, ou seja, a da direita. Se o item for igual ao item que está na metade do vetor, o item foi encontrado. Se o item for menor que o item que está na metade do vetor, o item foi encontrado. Se o item for igual ao item que está na metade do vetor, o item não foi encontrado. Respondido em 07/05/2020 22:53:12 Explicação: Neste tipo de busca, o vetor deve estar ordenado. Divide-se o conjunto de dados ao meio e procura-se no meio do vetor. Se achou, retorna a posição do dado do meio. SE não achou, verifica-se se o valor procurado vem antes do valor do meio. Se for verdade, redefine-se o fim do vetor, voltando a realizar a busca à esquerda do meio. Se o valor procurado vier depois do valor do meio do vetor, então redefine-se o início e segue-se para a buscana parte à direita do meio do vetor. Gabarito Coment. http://simulado.estacio.br/alunos/inicio.asp javascript:voltar(); javascript:diminui(); javascript:aumenta(); javascript:abre_frame('2','4','','',''); javascript:abre_frame('3','4','','',''); 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 2/4 3a Questão Nos métodos de ordenação interna, quais são aqueles classificados como tipo método simples? Selection Sort, Insert Sort e Bubble Sort Shell Sort, Quick Sort e Heap Sort Insert Sort, Bubble Sort e Shell Sort Insert Sort, Bubble Sort e Quick Sort Selection Sort, Shell Sort e Bubble Sort Respondido em 07/05/2020 22:54:11 Gabarito Coment. Gabarito Coment. Gabarito Coment. 4a Questão Marque a afirmativa correta para a "Ordenação em Listas Lineares Sequenciais". Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos. Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos. 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 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. É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente. Respondido em 07/05/2020 22:54:08 Gabarito Coment. 5a Questão Marque a afirmativa correta para a "inserção incremental". A técnica é boa quando os dados ficam uniformemente distribuídos entre os seus compartimentos. Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos. É um tipo de ordenação por intercalação Os pivôs são escolhidos aleatoriamente. É um tipo de sequenciação por intercalação. Respondido em 07/05/2020 22:54:33 Gabarito Coment. 6a Questão Analisando o trecho de código a seguir: inicio=0; fim= tamanho - 1; meio=(inicio+fim)/2; while(procura != nomeVetor[meio] && inicio != fim) { if(procura > nomeVetor[meio]) inicio=meio+1; else fim=meio; meio=(inicio+fim)/2; } if(nomeVetor[meio]==procura) cout<<"\n....: "< < outroVetor[meio]<else cout<<"\nDado nao encontrado\n"; Pode-se afirmar que: trata-se da implementação do algortimo de ordenação por seleção. trata-se da implementação do algortimo de busca sequencial 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 3/4 trata-se da implementação do algortimo de busca binária. trata-se da implementação do algortimo de ordenação por inserção. trata-se da implementação do algortimo de ordenação bolha. Respondido em 07/05/2020 22:54:43 Gabarito Coment. 7a Questão 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; 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 Heapsort Quicksort Bublesort Mergesort Shellsort Respondido em 07/05/2020 22:54:57 Gabarito Coment. 8a Questão 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 4/4 if(vet[j-1] > vet[j] ) { aux=vet[j]; vet[j]= vet[j-1]; vet[j-1]=aux; } if(vet[j] < vet[j-1] ) { aux=vet[j]; vet[j]< vet[j-1]; vet[j-1]=aux; } if(vet[j] == vet[j-1] ) { aux=vet[j]; vet[j]= vet[j-1]; vet[j-1]=aux; } if(vet[j-1] < vet[j] ) { aux=vet[j]; vet[j]= vet[j-1]; vet[j-1]=aux; } if(vet[j] < vet[j-1] ) { aux=vet[j]; vet[j-1]= vet[j]; vet[j-1]=aux; } Respondido em 07/05/2020 22:55:03 javascript:abre_colabore('38403','191624130','3824007576'); 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 1/4 ESTRUTURA DE DADOS 5a aula Lupa PPT MP3 Exercício: CCT0826_EX_A5_201903517011_V1 07/05/2020 Aluno(a): NARA LUIZA TEIXEIRA FONSECA 2020.1 EAD Disciplina: CCT0826 - ESTRUTURA DE DADOS 201903517011 1a Questão São métodos ou algoritmos conhecidos de ordenação de dados por troca: quicksort e hashing. hashing e bubble sort. bubble sort e quicksort. busca por ordenação e ordenação shell. ordenação shell e hashing. Respondido em 07/05/2020 22:56:08 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. 2a Questão Considere as seguintes afirmações sobre Listas Sequenciais: I - São estruturas lineares que utilizam as primeiras posições de um vetor para armazenar os dados de interesse. II - São compostas pelo conjunto dos dados que se deseja armazenar e por uma variável inteira que indica a quantidade de dados armazenados. III - Os dados são sempre inseridos ou removidos no final da lista, tomando-se o cuidado de atualizar a quantidade de dados da mesma. IV - A lista pode admitir ou não admitir que haja dados repetidos (listas podem ser com ou sem repetição). Marque a opção que contém apenas todas as afirmações verdadeiras: I, II, III, IV I, II, III http://simulado.estacio.br/alunos/inicio.asp javascript:voltar(); javascript:diminui(); javascript:aumenta(); javascript:abre_frame('2','5','','',''); javascript:abre_frame('3','5','','',''); 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 2/4 I, II I, II, IV I, III, IV Respondido em 07/05/2020 22:55:59 Explicação: Analisando cada afirmativa : I - São estruturas lineares que utilizam as primeiras posições de um vetor para armazenar os dados de interesse. Verdadeiro. As inserções vão ocorrendo do início do vetor (índice zero) em direção ao fim. II - São compostas pelo conjunto dos dados que se deseja armazenar e por uma variável inteira que indica a quantidade de dados armazenados. Verdadeiro. Armazenam-se os dados e controla-se a quantidade de dados na lista. III - Os dados são sempre inseridos ou removidos no final da lista, tomando-se o cuidado de atualizar a quantidade de dados da mesma. Falso. A inserção pode ser no início, no meio ou no final da lista. Na verdade, pode ocorrer inserção e remoção em qualquer posição. IV - A lista pode admitir ou não admitir que haja dados repetidos (listas podem ser com ou sem repetição). Verdadeiro. Uma lista pode ou não ter dados repetidos. Resposta certa : As afirmativas I, II, IV estão certas 3a Questão Considere uma lista sequencial L com n fichas deprofessores, sendo que cada ficha de professor é modelada pela struct : struct professor { int matricula; char titulo[30]; }; e a lista L é assim declarada : professor L[n]; Assinale o trecho que corretamente exibe todas as matrículas e titulações de todos os n professores de L . for (int i = 0; i < n; i++) cout << L.matricula << " " << L.titulo << endl; for (int i = 0; i < n; i++) cout << L[i] << endl; for (int i = 0; i < n; i++) cout << L[i].matricula << " " << L[i].titulo[30] << endl; for (int i = 0; i < n; i++) cout << L[i].matricula << " " << L[i].titulo << endl; for (int i = 0; i < n; i++) cout << L.matricula[i] << " " << L.titulo[i] << endl; Respondido em 07/05/2020 22:56:22 Explicação: Como L é um vetor de n elementos do tipo professor. Então, para percorrer o vetor de índice i temos que fazer L[i] seguido do ponto seguido do campo, que pode ser matricula ou titulo. Assiim, a opção correta é for (int i = 0; i < n; i++) cout << L[i].matricula << " " << L[i].titulo << endl; 4a Questão Considere as seguintes afirmações: I. Só podemos ter uma matriz de no máximo duas dimensões. Exemplo: C[100][100]. II. Ao declararmos um vetor int A[10], se escrevemos A[2] acessamos o segundo elemento do vetor. III. Uma string declarada como char B[30] armazena no máximo 30 caracteres. Escolha a alternativa correta: 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 3/4 Estão corretas apenas as afirmativas I e III. Está correta apenas a afirmativa I. Estão corretas apenas as afirmativas I e II. Nenhuma afirmação está correta. Está correta apenas a afirmativa II. Respondido em 07/05/2020 22:56:30 Explicação: Analisando cada afirmativa : I. Só podemos ter uma matriz de no máximo duas dimensões. Exemplo: C[100][100]. Falso. Podemos ter matrizes unidimensionais, tridimensionais, etc... II. Ao declararmos um vetor int A[10], se escrevemos A[2] acessamos o segundo elemento do vetor. Falso. Em C++ o índice inicial é zero. Logo, A[2] é o elemento de índice 2, ou seja, o 3o. elemento do vetor. III. Uma string declarada como char B[30] armazena no máximo 30 caracteres. Escolha a alternativa correta: Falso. B pode armazenar no máximo 29 caracteres que sejam dados, pois existe uma área para o caracter nulo. Logo, todas as opções são falsas. 5a Questão Considere uma lista com n livros, em que cada livro é modelado pela struct : struct Livro { string �tulo, editora, autor; float preco; }; A função X abaixo void X (Livro v[ ], int &n, Livro L) { v[n] = L; n++; cout << "Operação realizada com sucesso."; } implementa a operação de : Subs�tuição Ordenação por inserção Inicialização Inserção Busca Respondido em 07/05/2020 22:56:40 Gabarito Coment. 6a Questão As estruturas de dados em programação são muito utilizadas para tornar o acesso aos dados mais eficiente e organizado. A estrutura de dados considerada mais simples e tem como característica apresentar apenas uma dimensão é: Matriz Vetor Registro Função Variável Respondido em 07/05/2020 22:56:45 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 4/4 Gabarito Coment. 7a Questão As estruturas de dados são utilizadas para manter dados ou informações organizados 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. Pilha Sequencial Lista Sequencial Lista Encadeada Fila Sequencial Pilha Encadeada Respondido em 07/05/2020 22:56:52 Gabarito Coment. 8a Questão for (int i = 0; i < n; i++) cout << L.matricula[i] << " " << L.nome[i] << endl; for (int i = 0; i < n; i++) cout << L[i].matricula << " " << L[i].nome[30] << endl; for (int i = 0; i < n; i++) cout << L[i].matricula << " " << L[i].nome << endl; for (int i = 0; i < n; i++) cout << L[i] << endl; for (int i = 0; i < n; i++) cout << L.matricula << " " << L.nome << endl; Respondido em 07/05/2020 22:57:01 Gabarito Coment. javascript:abre_colabore('38403','191625447','3824038964'); 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 1/4 ESTRUTURA DE DADOS 6a aula Lupa PPT MP3 Exercício: CCT0826_EX_A6_201903517011_V1 07/05/2020 Aluno(a): NARA LUIZA TEIXEIRA FONSECA 2020.1 EAD Disciplina: CCT0826 - ESTRUTURA DE DADOS 201903517011 1a Questão Na estrutura de dados tipo pilha, há duas operações básicas para empilhamento e desempilhamento. Essas operações são conhecidas como: PUSH e POP. Base e Topo; HEAP e POP; PULL e POP; PUSH e PULL; Respondido em 07/05/2020 22:59:45 Gabarito Coment. 2a Questão Considere uma pilha sequencial de números reais representada por struct Pilha { int topo; float v[10]; }; onde temos Pilha p; Marque a opção que corretamente inicializa a pilha : p->topo = 0; Pilha.topo = -1; Pilha.topo = 0; p.topo = -1; topo.pilha = -1; http://simulado.estacio.br/alunos/inicio.asp javascript:voltar(); javascript:diminui(); javascript:aumenta(); javascript:abre_frame('2','6','','',''); javascript:abre_frame('3','6','','',''); 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 2/4 Respondido em 07/05/2020 22:59:37 Gabarito Coment. 3a Questão A estrutura de dados do tipo pilha (stack) é um tipo abstrato de dado baseada no princípio: First In First Out (FIFO). Last In First Out (LIFO). De dividir para conquistar. Da localidade de referência. Da indiferença. Respondido em 07/05/2020 22:59:47 Explicação: A lógica da Pilha é: o último a entrar é o primeiro a sair logo, Last (último) In (dentro) First (primeiro) Out (fora) -> LIFO. Gabarito Coment. 4a Questão Assinale a opção que apresenta uma estrutura de dados embasada no princípio last in, first out (LIFO) ¿ último a entrar, primeiro a sair ¿, na qual, conforme a inserção, os dados inseridos primeiramente na estrutura são os últimos a serem removidos. árvores pilhas listas vetores filas Respondido em 07/05/2020 22:59:56 Explicação: Por definição, a estrutura de dados pilha é uma lista linear em que as inserções e remoções seguem o critério ou lógica LIFO (Last In Firsts Out). Em uma lista, árvore ou vetor a inserção pode ser em qualquer posição, desde que não haja ordem. E a estrutura de dados fila segue a lógica FIFO. 5a Questão Algoritmo Pilha Inicio IniciarPilha(s) enquanto (não for o final das entradas) faca leia (num) se (num != 3) então Empilhar (s, num) senão Desempilhar(s) x := ElementoTopo(s) 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 3/4 fimse fimenquanto fimalgoritmo Considere que, no trecho do algoritmo acima, representado por seu pseudocódigo, seja fornecido para num, sucessivamente, os valores inteiros 1, 2, 3, 4, 5, 3 e 6. Nesse caso, ao final da execução do algoritmo, o valor de x será igual a ... 3 e a pilha terá os valores 6, 4 e 1. 5 e a pilha terá os valores 6, 4 e 1. 3 e a pilha terá os valores 6, 5, 4, 2 e 1. 5 e a pilha terá os valores 6, 3, 5, 4, 3, 2 e 1. 2 e a pilha terá os valores 6, 4 e 1. Respondido em 07/05/2020 23:00:05 Explicação: Seguindo o fluxo do algoritmo, serão empilhados 1 e 2. Ao chegar no 3, o valor 2 será desempilhado e armazenado em x. Continuando o loop, 4 é mepilhado, depois 5 é empilhado e ao chegar novamente em 3, o 5 é deempilhado e armazenado em x. Continuando o loop enquanto existeentrada, empilha-se o 6. Dessa forma temos que o valor em 5 é 5 e a pilha possui os valors 6, 4 e 1, sendo 6 no topo da pilha. Logo, a opção correta é 5 e a pilha terá os valores 6, 4 e 1. 6a Questão Ao remover um elemento armazenado em uma pilha é necessário a atualização da variável (Topo) indicadora de posição. Qual das alternativas abaixo está correta? Antes a operação de remoção decrementa a variável indicadora de posição. Após a operação de remoção incrementa a variável indicadora de posição. Após a operação de remoção incrementa a variável indicadora de inicio. Após a operação de remoção decrementa a variável indicadora de posição. Antes da operação de remoção incrementa a variável indicadora de posição. Respondido em 07/05/2020 23:00:11 Gabarito Coment. 7a Questão Inseriu-se em uma pilha os valores A,B,C e D, seguindo essa ordem. Se logo após são executadas duas operações de remoção, pode-se dizer que: A resposta depende da chave de busca, pois a remoção depende da chave fornecida Nenhuma das alternativas anteriores Os valores removidos serão D e C, nessa ordem Os valores removidos serão A e B, nessa ordem Os valores removidos serão C e D, nessa ordem Respondido em 07/05/2020 23:00:19 Explicação: Inseriu-se em uma pilha os valores A,B,C e D, seguindo essa ordem. Analisando .... Daí temos que A está na posição 0, B na posição 1, C na posição 2 e D na posição 3, ficando no topo da pilha. Se logo após são executadas duas operações de remoção Analisando .... Daí temos será removido primeiro o D, que está no topo da pilha e depois será removido o C, que terá ficado no topo logo após a saída do D. Logo, saem D e C, nesta ordem. 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 4/4 8a Questão Qual das alternativas a seguir pode definir uma estrutura de pilha? Entrada de dados pelo final e saída pelo início. Entrada e saída de dados pelo final. Entrada de dados pelo início e saída pelo final. Entrada e saída de dados em qualquer local. Entrada e saída de dados pelo início. Respondido em 07/05/2020 23:00:28 Gabarito Coment. javascript:abre_colabore('38403','191625960','3824052387'); 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 1/5 ESTRUTURA DE DADOS 7a aula Lupa PPT MP3 Exercício: CCT0826_EX_A7_201903517011_V1 07/05/2020 Aluno(a): NARA LUIZA TEIXEIRA FONSECA 2020.1 EAD Disciplina: CCT0826 - ESTRUTURA DE DADOS 201903517011 1a Questão Seja Q uma estrutura de dados do tipo fila, em que ENQUEUE(X) significa a adição do elemento X à Q e que DEQUEUE(), a retirada de um elemento. Q está inicialmente vazia e sofre a seguinte sequencia de operações: ENQUEUE(1) ENQUEUE(2) DEQUEUE() ENQUEUE(3) ENQUEUE(4) DEQUEUE() DEQUEUE() ENQUEUE(5) Ao final da sequencia, a soma dos elementos de que (Q) será? 9 15 0 6 5 Respondido em 07/05/2020 23:03:45 Gabarito Coment. 2a Questão Um órgão público adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema I atende os não idosos. O sistema II atende os idosos. Nessa situação: o sistema I, adota o esquema FIFO de organização de dados e o II, o esquema LIFO. tanto o sistema I, quanto o II, adotam o esquema FIFO de organização de dados. tanto o sistema I, quanto o II, adotam o esquema LIFO de organização de dados. tanto o sistema I, quanto o II, adotam o esquema vetor de organização de dados. o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema FIFO. Respondido em 07/05/2020 23:04:19 http://simulado.estacio.br/alunos/inicio.asp javascript:voltar(); javascript:diminui(); javascript:aumenta(); javascript:abre_frame('2','7','','',''); javascript:abre_frame('3','7','','',''); 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 2/5 Explicação: Como os dois sistemas usam a ordem de chegada, temos o uso de fila caracterizando os 2 sistemas. Como fila segue a lógica FIFO, os 2 sistemas seguem esta lógica FIFO. Note que LIFO é de pilha, o que não cabe aqui. Na pilha, o último a entrar é o primeiro a sair. 3a Questão IFMT - Técnico em Tecnologia da Informação - 2013 Considere a função insere(x: inteiro), que recebe como parâmetro um número inteiro e o insere em uma Fila, e ainda, a função remove(), que retira um valor de uma Fila. Dada a Fila [3-4-6-8-10], executam-se os comandos na ordem: insere(1), insere(2), remove(). Após a execução desses comandos, qual será a Fila resultante? [3-4-6-8-10] [2-1-3-4-6-8] [3-4-6-8-10-1] [2-3-4-6-8-10] [4-6-8-10-1-2] Respondido em 07/05/2020 23:04:43 Explicação: Temos a fila inicialmente 3 4 6 8 10 Após inserir 1, a fila ficará : 3 4 6 8 10 1 Após isnerir 2 : 3 4 6 8 10 1 2 Após uma remoção : 4 6 8 10 1 2 4a Questão A estrutura de dados conhecida pela lógica FIFO (First In First Out) é denominada : Pilha Fila Vetor Árvore Lista circular Respondido em 07/05/2020 23:04:52 Explicação: Fila é, por definição, uma lista linear ordenada em que as inserções e remoções seguem a lógica FIFO. 5a Questão IFMT - Técnico em Técnologia da Informação - 2013 Considere a função insere(x: inteiro), que recebe como parâmetro um número inteiro e o insere em uma Fila, e ainda, a função remove(), que retira um valor de uma Fila. Dada a Fila [3-4-6-8-10], executam-se os comandos na ordem: insere(1), insere(2), remove(). Após a execução desses comandos, qual será a Fila resultante? [3-4-6-8-10-1] [2-3-4-6-8-10] [4-6-8-10-1-2] 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 3/5 [3-4-6-8-10] [2-1-3-4-6-8] Respondido em 07/05/2020 23:05:01 Explicação: Dada a Fila [3-4-6-8-10], executam-se os comandos na ordem: insere(1), insere(2), remove(). ? Temos 3-4-6-8-10 e com a 1a. insere teremos 3-4-6-8-10 - 1 Com a segunda insere teremos 3-4-6-8-10- 1-2 E quando remover um valor, sairá o 1o. da fila. Então, a fila ficará assim : 4-6-8-10- 1-2 6a Questão Um aluno do EAD estava estudando para a prova de Estrutura quando viu o trecho do programa abaixo em uma apostila. 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 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 4/5 Lista simplesmente encadeada Fila Lista Linear Pilha Respondido em 07/05/2020 23:04:58 Gabarito Coment. 7a Questão Um conjunto ordenado de itens a partir do qual podem ser eliminados itens em uma extremidade e no qual podem ser inseridos itens na outra extremidade é denominado de lista simples. lista encadeada. fila. pilha. árvore. Respondido em 07/05/2020 23:05:27 Explicação: Por definição, fila é uma lista ordenada que segue a lógica FIFO, ou seja, o primeiro a entrar será o primeiro a sair. Assim, insere-se no fim e retira-se do início da fila. 8a Questão Considere uma fila simples F de inteiros, do �po Fila definido abaixo. Tal fila deverá armazenar códigos de agentes de uma firma de espionagem, desde que haja espaço para um novo agente. Assinale a opção que corretamente desenfileira o código de um agente, sabendo que a fila F foi inicializada de acordo com o trecho de código abaixo. struct Fila { in t v[100], inicio, fim; } ; Fila F; F. inicio = 0; F.fim = -1; void desenfileirar(Fila F) { if (F.inicio > F.fim) cout << "Não há agentes para re�rar. " << endl; else { cout << "Removido o agente " << F.v[F.inicio]; F.inicio++; } } void desenfileirar(Fila &F) { if (F.fim == -1 && F.inicio == 0) cout<< "Não há agentes para re�rar. " << endl; else { 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 5/5 cout << "Removido o agente " << F.v[F.inicio]; F.inicio++; } } void desenfileirar(Fila F) { cout << "Removido o agente " << F.v[F.inicio]; F.inicio--; } void desenfileirar(Fila &F) { if (F.inicio > F.fim) cout << "Não há agentes para re�rar. " << endl; else { cout << "Removido o agente " << F.v[F.inicio]; } } void desenfileirar(Fila &F) { if (F.inicio > F.fim) cout << "Não há agentes para re�rar. " << endl; else { cout << "Removido o agente " << F.v[F.inicio]; F.inicio++; } } Respondido em 07/05/2020 23:05:39 Gabarito Coment. javascript:abre_colabore('38403','191627136','3824079635'); 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 1/5 ESTRUTURA DE DADOS 8a aula Lupa PPT MP3 Exercício: CCT0826_EX_A8_201903517011_V1 07/05/2020 Aluno(a): NARA LUIZA TEIXEIRA FONSECA 2020.1 EAD Disciplina: CCT0826 - ESTRUTURA DE DADOS 201903517011 1a Questão Considerando a afirmação: "Ponteiro é uma variável que armazena o endereço de outra variável", a forma correta de se atribuir ao ponteiro p o endereço de uma variável é p = &matricula; *p = matricula; p.matricula = 20170562; p->matricula = 20170562; char *p; Respondido em 07/05/2020 23:06:30 Explicação: Analisando na sequência : Falsa. Declara um ponteiro para char. Falsa. Acessa o campo de uma struct apontada por um ponteiro p. Falsa. Acessa o campo de uma struct, sem usar ponteiro. Verdadeira. Faz um ponteiro p receber o endereço de uma variável matricula. Falsa. ACessa a área apontada por um ponteiro e atribui o valor de matricula. 2a Questão Uma lista linear implementada através de encadeamento deve apresentar obrigatoriamente: i) um ponteiro para o primeiro nó da lista; ii) encadeamento entre os nós, através de algum campo de ligação; iii) não deve haver uma indicação de final da lista; iv) um ponteiro para o final da lista. Levando em consideração as afirmações apresentadas, qual das alternativas é a correta? as afirmações i e ii estão corretas. somente a afirmação iv esta correta. as afirmações ii e iv estão corretas. http://simulado.estacio.br/alunos/inicio.asp javascript:voltar(); javascript:diminui(); javascript:aumenta(); javascript:abre_frame('2','8','','',''); javascript:abre_frame('3','8','','',''); 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 2/5 somente a afirmação i esta correta. as afirmações i, ii e iii estão corretas. Respondido em 07/05/2020 23:07:01 3a Questão O conceito de ponteiros foi estudado em uma de nossas aulas. Sendo assim, leia atentamente as afirmativas abaixo e assinale a opção correta. I A variável ponteiro não precisa ser declarada. II A variável ponteiro armazena endereço. III Quanto se usa &nomeDaVariávelPonteiro com o comando cout, é exibido o endereço da variável apontada pela variável ponteiro. IV Quando se usa nomeDaVariávelPonteiro com o comando cout, é exibido o endereço da variável ponteiro. V Quando se usa *nomeDaVariávelPonteiro com o comando cout, é exibido o conteúdo da variável apontada pela variável ponteiro. IV e V estão corretas II e V estão corretas I IV e V estão corretas I, II e IV estão corretas Somente a II está correta Respondido em 07/05/2020 23:07:13 Gabarito Coment. 4a Questão Uma estrutura de dados pode ser Estática ou Dinâmica. No primeiro caso os limites são: Determinados pelo problema em que serão utilizados Indeterminados Determinados pelo usuário Determinados pela memória Determinados pelos ponteiros Respondido em 07/05/2020 23:07:21 Explicação: Em uma estrutura estática o espaço em memória é definido antes da execução e será definido pelas características do problema. Não é indeterminado, não temos que usar ponteiros, não é determinado pelo usuário ou pela memória. Quando a alocação é dinâmica, o espaço em memória é definido durante a execução do programa e assim, não podemos determinar previamente o quanto de memória será alocada. 5a Questão Podemos dizer que uma lista encadeada tem as seguintes características: i) conhecida como lista ligada. ii) seus nós são responsáveis para manter a sequência da lista. iii) o último nó deve apontar para NULL. Assinale a alternativa que informa as afirmativas corretas. 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 3/5 Todas as afirmativas estão incorretas. Todas as afirmativas estão corretas. Somente a afirmativa iii esta correta. Somente as afirmativas i e ii estão corretas. Somente a afirmativa i esta correta. Respondido em 07/05/2020 23:07:30 Gabarito Coment. 6a Questão Tei Ping , famosa cabeleireira das estrelas, possui uma lista não ordenada de clientes em que registra apenas o nome, endereço e o telefone de cada cliente. Como não se pode pré-definir um limite para o tamanho da lista, como se pode implementar a inserção de um novo cliente na lista ? Sabe-se que cada cliente é do �po Cliente e a lista é do �po List assim definidos : struct Cliente { long int matricula; string nome, endereco e tel; }; struct List { Cliente p; struct List *link; }; List * insereCliente(List *i, Cliente c){ List *novo ; novo->p = c; novo->link = i; return novo; } List * insereCliente(List *i, Cliente c) { List *novo = new List; novo.p = c; novo.link = i; return novo; } List insereCliente(List *i, Cliente c) { List novo[]; novo[0].p = c; novo[0].link = i; return novo; } 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 4/5 List * insereCliente(List *i, Cliente c) { List *novo = new List; novo->p = c; novo->link =i; return novo; } List * insereCliente(List *i) { List *novo = new List; Cliente c; novo->p = c; novo->link = i; return novo; } Respondido em 07/05/2020 23:07:44 Explicação: Analisando a resposta certa : List * insereCliente(List *i, Cliente c) { List *novo = new List; //aloca memória para novo nó novo->p = c; //acessa o campo p da área apontada por novo e atribui o cliente c ao campo p novo->link =i; //faz o link do novo nó apontar para onde i está apontando return novo; //retorna o endereço do novo nó } Logo, esta função insere um novo nó no início de uma lista simplesmente encadeada e retorna o ponteiro para o início da lista resultante. Analisando as demais opções, que estão erradas : 2o. item .... Opção errada : faltou alocar memória 3o. item .... Opção errada : Cliente c não está definido. 4o. item .... Opção errada : Usa ponto quando deveria ser o operador seta 5o. item .... Opção errada : Muitos erros... Usa vetor sem definir tamanho e trabalha com o elemento de índice zero de novo, acessando os campos com ponto. 7a Questão E C++, quando um ponteiro é declarado para uma struct, o acesso aos campos deste registro (struct) se dá pelo operador : ∙ (ponto). * (asterisco). & (e comercial ou eitza). -> (seta). , (vírgula). Respondido em 07/05/2020 23:07:57 Explicação: Por definição, o operador é o seta, pois se tem, no caso, ponteiro para struct. 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 5/5 8a Questão Qual o valor de x no final do programa? int main() { int x, *p, y; x = 3; p = &x; y = *p; y = 7; (*p)++; (*p) += y; return(0); } 3 11 Nenhuma das anteriores. O programa possui um erro de sintaxe.7 -4 Respondido em 07/05/2020 23:08:00 Explicação: Considerando o trecho do programa dado, vamos analisar passo a passo. int x, *p, y; x = 3; p = &x; //p aponta para x, que vale 3 y = *p; //y recebe o conteúdo da área apontada por p, que é 3. Logo, y recebe 3. y = 7; //Agora y recebe 7 (*p)++; //A área apontada por p é incrementada. Ou seja, x é incrementado, passando a valer 4 (*p) += y; //Equivale a *p = *p + y; Logo, *p recebe 4 + 7, pois *p é x. Então, *p, que é x recebe 11. Portanto, a resposta certa é 11. javascript:abre_colabore('38403','191627943','3824102933'); 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 1/5 ESTRUTURA DE DADOS 9a aula Lupa PPT MP3 Exercício: CCT0826_EX_A9_201903517011_V1 07/05/2020 Aluno(a): NARA LUIZA TEIXEIRA FONSECA 2020.1 EAD Disciplina: CCT0826 - ESTRUTURA DE DADOS 201903517011 1a Questão Sobre as estruturas de dados existentes podemos afirmar que: Na estrutura do tipo FIFO, as informações são inseridas no início e removidas do final. Encadeamento estático e dinâmico apresentam o mesmo funcionamento de alocação na estrutura do tipo PILHA. A estrutura do tipo LIFO sempre realiza a remoção do elemento mais antigo inserido. Na estrutura do tipo LIFO, as informações são inseridas no início e removidas do final. Na estrutura das Pilhas a manipulação dos dados sempre se dá no topo. Respondido em 07/05/2020 23:09:00 Explicação: Na estrutura do tipo FIFO, as informações são inseridas no início e removidas do final. Falso. Fila segue a lógica FIFO, ou seja, o primeiro a entrar será o primeiro a sair. Logo, insere no fim e retira do início da fila. Na estrutura do tipo LIFO, as informações são inseridas no início e removidas do final. Falso. Pilha segue a lógica LIFO, o último a entrar será o primeiro a sair. Insere-se no topo e retira-se do topo , ou seja, da mesma extremidade. Na estrutura das Pilhas a manipulação dos dados sempre se dá no topo. Verdade. SEgue-se a lógica LIFO. Encadeamento estático e dinâmico apresentam o mesmo funcionamento de alocação na estrutura do tipo PILHA. Falso. No encadeamento estático a alocação é contígua e ocorre antes da execução. No encadeamento dinâmico a alocação de memória ocorre em tempo de execução e o armazenamento é encadeado. A estrutura do tipo LIFO sempre realiza a remoção do elemento mais antigo inserido. http://simulado.estacio.br/alunos/inicio.asp javascript:voltar(); javascript:diminui(); javascript:aumenta(); javascript:abre_frame('2','9','','',''); javascript:abre_frame('3','9','','',''); 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 2/5 Falso. A remoção se dá no último inserido, ou seja, o mais novo inserido na pilha. 2a Questão 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 RemoveNo InsereNoFrente BuscaNaLista Respondido em 07/05/2020 23:08:58 Gabarito Coment. 3a Questão Em termos da estrutura de dados do tipo FILA (fila encadeada com alocação dinâmica), a sequência de ações insere(10), insere(3), insere(5), insere(8), remove(), remove(), insere(20), promoveria a configuração da estrutura: 10 3 5 8 20 5 8 5 8 20 10 3 20 20 5 8 Respondido em 07/05/2020 23:09:21 Explicação: insere(10), insere(3), insere(5), insere(8), remove(), remove(), insere(20), 10-> 3 -> 5 -> 8 após inserir 10,3,5 e 8. Inserção no fim Depois do 1o. remove, temos 3->5->8 Depois do 2o. remove temos 5 -> 8 Ao ocorrer o último insere temos : 5 -> 8 - > 20, sendo que 5 esta no início e 20 no fim 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 3/5 4a Questão Tínhamos declarado um ponteiro de nome ptr e precisávamos construir uma estrutura de repetição que pudesse repetir enquanto o ponteiro não fosse nulo. Observe os trechos abaixo e assinale qual a afirmativa correta. I if (ptr !=NULL) II if( !ptr ) III if(ptr) IV while (ptr !=NULL) V while (ptr) I e IV estão corretas III está correta IV e V estão corretas. III e V estão corretas I e II estão corretas. Respondido em 07/05/2020 23:09:27 Gabarito Coment. 5a Questão Seja o seguinte exemplo de nodo de uma lista de encadeada: struct nodo{ float valor; string produto; nodo * proximo; }; Sabendo-se que nesta lista o último nó ou nodo possui o campo próximo nulo (null), marque a alternativa que representa corretamente a operação de busca do último nodo, a partir de um ponteiro pt apontado para o primeiro nodo da lista. while(próximo)pt=próximo; while(pt != null)pt=pt->próximo; while(pt->próximo != null)pt=pt->próximo->proximo; while(pt->próximo)pt=pt->próximo; while(pt->próximo->proximo)pt=pt->próximo; Respondido em 07/05/2020 23:10:17 Explicação: O código será: while(pt->próximo)pt=pt->próximo; 6a Questão Para converter de decimal para binário usamos a estrutura de dados pilha. Assinale a opção que, corretamente, indica as ações corretas para empilhar o resto da divisão gerado no processo de conversão, considerando uma lista simplesmente encadeada. Considere o tipo definido abaixo : 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 4/5 struct no { int dado; struct no *link; }; Basta alocar memória com new, armazenar o resto da divisão do número por 2 no campo dado do novo nó e aterrar o link do novo nó. É preciso alocar memória com new, armazenar o resto da divisão do número por 2 no campo dado do novo nó, apontar o link do novo nó para o início da lista e enfim, retornar o ponteiro para o novo nó. Basta alocar memória com new e armazenar o resto da divisão do número por 2 no campo dado do novo nó . Não é necessário alocar memória com new. Basta criar uma struct do tipo no, armazenar o resto da divisão número por 2 no campo dado e aterrar o campo link. É preciso armazenar o resto da divisão do número por 2 no campo dado do primeiro nó da lista e retornar o ponteiro para este nó. Respondido em 07/05/2020 23:10:12 Gabarito Coment. 7a Questão A pilha é uma estrutura de dados que permite a inserção/ remoção de itens dinamicamente seguindo a norma de último a entrar, primeiro a sair. Suponha que para uma estrutura de dados, tipo pilha, são definidos os comandos: - PUSH (p, n): Empilha um número "n" em uma estrutura de dados do tipo pilha "p"; - POP (p): Desempilha o elemento do topo da pilha. Considere que, em uma estrutura de dados tipo pilha p, inicialmente vazia, sejam executados os seguintes comandos: PUSH (p, 10) PUSH (p, 5) PUSH (p, 3) PUSH (p, 40) POP (p) PUSH (p, 11) PUSH (p, 4) PUSH (p, 7) POP (p) POP (p) Após a execução dos comandos, o elemento no topo da pilha "p" e a soma dos elementos armazenados na pilha "p" são, respectivamente, 11 e 29. 4 e 80. 11 e 80. 7 e 29. 7 e 40. Respondido em 07/05/2020 23:10:21 Explicação: Passo a Passo: entra 10 // 10 entra 5 // 5 / 10 entra 3 // 3 / 5/ 10 entra 40 // 40 / 5 /10 retira 40 // 3 / 5 /10 entra 11 // 11 / 3 / 5 /10 entra 4 // 4 /11 / 3 / 5 /10 entra 7 // 7 / 4 / 11 / 3 / 5 /10 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 5/5 retira 7 // 4 / 11 / 3 / 5 /10 retira 4 // 11 / 3 / 5 / 10 Resultado da pilha: 11 / 3 / 5 / 10 Topo: 11 Somatorio da pilha é: 29 8a Questão Sabendo que uma fila encadeadapossui seus nós definidos pela : struct no { int x; no *prox; }; Marque a alternativa que representa corretamente a criação ou alocação do nó na sintaxe do C++ para utilização na fila. no p -> new no; no *p=new no; p *no -> new no; no *p -> new no; p *no=new no; Respondido em 07/05/2020 23:10:46 Gabarito Coment. javascript:abre_colabore('38403','191628460','3824114981'); 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 1/5 ESTRUTURA DE DADOS 10a aula Lupa PPT MP3 Exercício: CCT0826_EX_A10_201903517011_V1 07/05/2020 Aluno(a): NARA LUIZA TEIXEIRA FONSECA 2020.1 EAD Disciplina: CCT0826 - ESTRUTURA DE DADOS 201903517011 1a Questão 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: As operações inserem novo nodo, após o nodo apontado pelo ponteiro p. As operações removem o nodo apontado pelo ponteiro p. As operações possibilitam o percurso do ponteiro p da direita para esquerda. As operações possibilitam o percurso do ponteiro p da esquerda para direita. As operações possibilitam a busca de um nodo apontado pelo ponteiro p. Respondido em 07/05/2020 23:11:38 2a Questão Considere uma lista duplamente encadeada não circular em que struct nodupla { int dado; struct nodupla *dlink; // aponta p/ o nó à direita struct nodupla *elink; // aponta p/ o nó à esquerda }; sendo nodupla *p; //ponteiro para o início da lista A opção que corretamente mostra as instruções para inserir um valor no início da lista apontada por p é : n nodupla *novo; novo = new nodupla; novo->dado = valor; novo->elink = NULL; if (p != NULL) p->elink = novo; p = novo; http://simulado.estacio.br/alunos/inicio.asp javascript:voltar(); javascript:diminui(); javascript:aumenta(); javascript:abre_frame('2','10','','',''); javascript:abre_frame('3','10','','',''); 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 2/5 nodupla *novo; novo = new nodupla; novo->dado = valor; novo->dlink = p; novo->elink = NULL; p->elink = novo; p = novo; nodupla *novo; novo = new nodupla; novo.dado = valor; novo.dlink = p; novo.elink = NULL; if (p != NULL) p.elink = novo; p = novo; nodupla *novo; novo = new nodupla; novo->dado = valor; novo->dlink = p; novo->elink = NULL; if (p != NULL) p->elink = novo; p = novo; n nodupla *novo; novo = new nodupla; novo->dado = valor; novo->dlink = p; if (p != NULL) p->elink = novo; p = novo; Respondido em 07/05/2020 23:11:34 Gabarito Coment. 3a Questão 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______. Declaração de vetor Declaração de matriz Alocação dinâmica de memória Declaração de função Alocação estática de memória Respondido em 07/05/2020 23:11:57 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. 4a Questão O armazenamento de dados na memória do computador é feito de forma ordenada, utilizando-se estruturas e regras de operações. Das alternativas a seguir, assinale a correta: 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 3/5 Existem várias formas de apresentação de listas lineares, como listas circulares e as matrizes, que são formas exclusivas das listas de alocação encadeada. Em uma lista linear com alocação sequencial, os dados são heterogêneos e os nós da lista podem ter tamanhos diferentes, mas exigem espaço em endereço contíguo de memória. A lista binária é uma forma não-linear de organização dos dados. Existe um nó denominado raiz da árvore, que pode ter duas ou mais sub-árvores, que por sua vez também podem ter outras sub-árvores. Fila e Pilha são tipos especiais de listas lineares. Na Fila, o último que entra é o primeiro que sai, enquanto na Pilha, o primeiro que entra é o primeiro que sai. Em uma lista linear com alocação duplamente encadeada os nós da estrutura ocupam espaços aleatórios na memória e cada nó armazena além da sua informação os endereços do nó anterior e do próximo nó da estrutura. Respondido em 07/05/2020 23:11:48 Explicação: Existem várias formas de apresentação de listas lineares, como listas circulares e as matrizes, que são formas exclusivas das listas de alocação encadeada.=è FALSO =è Ela possui apenas uma entrada, chamada de topo, a partir da qual os dadosentram e saem dela. Exemplos de pilhas são: pilha de pratos, pilha de livros, pilhade alocação de variáveis da memória, etc. Uma fila é uma lista linear do tipo FIFO - First In First Out, o primeiro elemento a entrar será o primeiro a sair A lista binária é uma forma não-linear de organização dos dados. Existe um nó denominado raiz da árvore, que pode ter duas ou mais sub-árvores, que por sua vez também podem ter outras sub-árvores.=è FALSO Em uma lista linear com alocação sequencial, os dados são heterogêneos e os nós da lista podem ter tamanhos diferentes, mas exigem espaço em endereço contíguo de memória. .=è FALSO Em uma lista linear com alocação duplamente encadeada os nós da estrutura ocupam espaços aleatórios na memória e cada nó armazena além da sua informação os endereços do nó anterior e do próximo nó da estrutura. ===> VERDADE Fila e Pilha são tipos especiais de listas lineares. Na Fila, o último que entra é o primeiro que sai, enquanto na Pilha, o primeiro que entra é o primeiro que sai. ===> FALSO ===> Fila, o valor lido, sempre é passado para o começo, ou seja, esse valor aponta para as próximas posições, e quando for feita a exclusão, é só deletar esse valor do começo. Abaixo uma imagem que representa a Fila (FIFO). Pilha, sempre o último valor lido, ficará na `primeira¿ posição da lista, dessa forma, quando for feita a exclusão, um auxiliar aponta para a próxima posição, e a posição atual, é excluída. Abaixo uma imagem que representa a Pilha (LIFO) 5a Questão 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; Pilha Lista duplamente encadeada Fila Lista encadeada Matriz Respondido em 07/05/2020 23:11:58 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 4/5 6a Questão 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: As operações possibilitam o percurso do ponteiro p da direita para esquerda. As operações possibilitam o percurso do ponteiro p da esquerda para direita. As operações removem o nodo apontado pelo ponteiro p. As operações possibilitam a busca de um nodo apontado pelo ponteiro p. As operações inserem novo nodo, após o nodo apontado pelo ponteiro p. Respondido em 07/05/2020 23:15:28 Gabarito Coment. 7a Questão Observe a struct, definida globalmente, e um trecho de uma função que manipula uma Lista Duplamente Encadeada. struct listaDE { int info; struct listaDE* ant; struct listaDE* prox; }; ... listaDE* novo = new listaDE; novo->info = valor; novo->prox = LISTA; novo->ant = NULL; Assinale a alternativa que apresenta o protótipo dessa função void exibeIpF(listaDE *LISTA); listaDE *busca (listaDE *LISTA, int valor); listaDE *insereInicio(listaDE *LISTA, int valor); listaDE *insereFim(listaDE *LISTA, int valor); listaDE *remove(listaDE *LISTA, int valor); Respondido em 07/05/2020 23:12:22 Gabarito Coment. 8a Questão 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? 10/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 5/5 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 duplamente encadeada cada nó aponta para nó seguinte e para o primeiro nó da fila. 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 simplesmente encadeada cada nó aponta para nó seguinte e para o nó anterior. Em uma lista duplamente encadeada cada nó aponta para nó seguinte. Respondido em 07/05/2020 23:12:34 Gabarito Coment. javascript:abre_colabore('38403','191629117','3824132112');
Compartilhar