Logo Passei Direto
Buscar

Exercícios de Fixação - Aula 6

Ferramentas de estudo

Questões resolvidas

Quando executado, um programa tem acesso à áreas de memória.
A área de memória que se destina, principalmente, à alocação dos registros de ativação denomina-se:
( ) área de pilha
( ) área de heap
( ) área de código
( ) área de dados
( ) área de registro

Considere que, no trecho do algoritmo acima, representado por seu pseudocódigo, seja fornecido para num, sucessivamente, os valores inteiros 1, 2, 3, 4, 5, 3 e 6.
Nesse caso, ao final da execução do algoritmo, o valor de x será igual a ...
3 e a pilha terá os valores 6, 4 e 1.
3 e a pilha terá os valores 6, 5, 4, 2 e 1.
2 e a pilha terá os valores 6, 4 e 1.
5 e a pilha terá os valores 6, 4 e 1.
5 e a pilha terá os valores 6, 3, 5, 4, 3, 2 e 1.

Considere dados sendo manipulados em uma pilha sequencial em que as operações possíveis são: inserção - push(novo valor) ou remoção - pop(). Se realizarmos a seguinte sequencia de operações: push(A),push(B),push(C),pop(),pop(),push(D),pop(),pop(),pop(). Pode-se dizer que interior da pilha apresenta-se:
Vazio
Com os dados A e D
Com os dados A e B
Apenas com o dado A
Apenas com o dado D

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.
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.
3; 2; 3; 5
2; 2; 3; 5
2; 1; 1; 5
2; 2; 1; 7
1; 2; 1; 7

Ao remover um elemento armazenado em uma pilha é necessário a atualização da variável (Topo) indicadora de posição. Qual das alternativas abaixo está correta?
Após a operação de remoção decrementa a variável indicadora de posição.
Antes da operação de remoção incrementa a variável indicadora de posição.
Após a operação de remoção incrementa a variável indicadora de inicio.
Após a operação de remoção incrementa a variável indicadora de posição.
Antes a operação de remoção decrementa a variável indicadora de posição.

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.
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(pilha != -1) pilha[topo-1];}
void pop(){ if(topo != -1) topo++;}
void pop(){ if(pilha != -1) pilha[topo];}
void pop(){ if(topo != -1) topo--;}
void pop(){ if(topo != -1) pilha[topo-1];}

Assumindo que estamos com uma estrutura de dados do tipo LIFO, as operações abaixo vão resultar em que elementos na mesma: PUSH(2), PUSH(3), PUSH(4), POP(), POP(), PUSH(5), PUSH(7), POP()
2 3 4
2 4 7
2 5
5 7
3 4 5

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Quando executado, um programa tem acesso à áreas de memória.
A área de memória que se destina, principalmente, à alocação dos registros de ativação denomina-se:
( ) área de pilha
( ) área de heap
( ) área de código
( ) área de dados
( ) área de registro

Considere que, no trecho do algoritmo acima, representado por seu pseudocódigo, seja fornecido para num, sucessivamente, os valores inteiros 1, 2, 3, 4, 5, 3 e 6.
Nesse caso, ao final da execução do algoritmo, o valor de x será igual a ...
3 e a pilha terá os valores 6, 4 e 1.
3 e a pilha terá os valores 6, 5, 4, 2 e 1.
2 e a pilha terá os valores 6, 4 e 1.
5 e a pilha terá os valores 6, 4 e 1.
5 e a pilha terá os valores 6, 3, 5, 4, 3, 2 e 1.

Considere dados sendo manipulados em uma pilha sequencial em que as operações possíveis são: inserção - push(novo valor) ou remoção - pop(). Se realizarmos a seguinte sequencia de operações: push(A),push(B),push(C),pop(),pop(),push(D),pop(),pop(),pop(). Pode-se dizer que interior da pilha apresenta-se:
Vazio
Com os dados A e D
Com os dados A e B
Apenas com o dado A
Apenas com o dado D

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.
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.
3; 2; 3; 5
2; 2; 3; 5
2; 1; 1; 5
2; 2; 1; 7
1; 2; 1; 7

Ao remover um elemento armazenado em uma pilha é necessário a atualização da variável (Topo) indicadora de posição. Qual das alternativas abaixo está correta?
Após a operação de remoção decrementa a variável indicadora de posição.
Antes da operação de remoção incrementa a variável indicadora de posição.
Após a operação de remoção incrementa a variável indicadora de inicio.
Após a operação de remoção incrementa a variável indicadora de posição.
Antes a operação de remoção decrementa a variável indicadora de posição.

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.
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(pilha != -1) pilha[topo-1];}
void pop(){ if(topo != -1) topo++;}
void pop(){ if(pilha != -1) pilha[topo];}
void pop(){ if(topo != -1) topo--;}
void pop(){ if(topo != -1) pilha[topo-1];}

Assumindo que estamos com uma estrutura de dados do tipo LIFO, as operações abaixo vão resultar em que elementos na mesma: PUSH(2), PUSH(3), PUSH(4), POP(), POP(), PUSH(5), PUSH(7), POP()
2 3 4
2 4 7
2 5
5 7
3 4 5

Prévia do material em texto

ESTRUTURA DE DADOS 
6a aula 
 
 
Lupa 
 
 
 
Vídeo 
 
PPT 
 
MP3 
 
 
 
Exercício: CCT0753_EX_A6_201801039844_V1 22/05/2019 (Finaliz.) 
Aluno(a): MAIKON CARDOSO LEMOS 2019.1 EAD 
Disciplina: CCT0753 - ESTRUTURA DE DADOS 201801039844 
 
 
 
 
 1a Questão 
 
 
