SóProvas


ID
3061450
Banca
IADES
Órgão
BRB
Ano
2019
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

A pilha é uma estrutura de dados que permite a inserção e a remoção desses dados sempre por meio de regras predefinidas. Para que essas operações sejam realizadas, são utilizadas duas funções: push e pop. Com base nessa informação, considere que um programa possua uma pilha p, inicialmente vazia, e que as seguintes operações foram realizadas: PUSH(p, 10); PUSH(p, 5); PUSH(p, 3); PUSH(p, 50); POP(p); PUSH(p, 11); PUSH(p, 9); PUSH(p, 20); POP(p); POP(p).


Ao fim da execução desses comandos, quais serão o topo da pilha e o somatório dos elementos ainda dentro da pilha, respectivamente?

Alternativas
Comentários
  • Pilha é assim: first in, last out. De cima para baixo, push adiciona um elemento e pop remove o elemento do topo(o ultimo elemento ele remove)

    ai é só criar a pilha com os valores e remover na hora certa, depois somar o que sobra e ve qual ficou no topo.

    Valores que sobraram: 11,3,5 e 10. Ultimo a ser inserido: 11 (está no topo) e a soma é 29

  • pilha | operacao ||| |||

    50 | PUSH(p, 50) ||| 4a.oper <-- topo

    3 | PUSH(p, 3) ||| 3a.oper.

    5 | PUSH(p, 5) ||| 2a.oper.

    10 | PUSH(p, 10) ||| 1a.oper <--- de baixo para cima

    _________________________________

    Apos o primeiro POP(p); retira o 50

    pilha

    3

    5

    10

    ___________________________________

    pilha | operacao

    20 | PUSH(p, 20) 8a.oper. <-- topo

    9 | PUSH(p, 9) 7a.oper.

    11 | PUSH(p, 11) 6a.oper. <--- de baixo para cima

    3

    5

    10

    ___________________________________

    Apos o segundo POP(p) retira o 20

    pilha

    9 <-- topo

    11

    3

    5

    10

    ___________________________________

    Apos o terceiro POP(p) retira o 9

    pilha

    11 <-- topo

    3

    5

    10

    ____________________________________

    Qual o topo da pilha? R:11

    Qual o somatório dos elementos ainda dentro da pilha R: 11+3+5+10 = 29

  • Trata-se de uma questão sobre estrutura de dados.

    O comando da questão pergunta quais seriam os elementos do topo e o somatório dos elementos após executar a sequência de comandos propostas.

    Bom, em uma pilha, as únicas operações que podem ser feitas é adicionar um elemento no topo da pilha, e retirar o elemento do topo da pilha (PUSH e POP, respectivamente).

    Vamos agora executar passo a passo as operações propostas no comando da questão para ver como ficará essa pilha ao final.

    Comando: PUSH(p, 10)
    Resultado da pilha :
    10

    Comando: PUSH(p, 5)
    Resultado da pilha:
    5
    10

    Comando: PUSH(p, 3)
    Resultado da pilha:
    3
    5
    10

    Comando: PUSH(p, 50)
    Resultado da pilha:
    50
    3
    5
    10

    Comando: POP(p)
    Resultado da pilha:
    3
    5
    10

    Comando: PUSH(p, 11)
    Resultado da pilha:
    11
    3
    5
    10

    Comando: PUSH(p, 9)
    Resultado da pilha:
    9
    11
    3
    5
    10

    Comando: PUSH(p, 20)
    Resultado da pilha:
    20
    9
    11
    3
    5
    10

    Comando: POP(p)
    Resultado da pilha:
    9
    11
    3
    5
    10

    Comando: POP(p)
    Resultado da pilha:
    11
    3
    5
    10

    Dessa forma, vemos que após aplicar as operações a pilha estará com o elemento 11 no topo, e seus elementos somados totalizam 29.


    Gabarito do Professor: Letra C.
  • Força Guerreiro!!!!!!