Buscar

Av - Subst 2 - Algoritmos e Programação Estruturada 1500 pontos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

 Algoritmos e Programação Estruturada (/alu…
Av - Subst. 2 - Algoritmos e Programação Estruturada
Sua avaliação foi confirmada com sucesso
  
(/notific
×
Informações Adicionais
Período: 15/11/2022 00:00 à 19/11/2022 23:59
Situação: Cadastrado
Pontuação: 1500
Protocolo:
Avaliar Material
1) A  estrutura de dados lista representa um conjunto dinâmico cujos elementos podem ser inseridos e
retirados de qualquer parte da estrutura. Dentre suas principais funções, estão:
inserir(li, pos, item): adiciona o elemento “item” na posição “pos” da lista “li”; 
remover(li, pos): remove e retorna o elemento da posição “pos” da lista “li”; e 
obter(li, pos): retorna (sem remover) o elemento da posição “pos” da lista “li”;
Já a estrutura de dados pilha representa um conjunto dinâmico cujos elementos são inseridos e retirados
de acordo com o seguinte protocolo: o último elemento que entra no conjunto é o primeiro que sai. Suas
principais funções são:
empilhar(p, item): também conhecida como push, essa função é responsável por empilhar um “item” no
topo da pilha “p”; 
desempilhar(p): também conhecida como pop, essa função é responsável por desempilhar o elemento do
topo da pilha “p” e retorná-lo; 
topo(p): retorna o elemento do topo da pilha “p”, sem retirá-lo da mesma;
 
Considerando uma lista "li" e uma pilha "p" inicialmente vazias, analise a sequência de operações a seguir:
empilhar(p, 2) 
empilhar(p, 3) 
inserir(li, 0, 4) 
inserir(li, 0, desempilhar(p)) 
inserir(li, 0, topo(p)) 
empilhar(p, remover(li, 1))
Assinale a alternativa que representa corretamente os estados da lista "li" e da pilha "p", após a execução,
em ordem, das operações apresentadas anteriormente.
https://www.colaboraread.com.br/aluno/timeline/index/3451534101?ofertaDisciplinaId=1859626
https://www.colaboraread.com.br/notificacao/index
javascript:void(0);
a)
b)
c)
d)
e)
2)
Alternativas:
Pilha "p":
3 <- topo
2
 
Lista "li":
Início -> 2, 4
Alternativa assinalada
Pilha "p":
2 <- topo
 
Lista "li":
Início -> 2, 3, 4
Pilha "p":
3 <- topo
2
 
Lista "li":
Início -> 2, 3, 4
Pilha "p":
 
Vazia
 
Lista "li":
Início -> 2, 3, 4
Pilha "p":
Vazia
 
Lista "li":
Início -> 2, 4
A estrutura de dados representa um conjunto dinâmico, cujos elementos são inseridos e retirados de
acordo com o seguinte protocolo: o primeiro elemento que entra no conjunto é o primeiro que sai. Dentre
suas principais funções, estão:
enfileirar(f, item): também conhecida como enqueue, enfileira o elemento “item” no final da fila “f”;
desenfileirar(f): também conhecida como dequeue, desenfileira o elemento do início da fila “f” e o retorna;
inicio(f): retorna o elemento do início da fila “f”, sem retirá-lo na mesma.
a)
b)
c)
d)
Já a estrutura de dados pilha representa um conjunto dinâmico cujos elementos são inseridos e retirados
de acordo com o seguinte protocolo: o último elemento que entra no conjunto é o primeiro que sai. Suas
principais funções são:
empilhar(p, item): também conhecida como push, essa função é responsável por empilhar um “item” no
topo da pilha “p”; 
desempilhar(p): também conhecida como pop, essa função é responsável por desempilhar o elemento do
topo da pilha “p” e retorná-lo; 
topo(p): retorna o elemento do topo da pilha “p”, sem retirá-lo da mesma.
 
Considerando uma fila "f" e uma pilha "p" inicialmente vazias, analise a sequência de operações a seguir:
enfileirar(f, 2) 
enfileirar(f, 3) 
empilhar(p, 4) 
empilhar(p, desenfileirar(f)) 
empilhar(p, inicio(f)) 
enfileirar(f, topo(p))
Assinale a alternativa que representa corretamente os estados da fila "f" e da pilha "p", após a execução, em
ordem, das operações apresentadas anteriormente.
Alternativas:
Fila "f":
Início -> 2, 3, 3 <- Fim 
 
Pilha "p":
3 <- Topo
2
4
Fila "f":
Início -> 2, 3, 3 <- Fim 
 
Pilha "p":
2 <- Topo
4 
Fila "f":
Início -> 3, 3 <- Fim 
 
Pilha "p":
2 <- Topo
4
Fila "f":
Início -> 3, 3 <- Fim 
 
