SóProvas


ID
696556
Banca
FCC
Órgão
TJ-RJ
Ano
2012
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

O seguinte trecho de pseudo-código representa a definição de uma função (sub-rotina) f com um único argumento x.

´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´
f(x)

x ← x + 1

devolva x
´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´
Considere agora o seguinte trecho de código que invoca a função f definida acima.
´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´
a ← 0

escreva a
escreva f(a)
escreva a
´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´
A execução do trecho de código acima resultaria na escrita de


Alternativas
Comentários
  • Pessoal, esta questão envolve um conhecimento básico em Linguagens de Programação (em sentido amplo).

    Vamos analisar os conceitos de passagem por referência e passagem por valor:
    • Passagem por valor: o valor da variável é passado para a função através de uma cópia que é alocada momentâneamente em uma varíavel (x) até que a função temine sua execução. Ou seja, apenas os valores e não o parâmetro são passados à função.

     

    • Passagem por referência: na passagem por referência, o que é passado para a função (x) não é apenas a copia do valor da variável, mas a referência para a própria, e qualquer alteração de valor dentro da função, é aplicada à variável.
    Com estes conceitos em mente, podemos ver que a situação do item C é a única correta, pois as saídas correspondem respectivamente à passagem por valor e por referência.

  • Passagem de parâmetros por valor: A função recebe uma cópia da variável que é fornecida quando é invocada. Todas as alterações feitas dentro da função não vão afectar os valores originais.

    Passagem de parâmetros por referência: Neste caso o que é enviado para a função é uma referência às variáveis utilizadas, e não uma simples cópia, pelo que as alterações realizadas dentro da função irão certamente alterar os valores contidos nessas variáveis.

    Fonte: http://gracianotorrao.com/2008/05/19/funcoes-passagem-de-parametros-por-valorreferencia-em-cc/