Questão de Programação — Python — FGV 2023
- 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)
- A5
- B6
- C8
- D9
- E10
GabaritoB — 6
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.
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.
Conforme demonstrado, o resultado é 6.
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.
O valor 9 não corresponde a nenhuma operação lógica com os valores envolvidos.
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