SóProvas


ID
1458283
Banca
CESGRANRIO
Órgão
PETROQUÍMICA SUAPE
Ano
2012
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Considere um módulo que implementa um tipo abstrato de dados (TAD) que representa uma pilha capaz de armazenar números inteiros. Nesse módulo, as operações push e pop são definidas e permitem a adição e a remoção de elementos, respectivamente. Considere, também, que pX, pY e pZ são instâncias do TAD definido, que as pilhas pY e pZ estão inicialmente vazias e que em pX estão armazenados apenas os números 1, 2, 3 e 5, inseridos nesta ordem. Sendo assim, os somatórios dos elementos em pX, pY e pZ são, respectivamente, 11, 0 e 0.

Nesse contexto, considere a execução das instruções a seguir

push(pY, pop(pX));
push(pZ, pop(pX));
push(pY, pop(pX));
push(pZ, pop(pX));
push(pX, pop(pY));
push(pZ, pop(pY));
push(pZ, pop(pX));

Após a execução das instruções acima, quais os somatórios dos elementos em cada uma das pilhas pX e pZ, respectivamente?

Alternativas
Comentários
  • Push: Insere os dados na fila

    Pop: Retira os dados da fila

    O problema informa que a fila denominada pX teve insercao de dados, na ordem: 1, 2, 3 e 5. Em outras palavras, o "1" foi o primeiro a ser inserido e o "5" ou último a ser inserido. O método de insercao/retirada é o LILO (Last in, First out - o último a entrar, deve ser o primeiro a sair), ou seja, se tivermos que retirar os números de pX, tiraríamos primeiramente o algarismo 5, depois o 3, depois o 2 e, por último o algarismo 1 (que foi o primeiro a entrar)

    ---------------------------------------

    Na primeira execucao de instrucao, que é push(pY,pop(pX));, estamos retirando um elemento de pX e acrescentando em pY. Sendo assim, o algarismo 5 (que foi o último a ser inserido na fila pX) é o primeiro a sair de pX e o primeiro a ser inserido em pY.

    pX fica com (1,2,3) e pY fica com (5)

    ---------------------------------------

    Na segunda operacao:

    pX fica com (1,2) e pZ fica com (3)

    ---------------------------------------

    Na terceira operacao:

    pX fica com (1) e pY fica com (5,2)

    ---------------------------------------

    Na quarta operacao:

    pX fica com () e pZ fica com (3,1)

    ---------------------------------------

    Na quinta operacao:

    pX fica com (2) e pY fica com (5)

    ---------------------------------------

    Na sexta operacao:

    pY fica com () e pZ fica com (3,1,5)

    ---------------------------------------

    Na sétima e última operacao:

    pX fica com () e pZ fica com (3,1,5,2), ou seja, pZ, no final, fica com tudo e as outras filas ficam sem nada.

    ALTERNATIVA C) pX=0 e pZ=11 (que é o somatório de 3+1+5+2)

  • Força Guerreiro!!!!!!