Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — CESGRANRIO 2023

ProgramaçãoLinguagens de programação
Código
cg020218
Banca
CESGRANRIO
Órgão
Transpetro
Ano
2023
Nível
Médio
Cargo
Técnico de Informática
Pilhas podem ser implementadas em Python por meio de listas em que o último elemento é o topo da pilha, como no exemplo abaixo:pilha01 = ['a4', 'a3', 'a2', 'a1'] # o elemento 'a1' está# no topo da pilhapilha02 = ['b2', 'b1'] # o elemento 'b1' está no topo da pilhaConsidere uma função Python, chamada unifica, que recebe duas pilhas como parâmetros e retorna uma terceira, que é o resultado da intercalação dos elementos das duas pilhas recebidas como parâmetros. Um programa Python chamou essa função unifica, passando como parâmetros as duas pilhas do exemplo acima (pilha01 e pilha02). O resultado da intercalação foi a pilha['a4', 'a3', 'b2', 'a2', 'b1', 'a1']Qual implementação da função unifica realiza o que foi descrito acima?
  1. Adef unifica(p1, p2):p3 = [ ]while len(p1) > 0:p3.append(p1.pop())while len(p2) > 0:p3.append(p2.pop())return p3
  2. Bdef unifica(p1, p2):p3 = [ ]while len(p1) > 0 and len(p2) > 0 :p3.append(p1.pop())p3.append(p2.pop())return p3
  3. Cdef unifica(p1, p2):p3 = [ ]p4 = [ ]while len(p1) > 0 and len(p2) > 0 :p3.append(p1.pop())p3.append(p2.pop())while len(p3) > 0:p4.append(p3.pop())return p4
  4. Ddef unifica(p1, p2):p3 = [ ]p4 = [ ]while len(p1) > 0 or len(p2) > 0 :if len(p1) != 0:p3.append(p1.pop())if len(p2) != 0:p3.append(p2.pop())while len(p3) > 0:p4.append(p3.pop())return p4
  5. Edef unifica(p1, p2):p3 = [ ]p4 = [ ]while len(p1) != 0:if len(p1) != 0:p3.append(p1.pop())while len(p2) != 0:if len(p2) != 0:p3.append(p2.pop())while len(p3) > 0:p4.append(p3.pop())return p4
Revelar gabarito e comentário

GabaritoD — def unifica(p1, p2): p3 = [ ] p4 = [ ] while len(p1) > 0 or len(p2) > 0 : if len(p1) != 0: p3.append(p1.pop()) if len(p2) != 0: p3.append(p2.pop()) while len(p3) > 0: p4.append(p3.pop()) return p4

Link permanente: /questoes/cg020218