Baixe o app para aproveitar ainda mais
Prévia do material em texto
14/06/2021 10:27Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados Página 1 de 15https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 Avaliação Online 2 Entrega 14 jun em 23:59 Pontos 20 Perguntas 10 Disponível 8 jun em 0:00 - 14 jun em 23:59 7 dias Limite de tempo 120 Minutos Tentativas permitidas 2 Instruções Histórico de tentativas Tentativa Tempo Pontuação MAIS RECENTE Tentativa 1 27 minutos 20 de 20 ! As respostas corretas estarão disponíveis em 15 jun em 0:00. Pontuação desta tentativa: 20 de 20 Enviado 14 jun em 10:12 Esta tentativa levou 27 minutos. Leia com atenção as orientações abaixo antes de iniciar esta prova: Serão permitidas duas tentativas para realizar esta avaliação, prevalecendo a maior nota. Programe-se para realizar suas avaliações com tranquilidade, pois você terá 120 minutos cronometrados (por tentativa) para conclusão e envio das respostas. Ao iniciar a avaliação o cronômetro não para, independentemente da plataforma estar aberta ou não; Durante a realização da prova: Será exibido uma questão por vez, podendo “Avançar” ou “Voltar” quando necessário dentro do período da tentativa; A tentativa somente será contabilizada após clicar no botão “Enviar”. Fazer o teste novamente 2 / 2 ptsPergunta 1 https://newtonpaiva.instructure.com/courses/11612/quizzes/26282/history?version=1 https://newtonpaiva.instructure.com/courses/11612/quizzes/26282/take?user_id=18636 14/06/2021 10:27Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados Página 2 de 15https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 O encadeamento consiste na ligação entre os elementos da lista por meio dos endereços envolvidos. No encadeamento, é possível identificar a localização do nodo em relação aos demais. Considerando a explicação anterior, temos a representação e explicação a seguir. Avalie com atenção o que é mostrado e, na sequência, responda à questão proposta: A primeira imagem é a representação de uma lista encadeada não ordenada; a segunda imagem é um novo nodo inserido na lista. Marque a opção que responda onde está inserido esse novo nodo e por que ele está inserido nessa posição. O nodo está na primeira posição da lista, pois os ponteiros próximo e anterior dele demonstram isso. O nodo está inserido no meio da lista, pois é visto assim no alinhamento da imagem. O nodo está na última posição da lista, pois os ponteiros anterior e próximo dele demonstram isso. 14/06/2021 10:27Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados Página 3 de 15https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 O nodo está inserido na última posição da lista, pois 5 é maior que 4. Não é possível definir onde está o nodo na lista. O ponteiro próximo do novo nodo aponta para o endereço do primeiro elemento da lista; já o ponteiro anterior aponta para null, demonstrando que ele está na primeira posição. 2 / 2 ptsPergunta 2 O preenchimento dos campos do nodo de uma lista diz muito sobre sua posição, considerando que o elo entre os elementos é feito pelos ponteiros e que o nodo armazenado deve ter um valor em seu campo-chave (campo de dados). Qual das afirmativas mostradas a seguir indica que o elemento é o último em uma lista duplamente encadeada com vários elementos inseridos? O nodo não tem valor em seu campo-chave. O ponteiro *anterior do nodo aponta para um endereço, enquanto o ponteiro *próximo aponta para null. Os ponteiros *anterior e *próximo apontam para null. O ponteiro *anterior do nodo aponta para null enquanto o ponteiro *próximo aponta para um endereço. 14/06/2021 10:27Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados Página 4 de 15https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 Os ponteiros *anterior e *próximo apontam para endereços de memória. A alternativa C é a correta, pois, no último nodo de uma lista que tenha outros elementos, o ponteiro próximo aponta para null. 2 / 2 ptsPergunta 3 14/06/2021 10:27Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados Página 5 de 15https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 As funções para manipulação e navegação em uma lista possuem características específicas que possibilitam a distinção entre elas e mesmo a identificação de características da lista. Avalie o código abaixo e responda a questão a seguir: nodo *novo=new nodo(); novo->num=val; if(inicio==NULL) { inicio=novo; fim=novo; novo->proximo=NULL; novo->anterior=NULL; }else { novo->proximo=inicio; inicio->anterior=novo; novo->anterior=NULL; inicio=novo; } O código é a lógica completa de uma das funções de uma lista. Marque abaixo qual função é e de qual tipo de lista. 14/06/2021 10:27Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados Página 6 de 15https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 Função retirar elemento da lista duplamente encadeada não ordenada. Função inserir elemento no início da lista duplamente encadeada ordenada. Função inserir elemento no fim da lista duplamente encadeada ordenada. Função inserir elemento no início da lista duplamente encadeada não ordenada. Função retirar elemento da lista duplamente encadeada ordenada. O código é de inserção, pois cria o novo nodo e insere o valor. A inserção é feita no início devido à movimentação dos ponteiros. Como a inserção não é feita na ordem, trata-se de uma lista não ordenada. 2 / 2 ptsPergunta 4 14/06/2021 10:27Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados Página 7 de 15https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 Listas são estruturas que armazenam vários valores, podendo ser limitado o número de valores ou não limitado. Os valores também podem ser de um ou de vários tipos, enquanto a navegação entre os elementos pode ser só em um sentido ou nos dois sentidos. A inserção de nodos pode ser feita em ordem ou fora de ordem. Essas características que identificam o tipo de lista que se está utilizando. As afirmativas a seguir apresentam algumas características de listas com suas explicações. Avalie o que é exposto e responda à questão a seguir: I – Uma lista duplamente encadeada ordenada pode ser acessada nos dois sentidos. II – A lista que tem mais de um tipo em cada nodo é considerada heterogênea. III – Uma lista simplesmente encadeada pode ser homogênea ou heterogênea. É correto o que se afirma em: I e II, apenas. I, apenas. I, II e III. II, apenas. II e III, apenas. 14/06/2021 10:27Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados Página 8 de 15https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 Todas estão corretas. A característica principal da lista duplamente encadeada é o fato de poder ser acessada nos dois sentidos. Qualquer estrutura de dados que tenha mais de um tipo de dados diferente é heterogênea, e as listas simplesmente encadeadas também podem ser homogêneas ou heterogêneas. 2 / 2 ptsPergunta 5 Uma empresa de atendimento ao cliente deseja criar um software para o controle da fila de espera. O software deve ser capaz de receber novas pessoas que chegam para serem atendidas e de controlar quem chegou antes e que, por isso, devem ser atendidas primeiro. Considerando o problema a ser resolvido pelo programa, a pilha seria uma estrutura de dados ideal para resolvê-lo? Marque a alternativa que apresenta a resposta correta. Sim, pois faria o controle da fila de acordo com a estratégia FIFO. Sim, mas teria que ser utilizada sem a estratégia de acesso. Não, pois a disciplina de acesso da pilha não permite que ela funcione da forma como o programa precisa. 14/06/2021 10:27AvaliaçãoOnline 2: MAI.TADS.2 - Estrutura de Dados Página 9 de 15https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 Não, pois, embora a pilha funcione da maneira correta para controlar a fila por ordem de chegada, ela não deve ser utilizada para isso. Sim, pois faria o controle da fila de acordo com a estratégia FILO. Na pilha, a regra de acesso FILO deve ser respeitada, ou seja, o último que chegou deve ser o primeiro a sair, ao contrário de uma fila onde o primeiro a chegar deve ser o primeiro a ser atendido. 2 / 2 ptsPergunta 6 Em uma pilha, as características de acesso aos dados são fundamentais para sua caracterização como uma estrutura de dados com disciplina de acesso. Com base na informação apresentada, avalie as afirmações a seguir a respeito das características relativas às pilhas. I. Em uma pilha, o único elemento que pode ser retirado é o que está no topo. II. As pilhas implementam a estratégia de acesso FILO. III. Qualquer vetor é uma pilha. É correto o que se afirma em: I e II, apenas. I e III, apenas. 14/06/2021 10:27Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados Página 10 de 15https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 II, apenas. I, apenas. I, II e III. A alternativa E está correta, pois a pilha utiliza a estratégia FILO (first in last out), onde o primeiro a entrar é o último a sair, e o primeiro que sai é o último que entrou (o que está no topo) – isso torna as alternativas I e II corretas. A III é falsa, pois o vetor só é considerado uma pilha quando implementa a disciplina de acesso FILO. 2 / 2 ptsPergunta 7 Uma pilha se comporta como uma lista com disciplina de acesso. Com base na informação apresentada acerca das pilhas, avalie as afirmações a seguir. I. Listas e pilhas se diferenciam pela forma de inserção e retirada de elementos. II. O algoritmo de inserção para uma lista ordenada pode ser utilizado em uma pilha. III. Uma pilha não pode ser utilizada como estrutura heterogênea. É correto o que se afirma em: I, II e III. II, apenas. 14/06/2021 10:27Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados Página 11 de 15https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 I e III, apenas. I, apenas. II e III, apenas. A alternativa correta é a A, pois somente a afirmativa I está correta. A II está errada, pois o algoritmo que faz a inserção em ordem para a lista ordenada não obedece à disciplina de acesso da pilha. A III está errada, pois a pilha pode ser tanto homogênea quanto heterogênea. 2 / 2 ptsPergunta 8 Analise abaixo a parte de uma operação possível em uma fila. fila *novo=new fila(); novo->num=valor; novo->proximo=NULL; Considerando a análise, qual operação é o trecho e o que está sendo feito respectivamente? Inserção de um valor na fila. O trecho mostra a inserção do nodo no início da fila, como manda a regra de acesso 14/06/2021 10:27Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados Página 12 de 15https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 Retirada de um valor da fila. O trecho mostra a criação do novo nodo, retirada do valor do nodo e apontamento do ponteiro. Retirada de um valor da fila. O trecho mostra a retirada do nodo no início da fila, como manda a regra de acesso. Inserção de um valor na fila. O trecho mostra a inserção do nodo no final da fila, como manda a regra de acesso. Inserção de um valor na fila. O trecho mostra a criação do novo nodo, inserção do valor no nodo e apontamento do ponteiro para null. O código faz parte da função de inserção na fila (enfileiramento) e representa a primeira parte do código, da qual fazem parte a criação do nodo, inserção do valor e apontamento do ponteiro. Para entender melhor, consulte a apostila na implementação de fila dinâmica. 2 / 2 ptsPergunta 9 14/06/2021 10:27Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados Página 13 de 15https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 Analise o esquema abaixo: Considerando que em cada linha é feito um passo da operação, ordenado de cima para baixo, e que o valor em vermelho é o fim da fila, qual tipo de lista está sendo utilizado no esquema e qual operação está sendo realizada? Fila estática – operação de enfileirar. Fila estática – operação de desenfileirar. Fila dinâmica – operação de desenfileirar. 14/06/2021 10:27Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados Página 14 de 15https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 Fila dinâmica – operação de enfileirar. Fila dinâmica – operação de esvaziar fila. A fila é estática, pois é representada por um vetor, e o processo é de enfileiramento, pois os valores estão sendo inseridos no fim da fila. 2 / 2 ptsPergunta 10 Analise o código abaixo: if(final==-1) { printf("A fila está vazia!"); }else { for(int i=comeco;i<=final;i++) { printf(" %i |",fila[i]); } } Considerando que o código se trata de todos os dados (campos) de uma fila, qual operação é realizada e qual tipo de fila está sendo implementado? 14/06/2021 10:27Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados Página 15 de 15https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 É a operação para mostrar a fila de uma fila estática e heterogênea. É a operação para esvaziar a fila, em uma fila estática e homogênea. É a operação para retirar valores da fila, em uma fila estática e heterogênea. É a operação para mostrar a fila de uma fila estática e homogênea. É a operação para mostrar a fila de uma fila dinâmica e heterogênea. A operação é de mostrar a fila, pois a única coisa feita é a impressão de valores. A fila é estática, pois utiliza vetor, e homogênea, porque o enunciado disse que estão sendo tratados todos os dados da fila, sendo utilizada apenas a informação de um tipo. Pontuação do teste: 20 de 20
Compartilhar