Prévia do material em texto
13/06/2021 Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados
https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 1/13
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 11 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 13 jun em 22:44
Esta tentativa levou 11 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
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
https://newtonpaiva.instructure.com/courses/11612/quizzes/26282/history?version=1
https://newtonpaiva.instructure.com/courses/11612/quizzes/26282/take?user_id=18065
13/06/2021 Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados
https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 2/13
indica que o elemento é o último em uma lista duplamente encadeada
com vários elementos inseridos?
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 endereços de
memória.
O nodo não tem valor em seu campo-chave.
O ponteiro *anterior do nodo aponta para null enquanto o ponteiro
*próximo aponta para um endereço.
Os ponteiros *anterior e *próximo apontam para null.
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 2
A representação gráfica do nodo a seguir traz em fundo preto o
endereço de alocação em memória para essa estrutura; no primeiro
campo em branco, é mostrado um ponteiro apontando para null o
campo de dados preenchido com o valor 5 e o outro ponteiro
apontando também para null.
13/06/2021 Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados
https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 3/13
Observando o nodo demonstrado acima, é correto o que se afirma em:
Representa o nodo de uma lista dinâmica duplamente encadeada
homogênea.
Representa o nodo de uma lista dinâmica simplesmente encadeada
homogênea.
Representa o nodo de uma lista dinâmica duplamente encadeada
heterogênea.
Representa o nodo de uma lista estática duplamente encadeada.
Representa o nodo de uma lista estática simplesmente encadeada.
A alternativa correta é a A, pois o nodo tem dois ponteiros (lista
duplamente encadeada) e só um campo de dados, o que faz
com que ele seja homogêneo. Não é uma lista estática, pois
esta seria representada por um vetor.
2 / 2 ptsPergunta 3
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:
13/06/2021 Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados
https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 4/13
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.
Função retirar elemento da lista duplamente encadeada não ordenada.
Função inserir elemento no início da lista duplamente encadeada não
ordenada.
Função inserir elemento no início da lista duplamente encadeada
ordenada.
13/06/2021 Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados
https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 5/13
Função inserir elemento no fim da lista duplamente encadeada
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
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.
13/06/2021 Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados
https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 6/13
O nodo está na primeira posição da lista, pois os ponteiros próximo e
anterior dele demonstram isso.
O nodo está na última posição da lista, pois os ponteiros anterior e
próximo dele demonstram isso.
O nodo está inserido na última posição da lista, pois 5 é maior que 4.
O nodo está inserido no meio da lista, pois é visto assim no
alinhamento da imagem.
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 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.
13/06/2021 Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados
https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 7/13
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 FIFO.
Sim, mas teria que ser utilizada sem a estratégia de acesso.
Sim, pois faria o controle da fila de acordo com a estratégia FILO.
Não, pois a disciplina de acesso da pilha não permite que ela funcione
da forma como o programa precisa.
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 estruturade 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, II e III.
13/06/2021 Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados
https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 8/13
I e II, apenas.
II, apenas.
I e III, apenas.
I, apenas.
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
Analise o código a seguir:
int pos;
printf("Digite a posição do elemento que deseja
tirar da Pilha:");
scanf("%i",&pos);
for(int i=pos;i<=topo-1;i++)
{
pilha[i]=pilha[i+1];
}
topo=topo-1;
13/06/2021 Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados
https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 9/13
Existe algum problema neste código se ele for utilizado em uma pilha
estática?
Marque a alternativa que tenha resposta e justificativa corretas:
Sim, há problema, pois a estrutura de repetição não está correta para a
pilha.
Sim, há problema, pois ele não obedece à disciplina de acesso.
Não há problema, pois, ao retirar o elemento, a pilha é rearranjada.
Sim, há problema, porque vetores não podem ser utilizados em pilhas
estáticas.
Não há problema, pois ele utiliza um vetor de nome pilha.
Existem problemas na implementação para uma lista, pois ela
possibilita a retirada de elementos em qualquer lugar da pilha,
mas a regra de acesso obriga que os elementos só sejam
retirados no topo da pilha.
2 / 2 ptsPergunta 8
Analise o código abaixo:
if(final==-1)
{
printf("A fila está vazia!");
}else
{
13/06/2021 Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados
https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 10/13
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?
É a operação para retirar valores da fila, em 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 mostrar a fila de uma fila estática e heterogênea.
É a operação para mostrar a fila de uma fila dinâmica e heterogênea.
É a operação para mostrar a fila de uma fila estática e homogê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.
2 / 2 ptsPergunta 9
13/06/2021 Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados
https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 11/13
A principal característica que diferencia as estruturas de dados com
disciplina de acesso é a estratégia implementada para a inserção e
retirada dos elementos da lista. Outras características, como a ordem
de inserção de novos nodos, são importantes para definir o tipo de lista
ao qual se refere o texto. A seguir, estão listadas algumas
características que se referem a estruturas de dados. Faça a leitura
das afirmativas e, em seguida, responda à questão.
I. O primeiro elemento inserido é o último a ser retirado.
II. O primeiro elemento inserido é o primeiro a ser retirado.
III. Os elementos só podem ser inseridos na ordem certa e podem ser
retirados em qualquer ponto da estrutura.
Assinale a opção que apresenta, respectivamente, as características
apresentadas.
Pilha > fila > lista não ordenada.
Lista ordenada > fila > pilha.
Fila > lista ordenada > pilha.
Fila > pilha > lista ordenada.
Pilha > fila > lista ordenada.
A pilha é uma estrutura do tipo FILO, descrito na característica
I; a fila é uma estrutura do tipo FIFO, característica explicada no
item II; já a lista ordenada tem como característica a inserção
de valores que só é permitida na ordem; já a retirada de
elementos pode ser feita em qualquer ponto, pois ela não tem
disciplina de acesso.
2 / 2 ptsPergunta 10
13/06/2021 Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados
https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 12/13
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
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.
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
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.
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.
13/06/2021 Avaliação Online 2: MAI.TADS.2 - Estrutura de Dados
https://newtonpaiva.instructure.com/courses/11612/quizzes/26282 13/13
Pontuação do teste: 20 de 20