Mathesis Concursos Baixar grátis
2023 Cesgranrio Médio · Informática Médio

Transpetro PSP 2023 · med04 — questão 52

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 pilha pilha02 = ['b2', 'b1'] # o elemento 'b1' está no topo da pilha Considere 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. A def unifica(p1, p2): p3 = [ ] while len(p1) > 0: p3.append(p1.pop()) while len(p2) > 0: p3.append(p2.pop()) return p3
  2. B def unifica(p1, p2): p3 = [ ] while len(p1) > 0 and len(p2) > 0 : p3.append(p1.pop()) p3.append(p2.pop()) return p3
  3. C def 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. D 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
  5. E def 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

Gabarito oficial

Alternativa D

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

Por que a resposta é alternativa d?

No app, esta questão vem com a explicação completa: o dispositivo ou o conceito cobrado, por que o gabarito é alternativa d e onde está a pegadinha da Cesgranrio. São 1.934 explicações só em Transpetro, e 9.512 questões nos onze concursos do app.

Disponível noGoogle Play Em breve naApp Store

32 de 40 em Médio · Informática · Transpetro