SóProvas


ID
2858905
Banca
IF-MT
Órgão
IF-MT
Ano
2018
Provas
Disciplina
Programação
Assuntos

Considere o seguinte fragmento de código fonte escrito na linguagem python:


def foo(a):

    return a + a + a

b = 1

foo(b)

foo(b)

foo(b)


Após a execução de todos esses códigos, qual é o valor a ser mostrado mediante o comando abaixo?

                print(b)


Alternativas
Comentários
  • Ao utilizar a chamada foo(b) a função retorna o valor somado três vezes, porém não é armazenado em nenhuma variável. Portanto, o valor da variável b continua inalterado e apresentará como resultado 1.

  • O código escrito correto.

    def foo(a):

        return a + a + a

      b = 1

      foo(b)

      foo(b)   

      foo(b)

    Há 3 chamadas a função foo(b), mas nenhuma delas altera o valor de b que é igual a 1. Assim quando o comando print(b) é executado o valor exibido é 1.

    Gabarito: B

  • A função foo é bem simples. Ela triplica o valor do parâmetro que recebe.

    O parâmetro b nas 3 chamadas foo(b) é passado por valor. Isso significa que ele será triplicado dentro do contexto da função. Fora, ele permanece com o valor original, que é 1. Portanto, ao fazer o print(b) no final é impresso 1.

    Resposta: B

  • A função foo é bem simples. Ela triplica o valor do parâmetro que recebe.

    O parâmetro b nas 3 chamadas foo(b) é passado por valor. Isso significa que ele será triplicado dentro do contexto da função. Fora, ele permanece com o valor original, que é 1. Portanto, ao fazer o print(b) no final é impresso 1.

    Resposta: B

  • Essa questão deveria ter sido anulada uma vez que ao 'b' não foi atribuído nenhum valor. uma vez que o 'b' pertencia à variável da função.

  • OBS: mesmo se "b" fosse alterado dentro função, seu valor continuaria 1 porque é passado o valor, não a referência.

  • Função foo -> triplica o valor do parâmetro que recebe.

    O parâmetro b nas 3 chamadas foo(b) é passado por valor.

    Isso significa que ele será triplicado dentro do contexto da função.

    Fora, ele permanece com o valor original, que é 1.

    Portanto, ao fazer o print(b) no final é impresso 1.

    Resposta: B