FC ConcursosFC Concursos

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

  1. I, II, III e IV.
  2. I e III, apenas.
  3. II e IV, apenas.
  4. 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

Continue aprendendo