Quando executado, um programa tem acesso à áreas de memória. A área de memória que se destina, 
principalmente, à alocação dos registros de ativação denomina-se: 
 
 
 ( ) área de pilha 
 
( ) área de heap 
 
( ) área de código 
 
( ) área de dados 
 
( ) área de registro 
 
 
Explicação: 
Chamamos área de pilha uma espaço de memória especialmente reservado para organização de uma pilha 
de dados. Esta pilha é usada como memória auxiliar durante a execução de uma aplicação. 
As operações sobre esta área são push (empilha) e pop (desempilha). 
 
 
 
 
 
 2a Questão 
 
 
Algoritmo Pilha 
Inicio 
IniciarPilha(s) 
enquanto (não for o final das entradas) faca 
leia (num) 
se (num != 3) então 
 Empilhar (s, num) 
senão 
 Desempilhar(s) 
 x := ElementoTopo(s) 
fimse 
fimenquanto 
fimalgoritmo 
Considere que, no trecho do algoritmo acima, representado por seu pseudocódigo, seja fornecido 
para num, sucessivamente, os valores inteiros 1, 2, 3, 4, 5, 3 e 6. Nesse caso, ao final da execução do 
algoritmo, o valor de x será igual a ... 
 
 
 
3 e a pilha terá os valores 6, 4 e 1. 
 
3 e a pilha terá os valores 6, 5, 4, 2 e 1. 
 
2 e a pilha terá os valores 6, 4 e 1. 
 5 e a pilha terá os valores 6, 4 e 1. 
 
5 e a pilha terá os valores 6, 3, 5, 4, 3, 2 e 1. 
 
 
Explicação: 
Seguindo o fluxo do algoritmo, serão empilhados 1 e 2. Ao chegar no 3, o valor 2 será desempilhado e 
armazenado em x. 
Continuando o loop, 4 é mepilhado, depois 5 é empilhado e ao chegar novamente em 3, o 5 é deempilhado 
e armazenado em x. Continuando o loop enquanto existe entrada, empilha-se o 6. 
Dessa forma temos que o valor em 5 é 5 e a pilha possui os valors 6, 4 e 1, sendo 6 no topo da pilha. 
Logo, a opção correta é 5 e a pilha terá os valores 6, 4 e 1. 
 
 
 
 
 
 3a Questão 
 
 
Considere dados sendo manipulados em uma pilha sequencial em 
que as operações possíveis são: inserção - push(novo valor) ou 
remoção - pop(). 
Se realizarmos a seguinte sequencia de operações: 
push(A),push(B),push(C),pop(),pop(),push(D),pop(),pop(),pop(). 
Pode-se dizer que interior da pilha apresenta-se: 
 
 
 Apenas com o dado A 
 Vazio 
 Com os dados A e D 
 Com os dados A e B 
 Apenas com o dado D 
 
 
Gabarito 
Coment. 
 
 
 
 
 4a Questão 
 
 
Pilha é uma estrutura de dados 
 
 
 
Cujo acesso aos seus elementos ocorre de forma aleatória. 
 
Que pode ser implementada somente por meio de listas. 
 
Cujo acesso aos seus elementos segue tanto a lógica LIFO quanto a FIFO. 
 
Que pode ser implementada somente por meio de vetores. 
 Cujo acesso aos seus elementos segue a lógica LIFO. 
 
 
Explicação: 
Pilha é uma lista que segue a lógica LIFO para inserções e remoções. Pode ser implementada com vetores 
ou listas encadeadas. 
Fila é uma lista que segue a lógica FIFO. 
 
 
Gabarito 
Coment. 
 
 
 
 
 5a Questão 
 
 
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. 
 
 
 
3; 2; 3; 5 
 
2; 2; 3; 5 
 
2; 1; 1; 5 
 2; 2; 1; 7 
 
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. 
 
 
 
 
 
 6a Questão 
 
 
Ao remover um elemento armazenado em uma pilha é necessário a atualização da variável (Topo) 
indicadora de posição. Qual das alternativas abaixo está correta? 
 
 
 Após a operação de remoção decrementa a variável indicadora de posição. 
 
Antes a operação de remoção decrementa a variável indicadora de posição. 
 
Após a operação de remoção incrementa a variável indicadora de inicio. 
 
Após a operação de remoção incrementa a variável indicadora de posição. 
 
Antes da operação de remoção incrementa a variável indicadora de posição. 
 
 
Gabarito 
Coment. 
 
 
 
 
 7a Questão 
 
 
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 pode-se 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(pilha != -1) pilha[topo-1];} 
 void pop(){ if(topo != -1) topo++;} 
 void pop(){ if(pilha != -1) pilha[topo];} 
 void pop(){ if(topo != -1) topo--;} 
 void pop(){ if(topo != -1) pilha[topo-1];} 
 
 
Gabarito 
Coment. 
 
 
 
 
 8a Questão 
 
 
Assumindo que estamos com uma estrutura de dados do tipo LIFO, as operações abaixo vão resultar em 
que elementos na mesma: PUSH(2), PUSH(3), PUSH(4), POP(), POP(), PUSH(5), PUSH(7), POP() 
 
 
 2 5 
 
5 7 
 
2 4 7 
 
2 3 4 
 
3 4 5 
 
 
Gabarito 
Coment. 
 
 
Gabarito 
Coment. 
 
 
Gabarito 
Coment.

Mais conteúdos dessa disciplina