Baixe o app para aproveitar ainda mais
Prévia do material em texto
18/06/2015 BDQ Prova data:text/html;charset=utf8,%3Cform%20name%3D%22form%22%20method%3D%22post%22%20action%3D%22http%3A%2F%2Fsimulado.estacio.br… 1/4 ESTRUTURA DE DADOS Lupa Fechar Exercício: CCT0260_EX_A6_ Matrícula: Aluno(a): Data: 18/06/2015 20:22:54 (Finalizada) 1a Questão (Ref.: 201407926888) Fórum de Dúvidas (0) Saiba (0) Observe a função que manipula uma pilha e assuma que TAM é uma constante definida com valor 5. Saiba que o nome da função já explícita a finalidade dela. Considere a chamada da função conforme linha abaixo, sabendose que vet é um vetor de tamanho 5 e que não tem nenhum valor ainda: Analise as afirmativas abaixo que sugerem correções, ou não, na definição na função e assinale a opção que contem as afirmativas corretas. I Faltou & antes da variável vetor e irá acusar erro. II A variável topo está sem tipo. III O teste está correto porque o índice do primeiro elemento do vetor em C++ é 1, obrigatoriamente. IV Na linha comentada deveria estar presente um comando de atribuição que decrementaria a variável topo. V A linha vetor[topo]=valor; está correta. I, II e IV estão corretas I e II estão corretas I , III e V estão corretas I e III estão corretas II e V estão corretas Gabarito Comentado 2a Questão (Ref.: 201407627531) Fórum de Dúvidas (0) Saiba (0) As estruturas de dados devem ser especificadas de modo que estas auxiliem as aplicações em sua principal tarefa ou funcionalidade. Sendo assim, pode 18/06/2015 BDQ Prova data:text/html;charset=utf8,%3Cform%20name%3D%22form%22%20method%3D%22post%22%20action%3D%22http%3A%2F%2Fsimulado.estacio.br… 2/4 se desenvolver uma aplicação capaz de fazer a conversão de números da base 10, para a base binária, octal ou hexadecimal a partir de um algoritmo de divisões sucessivas. Este algoritmo baseia na divisão de um número decimal pela base que se deseja a transformação, armazenando o resto da divisão em uma estrutura de dados, efetuando nova divisão no resultado obtido da divisão prévia, novamente armazenando o resto desta operação na estrutura de dados e assim por diante até que o resultado da divisão seja zero. Neste momento, a estrutura possui exatamente, na ordem reversa, os algarismos correspondentes ao número convertido para a nova base. Analisando esta estratégia poderseia dizer que a estrutura de dados mais propícia para tal tarefa é : Grafo Pilha Fila Lista Árvore Gabarito Comentado 3a Questão (Ref.: 201407609270) Fórum de Dúvidas (0) Saiba (0) Um programador recebeu a tarefa de construir um programa que receba uma cadeia de caracteres e verifique se esta cadeia de caracteres é um PALÍNDROME, sabendose que um PALÍNDROME apresenta a mesma sequência de caracteres da esquerda pra direita, quanto da direita para esquerda, marque a opção que possui a estrutura de dados mais adequada a este programa. Lista Sequencial Grafos Pilha Sequencial Árvores Fila Sequencial Gabarito Comentado 4a Questão (Ref.: 201407926954) Fórum de Dúvidas (0) Saiba (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. 18/06/2015 BDQ Prova data:text/html;charset=utf8,%3Cform%20name%3D%22form%22%20method%3D%22post%22%20action%3D%22http%3A%2F%2Fsimulado.estacio.br… 3/4 I, IV e V estão corretas I e III estão corretas II, IV e V estão corretas Somente a I está correta I, IV e V estão corretas Gabarito Comentado 5a Questão (Ref.: 201407627534) Fórum de Dúvidas (0) Saiba (0) Pilhas são estruturas de dados que se utilizam do algoritmo LIFO, last in first out, ou melhor, o último a entrar é o primeiro a sair. Desta forma podese abstrair que existe apenas um local para a saída e a entrada de dados, ou seja o topo da pilha. Supondo que uma pilha seja implementada por um vetor de inteiros de tamanho 10 e que exista uma variável global chamada topo para indexar esta posição de entrada e saída de dados e ainda quando esta variável assume o valor 1 indica que a pilha está vazia. Marque a opção que melhor ilustra a função de exclusão de um dado do vetor pilha, supondo ainda que o vetor tenha sido declarado inicialmente de forma global. void pop(){ if(topo != 1) topo;} void pop(){ if(pilha != 1) pilha[topo1];} void pop(){ if(topo != 1) pilha[topo1];} void pop(){ if(pilha != 1) pilha[topo];} void pop(){ if(topo != 1) topo++;} Gabarito Comentado 6a Questão (Ref.: 201407592453) Fórum de Dúvidas (0) Saiba (0) Considere uma pilha sequencial P com capacidade para n elementos. Sabendo que P é do tipo Pilha definido a seguir, marque a opção que corretamente implementa a operação de empilhamento, considerando que o topo da pilha recebeu 1 na inicialização. struct Pilha { int v[n], topo; }; void empilhar(Pilha P, int valor) { if (P.topo == n 1) cout << "Pilha cheia."; else { P.topo++; 18/06/2015 BDQ Prova data:text/html;charset=utf8,%3Cform%20name%3D%22form%22%20method%3D%22post%22%20action%3D%22http%3A%2F%2Fsimulado.estacio.br… 4/4 P.v[P.topo] = valor; } } void empilhar(Pilha P, int valor) { if (P.topo == n) cout << "Pilha cheia."; else { P.topo++; P.v[P.topo] = valor; } } void empilhar(Pilha &P, int valor) { if (P.topo == n 1) cout << "Pilha cheia."; else { P.topo++; P.v[P.topo] = valor; } } void empilhar(Pilha &P, int valor) { if (P.topo == n 1) cout << "Pilha cheia."; else P.v[P.topo] = valor; } void empilhar(Pilha &P, int valor) { if (topo == n 1) cout << "Pilha cheia."; else { topo++; v[topo] = valor; } } Gabarito Comentado Fechar
Compartilhar