Questão FC374720
Considere o seguinte trecho de algoritmo: classe Calculadora { método inteiro fatorial(valor inteiro n) { se (n <= 1) { retorne 1; } senão { retorne n * fatorial(n - 1); } } } iníc
Linguagens de Programação
Instituto Consulplan · 2025
Considere o seguinte trecho de algoritmo:
classe Calculadora {
método inteiro fatorial(valor inteiro n) {
se (n <= 1) {
retorne 1;
} senão {
retorne n * fatorial(n - 1);
}
}
}
início {
inteiro resultado;
Calculadora calc = novo Calculadora();
resultado = calc.fatorial(5);
escreva("O fatorial de 5 é: ", resultado);
}
Sobre o código anterior, analise as afirmativas a seguir.
I. O método fatorial é um exemplo de recursividade, pois chama a si mesmo dentro de sua definição.
II. A passagem de parâmetro no método fatorial é feita por valor, uma vez que a variável n é um tipo primitivo.
III. A criação do objeto calc da classe Calculadora exemplifica o conceito de instância em programação orientada a objetos.
IV. O valor impresso será "O fatorial de 5 é: 120".
Está correto o que se afirma em
- I, II, III e IV.
- I e III, apenas.
- II e IV, apenas.
- I, II e III, apenas.
Mostrar resposta e comentário
Gabarito
A
Comentário do professor
Afirmativas I, II, III e IV são corretas porque o método fatorial é um exemplo clássico de recursividade: ele chama a si mesmo e possui um caso base (n <= 1) que evita chamadas infinitas.
A passagem do parâmetro n é por valor, já que se trata de um tipo primitivo; a chamada recebe uma cópia e alterações internas não afetam a variável original fora do método.
A expressão Calculadora calc = novo Calculadora(); cria um objeto concreto da classe, ou seja, uma instância, e a chamada calc.fatorial(5) invoca o método dessa instância.
Finalmente, a saída é exatamente a indicada: \(5! = 5\times4\times3\times2\times1 = 120\), portanto será impressa a string "O fatorial de 5 é: 120".
Conteúdo do catálogo FC Concursos · Atualizado em