Simulado Conselho Nacional do Ministério Público - CNMP | Analista do CNMP - Desenvolvimento de Sistemas | 2019 pre-edital | Questão 285

Linguagens de implementação de regras de negócio / Orientada a objeto / Ruby


Considere os trechos de código abaixo.




Trecho 1: Ruby


def compor proc1, proc2
Proc.new do |x|
proc2.call(proc1.call(x))
end
end

quadrado = Proc.new do |x|
x * x
end

dobre = Proc.new do |x|
x + x
end

dobroeQuad = compor dobre, quadrado
quadeDobro = compor quadrado, dobre

puts dobroeQuad.call(5)
puts quadeDobro.call(5)


Trecho 2: Phyton

class Candidata:
nome = ""
partido = ""
def descricao(self):
descstr = "%s é uma candidata do partido %s." % (self.nome, self.partido)
return descstr

cand1 = Candidata()
cand1.nome = "Maria"

cand2.partido = "XYP"
cand2 = Candidata()
cand2.nome = "Joana"

cand1.partido = "PXY"

# test code
print(cand1.descricao())

Em condições ideais, ao serem executados os trechos 1 e 2, as saídas são, correta e respectivamente:

Voltar à pagina de tópicos Próxima

Fonte: ANALISTA JUDICIáRIO - ANáLISE DE SISTEMAS / TRE/PR / 2017 / FCC