Pilha "p":
Alternativa assinalada
e)
3)
3 <- Topo
2
4
Fila "f":
Início -> 2, 3, 3 <- Fim 
 
Pilha "p":
2 <- Topo
4
A seguir, é apresentado o código da função "pilhaParaLista(p)", a qual recebe uma pilha "p" por
parâmetro e retorna uma lista contendo todos os elementos contidos na pilha "p".
 
struct Lista* pilhaParaLista(struct Pilha* p) {
assert(p != NULL);
struct Pilha* aux = criar();
struct Lista* li = criar();
 
while(vazia(p) == false) {
empilhar(aux, desempilhar(p));
}
 
while(vazia(aux) == false) {
int elemento = desempilhar(aux);
empilhar(p, elemento);
inserir(li, 0, elemento);
}
 
liberar(aux);
return li;
}
Considerando  a pilha "p" a seguir, assinale a alternativa que representa  corretamente o estado da lista
retornado pela função "pilhaParaLista(p)":
 
Pilha "p":
5 <- Topo
4
2
a)
b)
c)
d)
e)
a)
b)
c)
d)
e)
4)
Alternativas:
Início -> [5, 2, 4]
Início -> [5, 4, 2] Alternativa assinalada
Início -> [4, 2, 5]
Início -> [4, 5, 2]
Início -> [2, 4, 5]
Pilha e fila são exemplos de estruturas de dados bastante conhecidas. Em uma pilha, elementos podem
ser inseridos e removidos apenas de uma extremidade da estrutura, conhecida como "topo". No caso da
fila, elementos são  inseridos em uma de suas extremidades (fim) e  removidos da outra (início). A isso,
damos o nome de protocolo da estrutura de dados.
 
Com base no que foi exposto, considere o seguinte problema: um usuário inseriu os números 3, 2, 4 e 5,
nesta ordem, em uma estrutura de dados A, respeitando seu protocolo. Assim, a estrutura de dados A ficou
preenchida da seguinte forma:
 
A: [5, 4, 2, 3]
 
Logo após, ele removeu todos os elementos da estrutura de dados A e os inseriu em uma  estrutura de
dados B, respeitando os protocolos de ambas as estruturas. A estrutura de dados A ficou vazia e a estrutura
de dados B ficou preenchida da seguinte forma:
 
B: [5, 4, 2, 3]
 
Por fim, ele repetiu o processo, removendo os elementos da estrutura B e inserindo-os em uma estrutura
de dados C. Isso vez com que a estrutura de dados  B  ficasse vazia e a estrutura de dados  C  ficasse
preenchida da seguinte forma:
 
C: [3, 2, 4, 5]
Assinale a alternativa que representa corretamente o nome das estruturas de dados A, B e C:
Alternativas:
A. Pilha / B. Fila / C. Pilha Alternativa assinalada
A. Pilha / B. Pilha / C. Fila
A. Fila / B. Pilha / C. Fila
A. Fila / B. Fila / C. Pilha
A. Pilha / B. Fila / C. Fila
a)
b)
c)
d)
e)
5) Pilha e fila são exemplos de estruturas de dados bastante conhecidas. Em uma pilha, elementos podem
ser inseridos e removidos apenas de uma extremidade da estrutura, conhecida como "topo". No caso da
fila, elementos são inseridos em uma de suas extremidades (fim) e removidos da outra (início). A isso,
damos o nome de protocolo da estrutura de dados.
 
Com base no que foi exposto, considere o seguinte problema: um usuário inseriu os números 7, 2, 5 e 3,
nesta ordem, em uma estrutura de dados A, respeitando seu protocolo. Assim, a estrutura de dados A ficou
preenchida da seguinte forma:
 
A: [7, 2, 5, 3]
 
Logo após, ele removeu todos os elementos da estrutura de dados A e os inseriu em uma estrutura de
dados B, respeitando os protocolos de ambas as estruturas. A estrutura de dados A ficou vazia e a estrutura
de dados B ficou preenchida da seguinte forma:
 
B: [3, 5, 2, 7]
 
Por fim, ele repetiu o processo, removendo os elementos da estrutura B e inserindo-os em uma estrutura
de dados C. Isso vez com que a estrutura de dados B ficasse vazia e a estrutura de dados C ficasse
preenchida da seguinte forma:
 
C: [7, 2, 5, 3]
Assinale a alternativa que representa corretamente o nome das estruturas de dados A, B e C:
Alternativas:
A. Fila / B. Fila / C. Pilha
A. Pilha / B. Fila / C. Pilha
A. Fila / B. Pilha / C. Pilha Alternativa assinalada
A. Pilha / B. Pilha / C. Fila
A. Fila / B. Pilha / C. Fila

Continue navegando