Baixe o app para aproveitar ainda mais
Prévia do material em texto
Fechar Avaliação: CCT0260_AV_201307185967 (AG) » ESTRUTURA DE DADOS Tipo de Avaliação: AV Aluno: 201307185967 - RENATO GOMES CHAVES Professor: JANE TAVARES ALVAREZ DA SILVA Turma: 9002/AA Nota da Prova: 3,5 Nota de Partic.: 1 Data: 30/05/2014 18:55:07 1a Questão (Ref.: 201307263127) Pontos: 1,5 / 1,5 Como é a lógica do FIFO? Resposta: Na lógica FIFO (First In First Out), o primeiro dado a entrar, é o primeiro a sair. A chamada fila. Gabarito: O primeiro que entra na fila é o primeiro que sai. 2a Questão (Ref.: 201307439114) Pontos: 0,0 / 1,5 Faça uma função em C++ para criar uma lista duplamente encadeada com um nó e armazenar neste nó o valor 100. Note que deverá ser retornado o ponteiro para o nó criado. Considere struct nodupla { int dado; struct *dlink, *elink; }; e o seguinte protótipo : nodupla *cria(); Resposta: Gabarito: nodupla *cria() { nodupla *novo; novo = new nodupla; novo->dado = 100; novo->elink = novo->dlink = NULL; return novo; } 3a Questão (Ref.: 201307437408) Pontos: 0,0 / 0,5 uma mistura dos métodos de ordenação por inserção e bubblesort. por seleção. bubblesort. por inserção. uma mistura dos métodos de ordenação por seleção e por inserção. 4a Questão (Ref.: 201307232698) Pontos: 0,5 / 0,5 Analisando o trecho do algoritmo abaixo, pode-se afirmar que se trata de uma operação de: Remoção de um elemento de uma estrutura FIFO Inserção de um elemento em uma estrutura FIFO Remoção de um elemento de uma estrutura LIFO Exibição de um elemento em uma estrutura LIFO Inserção de um elemento em uma estrutura LIFO 5a Questão (Ref.: 201307232534) Pontos: 0,5 / 0,5 Com relação as listas lineares sequenciais: I - Uma lista linear sequencial é um vetor em linguagens estruturadas, também chamado de array. II - Um elemento de uma lista linear sequencial pode ser acessado diretamente através de um índice. III - Uma lista linear sequencial pode ter elementos de um mesmo tipo, ou de tipos diferentes. Apenas as afirmações I e III estão corretas. Apenas as afirmações I e II estão corretas. Apenas a afirmação I está correta. Apenas as afirmações II está corretas. Apenas as afirmações II e III estão corretas. 6a Questão (Ref.: 201307232693) Pontos: 0,0 / 1,0 As estruturas de dados são importantes para a programação porque facilitam a pesquisa, pois permitem a ordenação dos dados de forma crescente ou decrescente. Dessa forma, assinale a alternativa correta que define um tipo de dado estruturado. São tipos de dados indivisíveis. Também são denominados tipos primitivos, não é possível decompor em partes menores. Consiste da definição do conjunto de valores (denominado domínio) que uma variável pode assumir ao longo da execução de um programa. Permitem agregar mais do que um valor em uma variável, existindo uma relação estrutural entre seus elementos. Podem armazenar apenas um valor de cada vez, se algum valor for atribuído o anterior é apagado. 7a Questão (Ref.: 201307232597) Pontos: 0,5 / 0,5 O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém em cada um de seus elementos o número de inscrição, o nome e a nota obtida pelo candidato. Este vetor está ordenado pelo número de inscrição. Para realização de uma consulta que, dado um número de inscrição, apresenta o nome e nota do candidato, um programador utilizou um algoritmo de busca que realiza sucessivas divisões no vetor, comparando o número de inscrição procurado com o número de inscrição do candidato posicionado no meio do vetor. Se o candidato posicionado do meio do vetor tiver o número de inscrição igual ao número de inscrição procurado, a busca termina com sucesso. Caso contrário, se candidato posicionado do meio do vetor tiver número de inscrição menor que o procurado, então a busca continua na metade posterior do vetor. E finalmente, se candidato posicionado do meio do vetor tiver número de inscrição maior que o procurado, a busca continua na metade anterior do vetor. O algoritmo utilizado pelo programador trata-se do método denominado busca: randômica. por contagem. linear. binária. por comparação. 8a Questão (Ref.: 201307232679) Pontos: 0,0 / 1,0 As estruturas de dados podem ser do tipo estática e dinâmica. As listas são estruturas parecidas com vetores podendo ser do tipo dinâmica. Entretanto, existem várias implementações de estruturas do tipo listas. Dessa forma, a estrutura que para o acesso de um dado, este precisa estar na saída, caso contrário, precisa remover os elementos a sua frente, é chamada de: Fila Matriz Bolha Pilha Struct 9a Questão (Ref.: 201307434934) Pontos: 0,5 / 0,5 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: Todas as alternativas estão corretas. As alternativas II e IV estão corretas. As alternativas I e III estão corretas. As alternativas III e IV estão corretas. As alternativas I e II estão corretas 10a Questão (Ref.: 201307440898) Pontos: 0,0 / 0,5 Sabemos que podemos representar uma expressão de três formas, sendo que uma delas é chamada de notação polonesa reversa ( pós-fixa). Suponha que um professor de Estrutura de Dados desejasse compor a nota do bimestre com uma prova e um trabalho oral, usando pesos diferenciados para as notas. Sendo assim, usaria a média ponderada como a expressão abaixo. A única calculadora que encontrou disponível foi uma com representação pós fixa. Assinale a alternativa que apresenta a sequência que deveria ser digitada pelo professor para conseguir calcular a média de um aluno. nota1 peso1 * nota2 peso2 * peso1 peso2 + + / nota1 peso1 nota2 peso2 peso1 peso2 * * + + / nota1 peso1 * nota2 peso2 * + peso1 peso2 + / / * nota1 peso1 + * nota2 peso2 + peso1 peso2 / + * nota1 peso1 * nota2 peso2 + peso1 peso2 Observação: Eu, RENATO GOMES CHAVES, estou ciente de que ainda existe(m) 1 questão(ões) não respondida(s) ou salva(s) no sistema, e que mesmo assim desejo finalizar DEFINITIVAMENTE a avaliação. Data: 30/05/2014 19:15:51 Fechar Avaliação: CCT0260_AV_201502237164 » ESTRUTURA DE DADOS Tipo de Avaliação: AV Aluno: 201502237164 - ALEXANDER SCHIAVONI SODR¿ Professor: ANITA LUIZA MACIEL LOPES Turma: 9007/AC Nota da Prova: 3,0 Nota de Partic.: 1 Av. Parcial 2 Data: 16/06/2016 15:27:53 O aproveitamento da Avaliação Parcial será considerado apenas para as provas com nota maior ou igual a 4,0. 1a Questão (Ref.: 201502309937) Pontos: 0,0 / 1,0 Defina um tipo de dado (registro) capaz de armazenar as seguintes informaçõessobre um determinado cliente de um banco: nome, CPF, RG, número da conta, data de abertura da conta, e saldo. Com base neste tipo de dado, construa o trecho código em C++ que represente a leitura dos dados do cliente feita pelo usuário. Resposta: Gabarito: struct ClienteBanco{ string nome; string cpf; int rg; int numConta; double saldo; }; ClienteBanco cliente; cin >> cliente.nome; cin >> cliente.cpf; cin >> cliente.rg; cin >> cliente.saldo; 2a Questão (Ref.: 201502965920) Pontos: 0,0 / 1,0 Em relação a filas e pilhas dinâmicas, cite uma das vantagens de se implementar estruturas dinamicamente. Resposta: AS VANTAGENS DAS ESTRUTURAS DINÂMICAS É A POSSIBILIDADE REINSERIR UM DADO DE FORMA MAIS RÁPIDA. Gabarito: É o fato destas estruturas ocuparem espaço estritamente necessário. Fundamentação do(a) Professor(a): Mais rápida do que qual? 3a Questão (Ref.: 201502289010) Pontos: 1,0 / 1,0 As estruturas de dados são importantes para a programação porque facilitam a pesquisa, pois permitem a ordenação dos dados de forma crescente ou decrescente. Dessa forma, assinale a alternativa correta que define um tipo de dado estruturado. Podem armazenar apenas um valor de cada vez, se algum valor for atribuído o anterior é apagado. Permitem agregar mais do que um valor em uma variável, existindo uma relação estrutural entre seus elementos. São tipos de dados indivisíveis. Também são denominados tipos primitivos, não é possível decompor em partes menores. Consiste da definição do conjunto de valores (denominado domínio) que uma variável pode assumir ao longo da execução de um programa. 4a Questão (Ref.: 201502493673) Pontos: 0,0 / 1,0 Auxiliar = 101 Numero1 = 900 Numero2 = 20 Auxiliar = 100 Numero1 = 1000 Numero2 = 20 Auxiliar = 100 Numero1 = 900 Numero2 = 80 Auxiliar = 111 Numero1 = 1000 Numero2 = 80 Auxiliar = 100 Numero1 = 900 Numero2 = 20 5a Questão (Ref.: 201502288488) Pontos: 0,0 / 1,0 Qual das seguintes estruturas de dados é classificada como heterogênea? Fila Registro Vetor Loop Pilha 6a Questão (Ref.: 201502288667) Pontos: 1,0 / 1,0 Marque a afirmativa correta para a "Busca ou pesquisa binária". 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, alterando 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. Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos. 7a Questão (Ref.: 201502288471) Pontos: 0,0 / 0,5 O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo = fim)? inclusão ordenação underflow overflow remoção 8a Questão (Ref.: 201502356119) Pontos: 0,5 / 0,5 Quando as inserções e as remoções ocorrem sempre no mesmo lado da lista, trata-se de uma estrutura de dados denominada. Pilha. Vetor. Lista circular. Fila. Lista encadeada. 9a Questão (Ref.: 201502289016) Pontos: 0,5 / 0,5 Analisando a figura abaixo, marque a alternativa correta que apresenta o tipo de estrutura de dados utilizado. Struct Matriz Pilha Fila Hash 10a Questão (Ref.: 201502501549) Pontos: 0,0 / 0,5 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 listaDE *busca (listaDE *LISTA, int valor); void exibeIpF(listaDE *LISTA); listaDE *insereInicio(listaDE *LISTA, int valor); listaDE *remove(listaDE *LISTA, int valor); listaDE *insereFim(listaDE *LISTA, int valor); Observação: Estou ciente de que ainda existe(m) 1 questão(ões) não respondida(s) ou salva(s) no sistema, e que mesmo assim desejo finalizar DEFINITIVAMENTE a avaliação. Data: 16/06/2016 16:16:04 30/09/2015 BDQ Prova http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_hist=7743144510 1/4 ESTRUTURA DE DADOS Simulado: CCT0260_SM_201503534791 V.1 Fechar Aluno(a): MAURO DE OLIVEIRA CARNEIRO Matrícula: 201503534791 Desempenho: 10,0 de 10,0 Data: 30/09/2015 18:13:27 (Finalizada) 1a Questão (Ref.: 201503607938) Pontos: 1,0 / 1,0 Em relação a estruturas de dados, avalie a correspondência existente entre as estruturas de dados Lineares e Não Lineares com suas respectivas coleções de dados. A correta associação entre os elementos das duas tabelas é: a1, b1, c2, d1 a1, b2, c1, d1. a1, b1, c2, d2. a2, b2, c1, d2. a2, b1, c2, d1. Gabarito Comentado. 2a Questão (Ref.: 201503616401) Pontos: 1,0 / 1,0 O espaço necessário para a representação dos dados pode ser alocado à medida que se torne necessário, através da alocação dinâmica. Uma estrutura armazenada através de encadeamento apresenta seus nodos alocados em posições aleatórias na memória, e não lado a lado. Dessa forma, existem várias vantagens no uso de representar os dados por encadeamento. Marque a alternativa correta que apresenta estas vantagens. Proteção de memória, transferência de dados, estruturas simples. Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes. Outpost 2 Inferno Negro (2015) ... Orgulho e Esperança (2015) BRRip ... Orgulho e Esperança (2015) BRRip ... Terremoto A Falha de San Andre ... O Exterminador do Futuro: Gênesi ... A Ameaça (2015) BRRip BluRay 10 ... 30/09/2015 BDQ Prova http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_hist=7743144510 2/4 Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos. Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos. Acesso, representação, compartilhamento de memória. Gabarito Comentado. 3a Questão (Ref.: 201503616417) Pontos: 1,0 / 1,0 Em programação podemos utilizar um recurso que modulariza o programa chamado função. As funções precisam ser ativadas para que possam ser executadas. Para isso, é necessário chamar a função pelo seu nome e enviar, quando necessário, os valores respectivos para os parâmetros de entrada. Ao enviar os valores para os parâmetros de entrada, o programa pode fazer uma cópia deste valor ou trabalhar em um endereço enviado. Quando se envia o endereço estamos ativando a função por meio de: Envio de valor. Registro. Passagem por valor. Envio de inteiro. Ponteiros. Gabarito Comentado. 4a Questão (Ref.: 201504229938) Pontos: 1,0 / 1,0 Blocos únicos de códigos que realizam diversas tarefas distintas são de difícil manutenção. Portanto, utilizase a técnica da modularização de programas, a fim de facilitar a implementação e a manutenção dos programas. Esta técnica tem como principal elemento: As Filas As funções As Estruturas de Dados Os Vetores Os Grafos 5a Questão (Ref.: 201504287982) Pontos: 1,0 / 1,0 Marquea opção correta, considerando struct Livro { int codigo; float preco; } liv; Livro>liv.codigo = 12345; Livro.liv.codigo = 12345; liv>preco = 30.70; liv.preco = 30.70; Livro.codigo = 12345; 30/09/2015 BDQ Prova http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_hist=7743144510 3/4 6a Questão (Ref.: 201504229943) Pontos: 1,0 / 1,0 Podese 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]=5.7; aluno.vet[10].nota=5.7; vet[10].nota=5.7; vet[10]=aluno.5.7; 7a Questão (Ref.: 201504204685) Pontos: 1,0 / 1,0 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"; Podese afirmar que: tratase da implementação do algortimo de ordenação por inserção. tratase da implementação do algortimo de busca sequencial tratase da implementação do algortimo de busca binária. tratase da implementação do algortimo de ordenação bolha. tratase da implementação do algortimo de ordenação por seleção. 8a Questão (Ref.: 201503616390) Pontos: 1,0 / 1,0 Os métodos de ordenação são muito utilizados para facilitar a recuperação posterior de itens ordenados. Existem vários métodos de ordenação, por esse motivo, assinale corretamente a alternativa que mostra o nome do método que utiliza a estratégia de ordenação por trocas de vizinhos e é considerado o método mais simples. Seleção Hash Bolha Binária 30/09/2015 BDQ Prova http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_hist=7743144510 4/4 Inserção Gabarito Comentado. 9a Questão (Ref.: 201504263927) Pontos: 1,0 / 1,0 Considere uma lista com n livros, em que cada livro é modelado pela struct : struct Livro { string titulo, 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 : Inicialização Substituição Ordenação por inserção Inserção Busca 10a Questão (Ref.: 201503616384) Pontos: 1,0 / 1,0 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 é: Variável Matriz Registro Vetor Função Gabarito Comentado. Avaliação: CCT0260_AV_ » ESTRUTURA DE DADOS Tipo de Avaliação: AV Aluno Professor: JANE TAVARES ALVAREZ DA SILVA Turma: 9004/AD Nota da Prova: 6,5 Nota de Partic.: 2 Av. Parcial 2 Data: 14/06/2016 15:35:10 Defina um tipo de dado (registro) capaz de armazenar as seguintes informações sobre um determinado cliente de um banco: nome, CPF, RG, número da conta, data de abertura da conta, e saldo. Com base neste tipo de dado, construa o trecho código em C++ que represente a leitura dos dados do cliente feita pelo usuário. Resposta: Gabarito: struct ClienteBanco{ string nome; string cpf; int rg; int numConta; double saldo; }; ClienteBanco cliente; cin >> cliente.nome; cin >> cliente.cpf; cin >> cliente.rg; cin >> cliente.saldo; Em relação a filas e pilhas dinâmicas, cite uma das vantagens de se implementar estruturas dinamicamente. Resposta: Estruturas dinamicas tem a avantagem de fazer alocação de memoria em tempo de compilação e terem seu tamanho alterado comforme a demanda. O sistema não para por falta de alocação de memoria. Gabarito: É o fato destas estruturas ocuparem espaço estritamente necessário. Observe a struct, definida globalmente, e um trecho de uma função que manipula Preciso cadastrar todos os interessados em meu novo curso de programação. Qual a estrutura de dados mais adequada para modelar este problema, visto que não há qualquer preocupação com ordem de chegada ou saída de aluno da turma. Quest.: 1 As estruturas de dados são importantes para a programação porque facilitam a pesquisa, pois permitem a ordenação dos dados de forma crescente ou decrescente. Dessa forma, assinale a alternativa correta que define um tipo de dado estruturado. Quest.: 2 Uma função possui um valor de retorno inteiro, recebe por valor um inteiro como primeiro parâmetro e por referência um inteiro como segundo parâmetro. Qual das respostas abaixo poderia representar o protótipo dessa função: Quest.: 3 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; Quest.: 4 Lupa CCT0260_SM_201408383462 V.1 quinta-feira, 4 de agosto de 2016 (19:00) » 26:58 de 50 min. FINALIZAR Aluno: GILVAN SILVA DOS SANTOS Matrícula: 201408383462 Disciplina: CCT0260 - ESTRUTURA DE DADOS Período Acad.: 2016.2 EAD (GT) / SM 1. Lista Fila Pilha Grafo Árvore 2. São tipos de dados indivisíveis. Também são denominados tipos primitivos, não é possível decompor em partes menores. Permitem agregar mais do que um valor em uma variável, existindo uma relação estrutural entre seus elementos. Podem armazenar apenas um valor de cada vez, se algum valor for atribuído o anterior é apagado. Consiste da definição do conjunto de valores (denominado domínio) que uma variável pode assumir ao longo da execução de um programa. 3. int func (int &a, int b); void func (int a, int &b); int func (int a, int &b); int func (&int, int); void func (int &a, int &b); 4. Simulado http://simulado.estacio.br/bdq_simulados_ead_ens.asp?cod_disc=CC... 1 de 4 04/08/2016 19:23 } 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. Quest.: 5 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. Quest.: 6 Marque a afirmativa correta para a "inserção incremental". Quest.: 7 50 10 Haverá um erro de compilação 5 0 5. vet[10]=aluno.5.7; aluno.vet[10].nota=5.7; vet[10].aluno.nota=5.7 ; vet[10].nota=5.7; aluno.vet[10]=5.7;6. vet[10].nota=5.7; aluno.vet[10].nota=5.7; vet[10].aluno.nota=5.7 ; aluno.vet[10]=5.7; vet[10]=aluno.5.7; 7. É um tipo de sequenciação por intercalação. Os pivôs são escolhidos aleatoriamente. 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 Simulado http://simulado.estacio.br/bdq_simulados_ead_ens.asp?cod_disc=CC... 2 de 4 04/08/2016 19:23 Entre os diversos algoritmos de pesquisa existentes, certamente os mais famosos são os da pesquisa sequencial e o da pesquisa binária. A busca ou pesquisa sequencial pode ser aplicada em vetores independente destes estarem ordenados, entretanto a busca binária só se aplica em vetores ordenados. Seja o vetor A= {10,35,41,55,69,70,98}, suponha que o número 70 foi pesquisado pelo algoritmo da busca sequencial e também pelo algoritmo da busca binária, ambos algoritmos realizam testes nos elementos do vetor até achar o que procuram ou definirem que o elemento não se encontra no vetor. Sendo assim marque a alternativa que expressa o número de testes realizados pela busca sequencial e o número de testes realizados pela busca binária, respectivamente, até encontrarem o 70. Quest.: 8 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 : Quest.: 9 Quest.: 10 8. 6 e 1 7 e 1 6 e 2 6 e 4 5 e 5 9. Inicialização Subs&tuição Inserção Busca Ordenação por inserção 10. for (int i = 0; i < n; i++) cout << L[i] << endl; for (int i = 0; i < n; i++) cout << L.matricula << " " << L.nome << 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].matricula << " " << L[i].nome[30] << endl; Simulado http://simulado.estacio.br/bdq_simulados_ead_ens.asp?cod_disc=CC... 3 de 4 04/08/2016 19:23 for (int i = 0; i < n; i++) cout << L.matricula[i] << " " << L.nome[i] << endl; FINALIZAR O SIMULADO Legenda: Questão não respondida Questão não gravada Questão gravada Simulado http://simulado.estacio.br/bdq_simulados_ead_ens.asp?cod_disc=CC... 4 de 4 04/08/2016 19:23 Professor: JANE TAVARES ALVAREZ DA SILVA Turma: 9002/AA Nota da Prova: 7,2 Nota de Partic.: 1 Data: 19/11/2013 10:31:32 1a Questão (Ref.: 201301668139) Pontos: 0,8 / 0,8 Diferentes tipos de estrutura de dados são adequadas a diferentes tipos de aplicação e algumas são altamente especializadas, destinando-se a algumas tarefas específicas. Dessa forma a definição de Estrutura de Dados está expressa na alternativa: É um modo de utilização de dados nos programas de computador. É um modo de distribuição e organização de dados em uma rede de computador de modo que possam ser usados de modo eficiente. É um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados de modo eficiente. São os nomes dados as variáveis na montagem de uma rotina. É um modo de deleção de dados em um computador. 2a Questão (Ref.: 201301676597) Pontos: 0,8 / 0,8 Existem vários tipos de estruturas de dados do tipo dinâmicas, entretanto, uma estrutura considerada simples são as listas. Pode-se implementar vários tipos de listas, entretanto, a estrutura que apresenta o conceito de LIFO é: Ponteiro Struct Pilha Matriz Fila 3a Questão (Ref.: 201301707043) Pontos: 0,8 / 0,8 Como é a lógica do FIFO? Resposta: a logica FIFO (first in first out) implementada em listas do tipo FILA é logica onde o primeiro elemento a entrar na lista é o primeiro a sair. Gabarito: O primeiro que entra na fila é o primeiro que sai. 4a Questão (Ref.: 201301743726) Pontos: 0,8 / 0,8 Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para: Para cima e para baixo ou para frente e para trás. Para frente e para trás, apenas. Para frente, apenas. Para cima e para baixo, apenas. Para trás, apenas. 5a Questão (Ref.: 201301676087) Pontos: 0,8 / 0,8 Qual das seguintes estruturas de dados é classificada como heterogênea? Loop Registro Vetor Pilha Fila 6a Questão (Ref.: 201301679424) Pontos: 0,8 / 0,8 Para consultarmos uma estrutura de dados, normalmente, empregamos um tipo de pesquisa de dados. O trecho de programa a seguir refere-se a uma pesquisa por um elemento único (sua primeira ocorrência), em um conjunto de elementos de dados armazenado em uma estrutura de acesso indexado e aleatório. Selecione a opção correspondente ao algoritmo utilizado, no programa, para a referida pesquisa: int busca(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; } pesquisa binária pesquisa de cadeias pesquisa cadeias indexada pesquisa sequencial pesquisa indexada 7a Questão (Ref.: 201301704749) Pontos: 0,0 / 0,8 Considere uma lista simplesmente encadeada não circular de inteiros e o tipo struct no { int dado; struct no *link; }; Faça uma função para inverter a lista e retornar o ponteiro para o início da lista resultante. Protótipo : no *inverter(no *ini); //ini aponta para o início da lista Resposta: no *inverter (no *ini){ int link= *ini; } Gabarito: no *inverter ( no *ini) // ini é um ponteiro para o início da lista { no *a, *b, *c; a = ini; b = NULL; while (a != NULL) { c = b; b = a; a = a->link; b->link = c; } ini = b; return(ini); } /* fim da função */ 8a Questão (Ref.: 201301743727) Pontos: 0,8 / 0,8 Uma fila duplamente terminada, isto é, uma estrutura linear que permite inserir e remover de ambos os extremos é chamada de: Autômato. Árvore. Shift-and. Boyer-Moore. Deque. 9a Questão (Ref.: 201301676103) Pontos: 0,8 / 0,8 O almoxarifado de um órgão pediu ao técnico de informática que elaborasse um sistema de custeio que, para cada saída de material, considerasse o custo do mais recente que houvera dado entrada no almoxarifado. O técnico deve desenvolver um programa para tratar com uma estrutura de dados do tipo? FIFO TABLE RECORD LIFO ARRAY 10a Questão (Ref.: 201301676603) Pontos: 0,8 / 0,8 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 ordenação, marque a alternativa correta. struct nomeRegistro{ int info; struct nomeRegistro* ant; struct nomeRegistro* prox; }; typedef struct nomeRegistro NOMEREGISTRO; Fila Matriz Pilha Lista duplamente encadeada Listaencadeada 11a Questão (Ref.: 201301676467) DESCARTADA Considerando a estrutura de fila circular vista em sala, que define as seguintes operações com uma fila: int enfileirar(int v[], int valor, int *fim) - insere um elemento na fila indicada por v. int desenfileirar(int v[], int *inicio, int fim, float &valor) - remove um elemento da fila indicada por v. Supondo que foram realizadas as seguintes operações numa fila circular (implementada em uma estrutura linear sequencial) de números inteiros de tamanho 5, que inicialmente se encontrava vazia: enfileirar (minhaFila[], 10, fim); enfileirar (minhaFila[], 20, fim); desenfileirar (minhaFila[], inicio, fim, valor); enfileirar (minhaFila[], 30, fim); desenfileirar (minhaFila[], inicio, fim, valor); enfileirar (minhaFila[], 40, fim); enfileirar (minhaFila[], 50, fim); enfileirar (minhaFila[], 60, fim); desenfileirar (minhaFila[], inicio, fim, valor); enfileirar (minhaFila[], 70, fim); Qual a posição, dentro da estrutura linear sequencial (vetor - que representa a fila), que se encontra o último elemento inserido na fila? 4 5 7 1 6 01/07/2016 Estácio http://bquestoes.estacio.br/entrada.asp?p0=5718195&p1=201408074389&p2=2077403&p3=CCT0260&p4=102366&p5=AV&p6=09/06/2016&p10=43942086 1/3 Fechar Avaliação: CCT0260_AV_201408074389 » ESTRUTURA DE DADOS Tipo de Avaliação: AV Aluno: 201408074389 JOERBETH CARVALHO OLIVEIRA Professor: SERGIO DE OLIVEIRA SANTOS Turma: 9006/AA Nota da Prova: 6,0 Nota de Partic.: 0,5 Av. Parcial 0 Data: 09/06/2016 11:30:37 1a Questão (Ref.: 201408786870) Pontos: 0,0 / 1,0 Em relação a estrutura de dados, o que caracteriza uma lista encadeada? Resposta: UMA MELHOR PERFORMANCE NA PESQUISA E INSTRUTURAÇÃO, AS PESQUISAS SÃO FEITAS PARA FRENTE E PARA TRÁS Gabarito: Não ter seus nós, obrigatoriamente, alocados de forma contígua. 2a Questão (Ref.: 201408786867) Pontos: 1,0 / 1,0 Em relação a filas e pilhas dinâmicas, cite uma das vantagens de se implementar estruturas dinamicamente. Resposta: FILAS : SÃO ESTRUTURAS QUE RECUPERAM OS DADOS NA ORDEM DIRETAS QUE ESTES FORAM ARMAZENADOS PILHAS : SÃO ESTRUTURAS QUE RECUPERAM OS DADOS NA ORDEM REVERSA EM QUE ESTES FORAM ARMAZENADOS Gabarito: É o fato destas estruturas ocuparem espaço estritamente necessário. 3a Questão (Ref.: 201408348967) Pontos: 1,0 / 1,0 Na maioria dos sistemas operacionais, os arquivos são organizados hierarquicamente em um esquema de diretórios (pastas) e subdiretórios. Qual a estrutura mais adequada para representar este problema ? fila árvore grafo pilha lista 4a Questão (Ref.: 201408109974) Pontos: 1,0 / 1,0 Em programação podemos utilizar um recurso que modulariza o programa chamado função. As funções precisam ser ativadas para que possam ser executadas. Para isso, é necessário chamar a função pelo seu nome e enviar, quando necessário, os valores respectivos para os parâmetros de entrada. Ao enviar os valores para os parâmetros de entrada, o programa pode fazer uma cópia deste valor ou trabalhar em um endereço enviado. Quando se envia o endereço estamos ativando a função por meio de: 01/07/2016 Estácio http://bquestoes.estacio.br/entrada.asp?p0=5718195&p1=201408074389&p2=2077403&p3=CCT0260&p4=102366&p5=AV&p6=09/06/2016&p10=43942086 2/3 Ponteiros. Passagem por valor. Envio de inteiro. Envio de valor. Registro. 5a Questão (Ref.: 201408781539) Pontos: 1,0 / 1,0 Marque a opção correta, considerando struct Livro { int codigo; float preco; } liv; Livro.codigo = 12345; liv.preco = 30.70; Livro.liv.codigo = 12345; liv>preco = 30.70; Livro>liv.codigo = 12345; 6a Questão (Ref.: 201408109761) Pontos: 0,0 / 1,0 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, o item foi encontrado. Se o item for igual ao item que está na metade do vetor, o item não foi encontrado. Se o item for igual ao item que está na metade do vetor, o item foi encontrado. 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 menor que o item que está na metade do vetor, procure na segunda metade, ou seja, a da direita. 7a Questão (Ref.: 201408673665) Pontos: 0,5 / 0,5 __________________________ é uma lista linear em que a alocação de memória pode ser estática, e que a forma de armazenamento é contígua ou sequencial na memória. Usamos este tipo de lista quando se tem em mente um tamanho prédefinido, ou seja, quando se sabe até onde a lista pode crescer. Lista Não Linear Lista Linear Não Alocada Lista Linear de Alocação de Memória Lista Linear Sequencial Lista Linear Não Sequencial 8a Questão (Ref.: 201408347813) Pontos: 0,5 / 0,5 Na pequena pizzaria de Dom Leopoldo os pedidos são anotados em uma planilha e assim que montam um lote com 5 pizzas, as entregas começam. As pizzas são organizadas no veículo de entrega respeitando a ordem da entrega, ou seja, a 1a. pizza a ser entregue fica na frente de todas e assim, sucessivamente. Dessa forma, a última pizza a ser entregue ficará no final do veículo, após todas as outras pizzas. Qual a estrutura de dados é mais adequada para modelar a organização das pizzas no veículo de entrega ? fila 01/07/2016 Estácio http://bquestoes.estacio.br/entrada.asp?p0=5718195&p1=201408074389&p2=2077403&p3=CCT0260&p4=102366&p5=AV&p6=09/06/2016&p10=43942086 3/3 grafo pilha árvore lista 9a Questão (Ref.: 201408679803) Pontos: 0,5 / 0,5 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. 10a Questão (Ref.: 201408773891) Pontos: 0,5 / 0,5 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; Lista encadeada Fila Matriz Pilha Lista duplamente encadeada SIMULADO ESTRUTURA DE DADOS -1 a ( aula 1 a 5) Desempenho: 5,0 de 8,0 Data: 04/05/2015 22:41:59 (Finalizada) 1a Questão (Ref.: 201102149340) Pontos: 0,0 / 1,0 Considere uma estrutura de dados do tipo vetor. Com respeitoa tal estrutura, é correto que seus componentes são caracteristicamente: Heterogêneos e com acesso FIFO. Heterogêneos e com acesso LIFO. Homogêneos e de acesso aleatório por intermédio de índices. Homogêneos e com acesso indexado-sequencial. Heterogêneos e com acesso indexado-sequencial. Gabarito Comentado. 2a Questão (Ref.: 201102358998) Pontos: 1,0 / 1,0 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. II e V são verdadeiras II E IV são verdadeiras I e V são verdadeiras I , II e IV são verdadeiras III e V são verdadeiras Gabarito Comentado. 3a Questão (Ref.: 201102217018) Pontos: 1,0 / 1,0 Assinale a opção certa. Quando não se escreve o protótipo de uma função ... A chamada da função não poderá ser feita em qualquer hipótese. O programa não funcionará de forma alguma. 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. É preciso definir a função antes do programa principal. Gabarito Comentado. 4a Questão (Ref.: 201102149671) Pontos: 1,0 / 1,0 É correto afirmar sobre o funcionamento da busca sequencial. Os elementos são pesquisados de acordo com o índice. Melhor caso: o elemento está no meio do meu vetor. Os elementos são pesquisados aleatoriamente. Pior caso: o elemento está no último índice do meu vetor. Os elementos são pesquisados de acordo com o índice. Melhor caso: o elemento está no último índice do meu vetor. Os elementos são pesquisados de acordo com o índice. Pior caso: o elemento está no primeiro índice do meu vetor. Os elementos são pesquisados de acordo com o índice. Pior caso: o elemento está no último índice do meu vetor. Gabarito Comentado. 5a Questão (Ref.: 201102199523) Pontos: 0,0 / 1,0 É um método de pesquisa ou busca, cujo algoritmo parte do pressuposto de que o vetor está ordenado e realiza sucessivas divisões do espaço de busca, comparando o elemento buscado (chave) com o elemento no meio do vetor. Se o elemento do meio do vetor for a chave, a busca termina com sucesso. Caso contrário, se o elemento do meio vier antes do elemento buscado, então a busca continua na metade posterior do vetor. E finalmente, se o elemento do meio vier depois da chave, a busca continua na metade anterior do vetor. A descrição apresentada trata-se do método denominado busca ...... por comparação. binária. linear. por contagem. randômica. Gabarito Comentado. 6a Questão (Ref.: 201102141401) Pontos: 1,0 / 1,0 Assinale a alternativa que apresenta duas formas de passagem de parâmetros para uma rotina ou função: Por memória e por disco. Por reforço e por referência. Por valor e por referência Por inferência e por valor. Por teste e por reforço. Gabarito Comentado. 7a Questão (Ref.: 201102388878) Pontos: 1,0 / 1,0 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 ? pilha árvore lista grafo fila Gabarito Comentado. 8a Questão (Ref.: 201102149491) Pontos: 0,0 / 1,0 Podemos dizer que estrutura de dados é: O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo. O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações. 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. A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma solução do problema. Gabarito Comentado. 9a Questão (Ref.: 201102170932) const int TAMMAX = 100; struct TipoLista{ int qtde; // descritor que representa a quantidade de elementos na lista int elemt[TAMMAX]; }; Fundamento no tipo de dado(registro) acima que representa uma implementação de uma lista linear sequencial. Construa um procedimento para adicionar um dado no final da lista. A lista e o dado serão passados por parâmetro. Usar o mecanismo de passagem por referência se for necessário. Sua Resposta: void addFinalLista ( TipoLista &lista, int dado ) { if(lista.qtde == TAMMAX) { cout << "Lista Cheia."; } else{ lista.elemt[lista.qtde] = dado; lista.qtde++; cout << "Dado adicionado com sucesso."; } } Compare com a sua resposta: void addFinalLista ( TipoLista &lista, int dado ){ if(lista.qtde == TAMMAX){cout << "Lista Cheia."; } else{ lista.elemt[lista.qtde] = dado; lista.qtde++; cout << "Dado adicionado com sucesso."; } } 10a Questão (Ref.: 201102180301) Como é a lógica do LIFO? Sua Resposta: O Primeiro que entra na pilha é o ultimo a sair. Assim como o Ultimo que entra é o Primeiro que sai. Last in, First out . Exemplo pilha de alter, onde o ultimo peso colocado será o primeiro a ser retirado. Compare com a sua resposta: O primeiro que entra na pilha é o último que sai. Simulado Estrutura de Dados – 2 (aula 1 a 5) Desempenho: 6,0 de 8,0 Data: 04/05/2015 23:03:35 (Finalizada) 1a Questão (Ref.: 201102354550) Pontos: 1,0 / 1,0 Navegadores para internet armazenam os últimos endereços visitados em uma estrutura de dados. Cada vez que um novo site é visitado, o endereço do site é adicionado na estrutura de endereços. Quando se aciona o retorno ("back"), o navegador permite que o usuário retorne no último site visitado e retira o endereço do site da estrutura de dados. Assinale a estrutura de dados mais adequada para este problema. fila pilha lista árvore grafo Gabarito Comentado. 2a Questão (Ref.: 201102141398) Pontos: 0,0 / 1,0 Diferentes tipos de estrutura de dados são adequadas a diferentes tipos de aplicação e algumas são altamente especializadas, destinando-se a algumas tarefas específicas. Dessa forma a definição de Estrutura de Dados está expressa na alternativa: É um modo de deleção de dados em um computador. São os nomes dados as variáveis na montagem de uma rotina. É um modo de distribuição e organização de dados em uma rede de computador de modo que possam ser usados de modo eficiente. É um modo de utilização de dados nos programas de computador. É um modo particular de armazenamento e organização de dados em um computadorde modo que possam ser usados de modo eficiente. Gabarito Comentado. 3a Questão (Ref.: 201102740767) Pontos: 1,0 / 1,0 Preciso cadastrar todos os interessados em meu novo curso de programação. Qual a estrutura de dados mais adequada para modelar este problema, visto que não há qualquer preocupação com ordem de chegada ou saída de aluno da turma. Fila Lista Pilha Grafo Árvore 4a Questão (Ref.: 201102149329) Pontos: 1,0 / 1,0 O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo = fim)? ordenação inclusão overflow underflow remoção Gabarito Comentado. 5a Questão (Ref.: 201102216963) Pontos: 1,0 / 1,0 A estrutura de dados linear que obedece o seguinte critério: o último elemento inserido será o primeiro elemento a ser retirado (LIFO) é: fila. árvore AVL. árvore binária. pilha. lista circular. Gabarito Comentado. 6a Questão (Ref.: 201102149498) Pontos: 1,0 / 1,0 Estão entre algumas das possíveis formas de se estruturar dados: Grafos, lista ordenada, algoritmos. Grafos, algoritmos, fila. Grafos, lista ordenada, vetores. Algoritmos, lista ordenada, vetores. Lista encadeada, vetores, algoritmos. Gabarito Comentado. 7a Questão (Ref.: 201102763416) Pontos: 0,0 / 1,0 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. Fila Sequencial Lista Sequencial Lista Encadeada Pilha Encadeada Pilha Sequencial 8a Questão (Ref.: 201102149673) Pontos: 1,0 / 1,0 Sobre o funcionamento da busca binária, é incorreto afirmar que dividindo seu vetor em duas metades. Se o item for menor ao item que está na primeira posição do vetor, o item não foi encontrado. Se o item for igual ao 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. Se o item for maior que o item que está na metade do vetor procure na segunda metade, ou seja, a da direita. Se o item for menor que o item que está na metade do vetor, procure na primeira metade, ou seja, a da esquerda. Gabarito Comentado. 9a Questão (Ref.: 201102180302) Como é a lógica do FIFO? Sua Resposta: Primeiro que entra é o primeiro a sair. exemplo fila do banco o primeiro que entra é o primeiro a ser atendido. Compare com a sua resposta: O primeiro que entra na fila é o primeiro que sai. 10a Questão (Ref.: 201102177994) Os agentes Leo e Lia receberam sequências de números de seus contatos. Para saberem qual o próximo passo da missão, precisam descobrir que números se repetem nas sequências recebidas por cada um. Faça uma função que receba dois vetores v e w de inteiros como parâmetros e gere um vetor z, resultante da interseção entre v e w. Protótipo da função : bool intersecao(int v[ ], int w[ ], int z [ ], int nv , int nw , int &n); onde nv: quantidade de elementos em v nw : quantidade de elementos em w n : quantidade de elementos no vetor z Note : Inicialmente n vale zero. Deverá ser retornado true (sucesso na interseção) ou false (fracasso na interseção). Sua Resposta: bool intersecao(int v[], int w[], int inter[], int nv , int nw , int &n) { bool achou = false; for (int i = 0; i < nv; i++) for (int j = 0; j < nw; j++) if (v[i] == w[j]) { inter[n] = v[i]; achou = true; n++; } return achou; } Compare com a sua resposta: bool intersecao(int v[], int w[], int inter[], int nv , int nw , int &n) { bool achou = false; for (int i = 0; i < nv; i++) for (int j = 0; j < nw; j++) if (v[i] == w[j]) { inter[n] = v[i]; achou = true; n++; } return achou; } SIMULADO 3 ( aula 1 a 5) Desempenho: 6,0 de 8,0 Data: 04/05/2015 23:16:54 (Finalizada) 1a Questão (Ref.: 201102354583) Pontos: 0,0 / 1,0 por inserção. bubblesort. uma mistura dos métodos de ordenação por inserção e bubblesort. por seleção. uma mistura dos métodos de ordenação por seleção e por inserção. Gabarito Comentado. 2a Questão (Ref.: 201102352123) Pontos: 1,0 / 1,0 Entre os diversos algoritmos de pesquisa existentes, certamente os mais famosos são os da pesquisa sequencial e o da pesquisa binária. A busca ou pesquisa sequencial pode ser aplicada em vetores independente destes estarem ordenados, entretanto a busca binária só se aplica em vetores ordenados. Seja o vetor A= {10,35,41,55,69,70,98}, suponha que o número 70 foi pesquisado pelo algoritmo da busca sequencial e também pelo algoritmo da busca binária, ambos algoritmos realizam testes nos elementos do vetor até achar o que procuram ou definirem que o elemento não se encontra no vetor. Sendo assim marque a alternativa que expressa o número de testes realizados pela busca sequencial e o número de testes realizados pela busca binária, respectivamente, até encontrarem o 70. 5 e 5 6 e 2 6 e 4 7 e 1 6 e 1 Gabarito Comentado. 3a Questão (Ref.: 201102216977) Pontos: 0,0 / 1,0 Quando as inserções e as remoções ocorrem sempre no mesmo lado da lista, trata-se de uma estrutura de dados denominada. Pilha. Lista encadeada. Lista circular. Fila. Vetor. Gabarito Comentado. 4a Questão (Ref.: 201102149833) Pontos: 1,0 / 1,0 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? Após a operação de remoção incrementa a variável indicadora de posição. Após 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 inicio. Antes 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. Gabarito Comentado. 5a Questão (Ref.: 201102763413) Pontos: 1,0 / 1,0 Entre os diversos algoritmos de pesquisa existentes, certamente os mais famosos são os da pesquisa sequencial e o da pesquisa binária. A busca ou pesquisa sequencial pode ser aplicada em vetores independente destes estarem ordenados, entretanto a busca binária só se aplica em vetores ordenados. Seja o vetor A= {10,35,41,55,69,70,98}, suponha que o número 70 foi pesquisado pelo algoritmo da busca sequencial e também pelo algoritmo da busca binária, ambos algoritmos realizam testes nos elementos do vetor até achar o que procuram ou definiremque o elemento não se encontra no vetor. Sendo assim marque a alternativa que expressa o número de testes realizados pela busca sequencial e o número de testes realizados pela busca binária, respectivamente, até encontrarem o 70. 7 e 1 5 e 5 6 e 1 6 e 2 6 e 4 6a Questão (Ref.: 201102364902) Considere uma lista não ordenada de códigos espiões usados por Sherlock Silva. Ajude-o a encontrar um determinado código c, realizando uma busca de acordo com o seguinte protótipo: int pesquisar(int v[ ], int c, int n); Note : v é o vetor de códigos, c é o código a ser procurado e n é a quantidade de códigos existentes em v. Sua Resposta: bool intersecao(int v[], int c, int &n) { bool achou = false; for (int i = 0; i < v; i++) for (int j = 0; j < v; j++) if (v[i] == n[j]) { inter[n] = v[i]; achou = true; n++; } return achou; } Compare com a sua resposta: 7a Questão (Ref.: 201102149767) Pontos: 1,0 / 1,0 Analise o seguinte trecho de algoritmo de ordenação de dados, cujos elementos estão dispostos em um vetor de nome v com n elementos. ... { 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; } } ... Assinale o método ao qual o trecho de algoritmo pertence. Heapsort Bolha Seleção Inserção Quicksort Gabarito Comentado. 8a Questão (Ref.: 201102149349) Pontos: 1,0 / 1,0 Pilha é uma estrutura de dados Que pode ser implementada somente por meio de vetores. Cujo acesso aos seus elementos ocorre de forma aleatória. Cujo acesso aos seus elementos segue a lógica LIFO. Que pode ser implementada somente por meio de listas. Cujo acesso aos seus elementos segue tanto a lógica LIFO quanto a FIFO. Gabarito Comentado. 9a Questão (Ref.: 201102180302) Como é a lógica do FIFO? Sua Resposta: O primeiro que entra na fila é o primeiro que sai. Compare com a sua resposta: O primeiro que entra na fila é o primeiro que sai. 10a Questão (Ref.: 201102216982) Pontos: 1,0 / 1,0 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. I, III e V. II, IV e V. II, III, IV e V. I, III, IV e V. Gabarito Comentado. SIMULADO 2 a – ( aula 6 a 10) Desempenho: 2,0 de 8,0 Data: 03/06/2015 21:35:48 (Finalizada) 1a Questão (Ref.: 201102719714) Pontos: / 1,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 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. 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 entretanto seus tamanhos só são alterados na codificação de acordo com a demanda. 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 tempo de compilação e terem seus tamanhos alterados de acordo com a demanda. 2a Questão (Ref.: 201102689133) Pontos: / 1,0 Abaixo temos algumas afirmativas sobre o uso da estrutura pilha de forma estática e sequencial. Leia com muita atenção e assinale a opção correta. I Não existe movimentação na pilha quando inserimos ou removemos um elemento. Apenas o valor da variável que controla o topo é alterado. II Não podemos usar estruturas homogêneas, ou heterogêneas e uma variável para controlar o topo na alocação sequencial. III Um dos fatores que limita o crescimento da pilha é a quantidade de memória alocada quando usamos matrizes. IV Quando formos empilhar um elemento, é preciso verificar se a pilha não está cheia. Isso evita underflow. V Quando formos desempilhar um elemento, é preciso verificar se a pilha não está vazia. Isso evita overflow. I, IV e V estão corretas II, IV e V estão corretas I, IV e V estão corretas I e III estão corretas Somente a I está correta Gabarito Comentado. 3a Questão (Ref.: 201102389686) Pontos: 0,0 / 1,0 Um programa desenvolvido para cadastrar grupos de 20 ajudantes especiais para atuarem em cada um dos 12 estádios sede da copa do mundo de futebol no Brasil, utiliza um critério especial para alocação dos grupos de ajudantes nos estádios. Isto é, considerando o estádio sede origem o Maracanã no Rio de Janeiro, os 20 últimos candidatos a se escreverem ficarão no estádio mais distante do Maracanâ, o penúltimo grupo de 20 inscritos, ficarão no segundo estádio mais distante do Maracanã, assim por diante até que, o segundo grupo de candidados inscritos ficarão no estádio sede mais próximo do Maracanâ e os primeiros candidatos escritos serão alocados no Maracanã. Para auxiliar o desenvolvimento deste programa pode-se utilizar: Uma pilha sequencial de 20 posições para fase do cadastramento de todos os candidatos e uma fila sequencial de 20 posições para realizar as alocações de todos os candidatos começando pelos os estádios mais distantes do estádio sede. Uma fila sequencial de 20 posições para fase do cadastramento de todos os candidatos e a mesma estrutura para realizar as alocações começando pelos os estádios mais distantes do estádio sede. Uma pilha sequencial de 20 posições para fase do cadastramento de todos os candidatos e a mesma estrutura para realizar as alocações começando pelos os estádios mais distantes do estádio sede. Uma pilha sequencial de 240 posições para fase do cadastramento de todos os candidatos e a mesma estrutura para realizar as alocações começando pelos os estádios mais distantesdo estádio sede. Uma fila sequencial de 240 posições para fase do cadastramento de todos os candidatos e a mesma estrutura para realizar as alocações começando pelos os estádios mais distantes do estádio sede. Gabarito Comentado. 4a Questão (Ref.: 201102389701) Pontos: 1,0 / 1,0 Considere dados sendo manipulados em uma pilha sequencial em que as operações possíveis são: inserção - push(novo valor) ou remoção - pop(). Se realizarmos a seguinte sequencia de operações: push(A),push(B),push(C),pop(),pop(),push(D),pop(),pop(),pop(). Pode-se dizer que interior da pilha apresenta-se: Vazio Apenas com o dado D Com os dados A e D Com os dados A e B Apenas com o dado A Gabarito Comentado. 5a Questão (Ref.: 201102361973) Pontos: 0,0 / 1,0 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. Pilha Fila Fila Circular Lista Linear Lista simplesmente encadeada Gabarito Comentado. 6a Questão (Ref.: 201102149850) Pontos: 0,0 / 1,0 Sistemas operacionais utilizam filas para gerenciar, tarefas, processos e recursos. Qual é a ordenação dos elementos armazenados aleatoriamente em uma lista do tipo LIFO? Ordem decrescente Ordem crescente Primeiro que entra é o primeiro a sair Posições aleatórias Ordem de entrada Gabarito Comentado. 7a Questão (Ref.: 201102387730) Pontos: 0,0 / 1,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 encadeada e alocação dinâmica de memória pilha dinâmica e alocação dinâmica de memória fila dinâmica e alocação dinâmica de memória lista sequencial e alocação dinâmica de memória lista encadeada e alocação dinâmica de memória Gabarito Comentado. 8a Questão (Ref.: 201102389728) Pontos: 1,0 / 1,0 As variáveis são na verdade trecho de memórias que armazenam dados de diversas naturezas, portanto sempre que declara-se uma variável, na linguagem C++, é necessário informar o tipo de dado que esta irá armazenar. Um tipo especial de variáveis são os ponteiros, isto é, variáveis que armazenam apenas os endereços de outras variáveis. Assim os ponteiros são usados para que se possa acessar de forma indireta uma outra variável. Sabendo-se disto e supondo que o endereço na memória da variável "a" é 100 e o endereço da memória da variável ponteiro é 200, analise o trecho de código abaixo e marque a alternativa que representa a saída do programa: 9 100 200 100 9 200 200 9 100 100 100 200 9 9 200 9a Questão (Ref.: 201102792322) Uma fila é também uma lista linear, mas para esta estrutura as inserções só podem ser efetuadas em um extremo da lista, e todas as retiradas (e geralmente os acessos) são realizados no outro extremo da lista. A partir do struct abaixo, crie uma função em C++ (somente o trecho da função) para remover um elemento inteiro no fim da fila. #define TAM 100 struct tfila{ int F, R; int vetor [TAM]; }; Sua Resposta: tfila* retira (tfila* l, int v) { tfila* ant = NULL; tfila* p = l; Compare com a sua resposta: int remove_fila(struct tfila *pf) { int y; if (pf->F > pf->R) return 0; y=pf->vetor[pf->F]; pf->F++; return y; } 10a Questão (Ref.: 201102792320) Uma fila é também uma lista linear, mas para esta estrutura as inserções só podem ser efetuadas em um extremo da lista, e todas as retiradas (e geralmente os acessos) são realizados no outro extremo da lista. A partir do struct abaixo, crie uma função em C++ (somente o trecho da função) para inserir um elemento inteiro no fim da fila. #define TAM 100 struct tfila{ int F, R; int vetor [TAM]; }; Sua Resposta: tfila* insere (tfila* l, int F) { tfila* novo = (tfila*) malloc(sizeof(tfila)); novo->info = F; novo- >prox = R; return novo; } Compare com a sua resposta: int insere_fila(struct tfila *pf, int elem) { If(pf->R==TAM-1) return 0; pf->R++; pf->vetor[pf->R] = elem; return 1; } SIMULDADO 2 b ( AULA 6 a 10) Desempenho: 5,0 de 8,0 Data: 03/06/2015 21:51:53 (Finalizada) 1a Questão (Ref.: 201102740853) Pontos: 0,0 / 1,0 Considere uma fila simples F de inteiros, do tipo 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) { 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 retirar. " << endl; else { 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 retirar. " << endl; else { 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 retirar. " << 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 retirar. " << endl; else { cout << "Removido o agente " << F.v[F.inicio]; F.inicio++; } } 2a Questão (Ref.: 201102388869) Pontos: 0,0 / 1,0 Tenho uma lista encadeada de processos para ler e despachar, mas obedeço a ordem de chegada, ou seja, o primeiro processo que chega é o primeiro processo a ser atendido por mim. Sabendo que cada processo é do tipo Processo, previamente definido e que a lista é do tipo Lista, assinale a opção que corretamente implementa a retirada de um processo da lista, que pode ter um ou mais processos. Considere p um ponteiro para o primeiro nó da lista e ainda, struct Lista { Processo p; struct Lista *link; }; Lista retirar(Lista *p) { Lista *aux = p; p = p->link; return p; } Lista *retirar(Lista *p) { Lista *aux = p; while (p->link->link !=NULL) p = p->link; p->link = NULL; return p; } Lista *retirar(Lista *p) { Lista *aux = p; p = p->link;delete aux; return p; } Lista *retirar(Lista *p) { delete p; p = p->link; return p; } Lista *retirar(Lista *p) { Lista *aux = p; while (p->link->link !=NULL) p = p->link; delete p->link; p->link = NULL; return p; } Gabarito Comentado. 3a Questão (Ref.: 201102149877) Pontos: 1,0 / 1,0 Na área de estrutura de dados, em determinados casos, é necessário utilizar um tipo de dado onde seu valor serve como referência direta a outro valor alocado em outro espaço de memória. Este tipo de dado se chama: Matriz Vetor Ponteiro Endereço Variável Gabarito Comentado. 4a Questão (Ref.: 201102149311) Pontos: 1,0 / 1,0 Um apontador é uma variável que contém o endereço de outra variável. Apontadores são muito usados, em parte porque são, às vezes, a única forma de se expressar um processo de computação e, em parte, porque, normalmente, implicam um código mais compacto e eficiente que o obtido de outras formas. Considerando o uso de apontadores nas linguagens procedurais atuais, julgue os itens que se seguem com E se for errado e C se for certo. ( ) O uso de apontadores como argumentos de funções que realizem chamada por valor não permite alteração de seus conteúdos de memória na função. ( ) Com apontadores, é possível criar funções que retornem estruturas de dados complexas. ( ) Para recuperar o valor da variável apontada, basta que o apontador seja atribuído a uma variável de mesmo tipo. ( ) Arranjos de apontadores podem ser usados em funções que recebam como argumentos um número variável de cadeias de caracteres. ( ) Em geral, para que um arranjo seja percorrido por um ponteiro, para cada elemento do arranjo deve-se adicionar ao ponteiro o número de bytes que o elemento ocupa em memória. a) E - C - E - C - E e) C - E - C - E - C b) C - C - E - E - E c) E - E - C - C - E d) E - C - E - C - C Gabarito Comentado. 5a Questão (Ref.: 201102763420) Pontos: 1,0 / 1,0 Usa-se um vetor para se implementar uma fila sequencial, entretanto se nesta estrutura ocorrer diversas operações de remoção e inserção podemos afirmar que: Um vetor não pode ser usado na implementação de uma fila sequencial apenas em pilhas sequenciais. Um vetor é uma estrutura base correta para esta implementação, já que está imune a fenômenos como esgotamento de memória. A estrutura fila não sofre esgotamento de memória, isto ocorre com as pilhas já que implementam o algoritmo LIFO. A estrutra sofrerá do fenômeno chamado esgotamento de memória e logo não poderá mais ser utilizada. A solução é o uso da fila circular. A estrutra sofrerá do fenômeno esgotamento de memória, mas se os dados estiverem ordenados isto não afetará a estrutura. 6a Questão (Ref.: 201102149853) Pontos: 0,0 / 1,0 A armazenagem de dados pode ocorrer temporariamente em uma variável, um vetor ou em uma estrutura chamada Struct na linguagem C e C++. Como se procede a atribuição de valor a um determinado campo de uma estrutura do tipo Struct? Nome da estrutura vírgula tipo do campo Nome da estrutura seta nome do campo Nome da estrutura ponto nome do campo Nome da estrutura seta tipo do campo Nome da estrutura ponto tipo do campo Gabarito Comentado. 7a Questão (Ref.: 201102734981) Pontos: 1,0 / 1,0 O que acontece quando se deseja inserir um elemento em uma FILA que já está cheia? Overflow. Underflow. A inserção é feita sem problema. Dequeue. Enqueue. 8a Questão (Ref.: 201102688976) Pontos: 1,0 / 1,0 Analise as afirmativas sobre uma pilha estática e assinale a opção correta. I Ordenar é uma operação que não se faz com pilha. II Inserir dados é uma operação que se faz com a pilha. III Remover dados em qualquer posição é uma operação que se faz com a pilha. IV Verificar se a Pilha está cheia é necessário quando se deseja inserir nela. V Inicializar uma pilha significa zerar todas as variáveis do vetor. II e III estão corretas. I, II e IV estão corretas. I e IV estão corretas. I e II estão corretas. I, II e V estão corretas. Gabarito Comentado. 9a Questão (Ref.: 201102792853) Desenvolva uma função em C++ para construir uma fila Q com valores inteiros positivos, inseridos a partir do teclado. Sua Resposta: #include <stdio.h> #include <stdlib.h> struct Node{ int num; struct Node *prox; }; typedef struct Node node; int tam; int menu(void); void opcao(node *FILA, int op); void inicia(node *FILA); int vazia(node *FILA); node *aloca(); void insere(node *FILA); node *retira(node *FILA); void exibe(node *FILA); void libera(node *FILA); int main(void) { node *FILA = (node *) malloc(sizeof(node)); if(!FILA){ printf("Sem memoria disponivel!\n"); exit(1); }else{ inicia(FILA); int opt; do{ opt=menu(); opcao(FILA,opt); }while(opt); free(FILA); return 0; } } int menu(void) { int opt; printf("Escolha a opcao\n"); printf("0. Sair\n"); printf("1. Zerar fila\n"); printf("2. Exibir fila\n"); printf("3. Adicionar Elemento na Fila\n"); printf("4. Retirar Elemento da Fila\n"); printf("Opcao: "); scanf("%d", &opt); return opt; } void opcao(node *FILA, int op) { node *tmp; switch(op){ case 0: libera(FILA); break; case 1: libera(FILA); inicia(FILA); break; case 2: exibe(FILA); break; case 3: insere(FILA); break; case 4: tmp= retira(FILA); if(tmp != NULL){ printf("Retirado: %3d\n\n", tmp- >num); libera(tmp); } break; default: printf("Comando invalido\n\n"); } } void inicia(node *FILA) { FILA->prox = NULL; tam=0; } int vazia(node *FILA) { if(FILA->prox == NULL) return 1; else return 0; } node *aloca() { node *novo=(node *) malloc(sizeof(node)); if(!novo){ printf("Sem memoria disponivel!\n"); exit(1); }else{ printf("Novo elemento: "); scanf("%d", &novo->num); return novo; } } void insere(node *FILA) { node *novo=aloca(); novo->prox = NULL; if(vazia(FILA)) FILA->prox=novo; else{ node *tmp = FILA->prox; while(tmp->prox != NULL) tmp = tmp->prox; tmp->prox = novo; } tam++; } node *retira(node *FILA) { if(FILA->prox == NULL){ printf("Fila ja esta vazia\n"); return NULL; }else{ node *tmp = FILA->prox; FILA- >prox = tmp->prox; tam--; return tmp; } } void exibe(node *FILA) { if(vazia(FILA)){ printf("Fila vazia!\n\n"); return ; } node *tmp; tmp = FILA->prox; printf("Fila :"); while( tmp != NULL){ printf("%5d", tmp->num); tmp = tmp->prox; } printf("\n "); int count; for(count=0 ; count < tam ; count++) printf(" ^ "); printf("\nOrdem:"); for(count=0 ; count < tam ; count++) printf("%5d", count+1); printf("\n\n"); } void libera(node *FILA) { if(!vazia(FILA)){ node *proxNode, *atual; atual = FILA->prox; while(atual != NULL){ proxNode = atual->prox; free(atual); atual = proxNode; } } } Compare com a sua resposta: PNodo ConstruirFila () { int X; PNodo Q; Q = Criar(); cout<<"Inserir um inteiro positivo (negativo para terminar): \n"; cin>>X; while (X > 0) { Q = Juntar(X, Q); cout<<"Inserir um inteiro positivo (negativo para terminar): \n"; cin>>X; } return Q; } 10a Questão (Ref.: 201102792800) Suponha que o nó tenha como membro um número inteiro fora o ponteiro. Defina uma estrutura (struct) em C++ struct para uma lista com um nó. Sua Resposta: #include <stdio.h>#include <stdlib.h>struct Node{
Compartilhar