Baixe o app para aproveitar ainda mais
Prévia do material em texto
10/04/2020 EPS: Alunos simulado.estacio.br/alunos/?user_cod=2278568&matr_integracao=201902230809 1/4 Qual das alternativas a seguir pode definir uma estrutura de pilha? 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, sabendo-se 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. 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: 1. Entrada e saída de dados pelo final. Entrada de dados pelo início e saída pelo final. Entrada de dados pelo final e saída pelo início. Entrada e saída de dados em qualquer local. Entrada e saída de dados pelo início. Gabarito Coment. 2. I , III e V estão corretas I e III estão corretas I e II estão corretas II e V estão corretas I, II e IV estão corretas Gabarito Coment. 3. Os valores removidos serão C e D, nessa ordem Os valores removidos serão A e B, nessa ordem http://simulado.estacio.br/bdq_simulados_exercicio.asp# http://simulado.estacio.br/bdq_simulados_exercicio.asp# http://simulado.estacio.br/bdq_simulados_exercicio.asp# http://simulado.estacio.br/bdq_simulados_exercicio.asp# http://simulado.estacio.br/bdq_simulados_exercicio.asp# http://simulado.estacio.br/bdq_simulados_exercicio.asp# http://simulado.estacio.br/bdq_simulados_exercicio.asp# 10/04/2020 EPS: Alunos simulado.estacio.br/alunos/?user_cod=2278568&matr_integracao=201902230809 2/4 A estrutura de dados Pilha funciona de acordo com o seguinte fundamento básico: A estrutura de dados linear que obedece o seguinte critério: o último elemento inserido será o primeiro elemento a ser retirado (LIFO) é: Os valores removidos serão D e C, nessa ordem Nenhuma das alternativas anteriores A resposta depende da chave de busca, pois a remoção depende da chave fornecida 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. 4. O primeiro a entrar é o primeiro a sair. O último a entrar é o último a sair. Tanto o primeiro como o último podem sair primeiro. Quem estra no topo da pilha não sai mais. O primeiro a entrar é o último a sair. Gabarito Coment. 5. Lista circular Pilha Árvore binária Fila Árvore AVL Explicação: Por definição, a estrutura de dados pilha segue a lógica LIFO (Last In First Out), em que o último a entrar será o primeiro a sair. Portanto, a opção correta é pilha. Fila : Lista linear em que segue-se a lógica FIFO (First In First Out) para inserções e remoções. Árvore binária : pode ser ordenada ou não. Se não for, insere-se em qualquer posição e o mesmo para remoção. http://simulado.estacio.br/bdq_simulados_exercicio.asp# http://simulado.estacio.br/bdq_simulados_exercicio.asp# http://simulado.estacio.br/bdq_simulados_exercicio.asp# http://simulado.estacio.br/bdq_simulados_exercicio.asp# 10/04/2020 EPS: Alunos simulado.estacio.br/alunos/?user_cod=2278568&matr_integracao=201902230809 3/4 Considere que existe uma rotina para inserir um valor inteiro em uma pilha de inteiros com o protótipo abaixo: int push (int pilha[], int valor, int &topo); //retorno: 1=empilhou; 0=não empilhou Considere que existe uma função que remove um valor de uma pilha, que possui o protótipo abaixo: int pop (int pilha[], int &valor, int &topo);//retorno: 1=desempilhou; 0=não desempilhou Considere ainda a execução do seguinte trecho do programa principal: int primeira[5], topoP=-1, segunda[5], topoS=-1, numero; push (primeira, 3, topoP); push (primeira, 5, topoP); pop (primeira, numero, topoP); push (segunda, numero, topoS); push (segunda, 7, topoS); push (primeira, 1, topoP); Ao final da execução do techo de código acima, responda, nesta ordem, quantos valores haverá na pilha primeira, quantos valores haverá na pilha segunda, qual é o valor no topo da pilha primeira e qual é o valor no topo da pilha segunda. 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. Árvore AVL : Insere-se e retira-se de forma ordenada Lista circular : Pode-se inserir ou remover de qualquer nó da lista. 6. 2; 2; 1; 7 2; 2; 3; 5 3; 2; 3; 5 2; 1; 1; 5 1; 2; 1; 7 Explicação: Empilhamos o valor 3, depois o valor 5 em primeira, ficando o valor 5 no topo da pilha. Ao desempilhar de primeira, numero recebeu 5 e 3 ficou no topo da pilha. Então, seguimos para empilhar em segunda o valor 5 e depois, o valor 7. Logo, 7 ficou no topo da pilha. Ao final, mais um empilhamento em primeira com o valor 2, ficando 2 no topo da pilha. Portanto, existem 2 valores em primeira, 2 valores em segunda, sendo que no topo de primeira existe o valor 1 e no topo de segunda existe o valor 7. 7. pilha http://simulado.estacio.br/bdq_simulados_exercicio.asp# http://simulado.estacio.br/bdq_simulados_exercicio.asp# 10/04/2020 EPS: Alunos simulado.estacio.br/alunos/?user_cod=2278568&matr_integracao=201902230809 4/4 As estruturas de dados devem ser especificadas de modo que estas auxiliem as aplicações em sua principal tarefa ou funcionalidade. Sendo assim, pode- 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 poder-se-ia dizer que a estrutura de dados mais propícia para tal tarefa é : árvore fila grafo lista Gabarito Coment. 8. Grafo Lista Pilha Fila Árvore http://simulado.estacio.br/bdq_simulados_exercicio.asp# http://simulado.estacio.br/bdq_simulados_exercicio.asp# http://simulado.estacio.br/bdq_simulados_exercicio.asp#
Compartilhar