Um usuário implementou uma rotina de um programa, denominad...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a D - referência.
Para compreender esta questão é necessário entender os conceitos de passagem de parâmetros em sub-rotinas (ou funções) dentro da programação. Quando uma função é chamada, pode-se passar valores para ela de duas formas principais: por valor ou por referência.
Na passagem por valor, uma cópia do valor do argumento é feita e passada para a função. Assim, alterações feitas nesse valor dentro da função não afetam a variável original fora dela. Já na passagem por referência, ao invés de passar uma cópia do valor, a função recebe um endereço de memória que aponta para a variável original. Portanto, qualquer modificação no parâmetro dentro da função reflete na variável que foi passada.
No caso do enunciado, o usuário deseja que a função "Fatorial" retorne o resultado do fatorial de 6 não apenas como um valor de retorno comum, mas que altere o próprio valor do parâmetro que foi passado para a função. Isso só é possível se a passagem for por referência, pois assim a função tem acesso direto à variável e pode modificá-la, fazendo com que, após a execução da função, a variável original contenha o resultado do fatorial.
As demais opções não são aplicáveis ao contexto:
- Escopo refere-se ao contexto no qual nomes (variáveis, funções, etc.) são conhecidos em um programa.
- Hashing é uma técnica para converter uma grande quantidade de dados em um pequeno volume fixo de informação.
- Módulo muitas vezes se refere a uma divisão de código ou a operação aritmética de resto da divisão.
- Valor, como mencionado anteriormente, é um tipo de passagem de parâmetro que não permite que a função altere o valor da variável original.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Neste caso , deverá ser passado por referência , pois assim a função irá acessar o endereço da memoria onde esta o valor , e não o valor propriamente dito !
Gab: D
Galera, observem a pegadinha da questão: ele manda 6 (seis) como parâmetro e
no retorno da rotina o valor é 6! (seis fatorial). Observe que o valor foi modificado,
logo não pode ter sido uma passagem por valor - foi uma passagem por referência.
Caso o retorno fosse 6 (seis), a passagem provavelmente seria por valor.
Gabarito: D
Curso de Informática
Profs. Diego Carvalho e Judah Reis
Errei por falta de atenção. Deveria ter focado em "deseja receber nesse mesmo parâmetro", não no retorno.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo