Considere o seguinte trecho de algoritmo:classe Calculadora ...

Próximas questões
Com base no mesmo assunto
Q3408212 Programação

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 
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: A - I, II, III e IV.

1. Tema central da questão

Esta questão aborda conceitos básicos de programação, incluindo recursividade, passagem de parâmetros, programação orientada a objetos e execução de um algoritmo. Entender esses temas é fundamental para interpretar algoritmos e prever seus resultados, competências muito cobradas em concursos públicos (vide Cormen et al., "Algoritmos").

2. Resumo teórico

- Recursividade é quando uma função chama a si mesma.
- Passagem de parâmetros por valor significa que a função trabalha com uma cópia do valor original.
- Instância refere-se ao momento em que um objeto é criado a partir de uma classe.
- O fatorial de 5 (5!) é 120, pois 5 × 4 × 3 × 2 × 1 = 120.

3. Justificativa da alternativa correta

I — Correto. O método fatorial chama a si mesmo, sendo um exemplo clássico de recursividade.
II — Correto. O parâmetro n é do tipo inteiro (primitivo), logo é passado por valor.
III — Correto. Ao declarar Calculadora calc = novo Calculadora();, estamos criando uma instância da classe.
IV — Correto. O resultado da função para 5 é 120, então a saída será exatamente "O fatorial de 5 é: 120".

4. Análise das alternativas incorretas

B e C descartam afirmações corretas (II e IV, I e III), logo insuficientes.
D exclui o item IV, que está correto, pois o cálculo do fatorial está certo e corresponde à saída prevista.

5. Estratégias de interpretação

Fique atento a palavras-chave como "recursividade" e "instância". Sempre analise se o algoritmo realmente está realizando o que a afirmativa diz (por exemplo, conferir o cálculo efetuado pelo código). Cuidado com detalhes, como a forma de passagem de parâmetros, pois pegadinhas costumam explorar isso!

Gostou do comentário? Deixe sua avaliação aqui embaixo!

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

Grok:

Vamos analisar cada afirmativa com base no trecho de código fornecido:

I. O método fatorial é um exemplo de recursividade, pois chama a si mesmo dentro de sua definição.

Correto. O método fatorial é recursivo, pois ele chama a si mesmo (fatorial(n - 1)) dentro de sua definição para calcular o fatorial de um número.

II. A passagem de parâmetro no método fatorial é feita por valor, uma vez que a variável n é um tipo primitivo.

Correto. A variável n é um tipo primitivo (inteiro), e, em linguagens que seguem o modelo de passagem por valor para tipos primitivos (como na maioria das linguagens orientadas a objetos, como Java ou pseudocódigo similar), o parâmetro n é passado por valor.

III. A criação do objeto calc da classe Calculadora exemplifica o conceito de instância em programação orientada a objetos.

Correto. A linha Calculadora calc = novo Calculadora() cria uma instância (objeto) da classe Calculadora, que é um conceito fundamental da programação orientada a objetos.

IV. O valor impresso será "O fatorial de 5 é: 120".

Correto. O cálculo do fatorial de 5 é: 5!=5×4×3×2×1=120. Portanto, a chamada calc.fatorial(5) retorna 120, e a saída será "O fatorial de 5 é: 120".

Análise das alternativas:

  • A. I, II, III e IV. Todas as afirmativas estão corretas, como explicado acima.
  • B. I e III, apenas. Errado, pois II e IV também estão corretas.
  • C. II e IV, apenas. Errado, pois I e III também estão corretas.
  • D. I, II e III, apenas. Errado, pois IV também está correta.

Resposta correta: A. I, II, III e IV.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo