Matemática Múltipla Escolha

Considere o seguinte código Python: Qual o valor impresso pelo código?

Considere o seguinte código Python:

def fun(x):
    if x % 2 == 0:
        return 1
    else:
        return 2

print(fun(fun(2)))```

Qual o valor impresso pelo código?
  1. O código causará um erro de execução
  2. 2
  3. 1
  4. None

Resolução completa

Explicação passo a passo

C
Alternativa C

Alternativa C - O código imprime o valor 2.

Análise do Código Python

O problema apresenta uma função recursiva simples que verifica se um número é par ou ímpar e retorna valores específicos. Para encontrar a resposta correta, precisamos analisar a chamada da função passo a passo.

Passo a Passo da Execução

A linha principal do código é:
\text{print}(fun(fun(2)))

Esta é uma chamada aninhada, o que significa que o computador deve resolver primeiro a função interna antes de passar o resultado para a externa.

  1. Resolvendo a função interna fun(2):
  • O argumento x recebe o valor $2$.
  • A condição if x % 2 == 0: verifica se $2$ é divisível por $2$.
  • Como $2 \% 2$ resulta em $0$, a condição é verdadeira.
  • A função executa return 1.
  • Portanto, fun(2) substitui-se pelo valor 1.
  1. Resolvendo a função externa fun(1):
  • Agora a expressão torna-se print(fun(1)).
  • O novo argumento x é $1$.
  • A condição if x % 2 == 0: verifica se $1$ é divisível por $2$.
  • Como $1 \% 2$ resulta em $1$ (diferente de $0$), a condição é falsa.
  • O controle vai para o bloco else.
  • A função executa return 2.
  • Portanto, o resultado final é 2.

Resumo da Lógica

Entrada (x)Condição (x \% 2 == 0)Retorno
2 (Par)Verdadeiro1
1 (Ímpar)Falso2

Como o resultado final da expressão é $2$, a alternativa correta corresponde à terceira opção na lista.

Alternativa C.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Matemática

Ver mais Matemática resolvidas

Tem outra questão de Matemática?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.