Pular para o conteúdo principal

Questão de Programação — Python — FGV 2023

ProgramaçãoPython
Código
fg060732
Banca
FGV
Órgão
CGE-SC
Ano
2023
Nível
Superior
Cargo
Auditor do Estado - Ciências da Computação - Tarde (Conhecimentos Específicos)
Analise o código em Python a seguir.def foo(x):return x + 1def bar(x):return foo(x) * 2print(bar(2))O resultado exibido será
  1. A5
  2. B6
  3. C8
  4. D9
  5. E10
Revelar gabarito e comentário

GabaritoB — 6

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Análise de código Python: chamada de funções

Gabarito: letra B. A execução do código resulta em 6. A função foo(x) retorna x+1, e bar(x) retorna foo(x)*2. Ao chamar bar(2), temos foo(2)=3, e 3*2=6.

O código é simples: define-se foo que incrementa o argumento em 1, e bar que dobra o retorno de foo. Portanto, bar(2) = (2+1)*2 = 6.

Alternativa A — ❌ Incorreta

O valor 5 seria obtido se a função bar ignorasse a chamada a foo e simplesmente retornasse x*2+1, o que não ocorre.

Alternativa B — ✅ Correta ⟵ GABARITO

Conforme demonstrado, o resultado é 6.

Alternativa C — ❌ Incorreta

O valor 8 resultaria se bar retornasse (x+1)*2 com um erro (por exemplo, considerando foo(x)=x+2 ou foo(x)*3), mas a implementação correta é foo(x)=x+1 e multiplicação por 2.

Alternativa D — ❌ Incorreta

O valor 9 não corresponde a nenhuma operação lógica com os valores envolvidos.

Alternativa E — ❌ Incorreta

O valor 10 seria obtido se foo(x)=x+4 e bar(x)=foo(x)*2, ou bar(x)= (x+1)*5, etc. Não é o caso.

Conclusão: a única alternativa que reproduz o resultado da execução do código é a letra B.

Link permanente: /questoes/fg060732