GeraProva GeraProva Provas com IA para professores do Brasil
Computação8º anoBNCC EF69CO02Difícil⏱ medio

Desenvolva um algoritmo que calcule o fatorial de um número. Como utilizar repetições simples para resolver…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF69CO02

Elaborar algoritmos que envolvam instruções sequenciais, de repetição e de seleção usando uma linguagem de programação.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Desenvolva um algoritmo que calcule o fatorial de um número. Como utilizar repetições simples para resolver isso?

  1. A) Repetições condicionais
  2. B) Variáveis globais
  3. C) Contadores
  4. D) Estruturas complexas
  5. E) Condicionais aninhadas

✅ Resposta correta: alternativa C

Resolução passo a passo

  1. O fatorial de n (n!) é o produto de todos os inteiros de 1 até n. Por exemplo, 5! = 1 x 2 x 3 x 4 x 5 = 120. Para calcular isso com uma repetição simples (como o para), é preciso controlar quantas vezes o laço roda e fazer a multiplicação acumulada.
  2. Usa-se uma variável contadora i, que começa em 1 e vai até n, aumentando de 1 em 1 a cada volta do laço. Ela controla a repetição e determina quais fatores serão multiplicados.
  3. Usa-se também uma variável acumuladora (por exemplo, fat), iniciada em 1. A cada volta, fazemos fat = fat x i. Ao final do laço, fat contém n!.
  4. Assim, a alternativa correta é C (Contadores), pois o contador é o recurso central da repetição simples para controlar os fatores do cálculo. As demais estão erradas: A) repetições condicionais são laços governados por uma condição (como enquanto), não o tipo de laço simples pedido; B) variáveis globais são uma questão de escopo e não resolvem o controle da repetição; D) estruturas complexas fogem do objetivo de uma solução simples; E) condicionais aninhadas servem para tomar decisões, não para repetir o cálculo.
  5. Observação sobre a questão: a alternativa mais precisa tecnicamente seria 'acumuladores', mas ela não aparece entre as opções, e o contador é o elemento que o enunciado pede; por isso concordo com o gabarito C.

💡 Dica: Considere a definição de fatorial e como implementar um loop.

Alternativa por alternativa

A Erradaerro: Conceituala que mais engana

O aluno confunde repetição simples com repetição condicionada, achando que o fatorial exige um laço governado por uma condição específica. Na verdade, como o número de voltas é conhecido (de 1 até n), basta um laço de contagem.

Por que engana: Confundir o uso de repetições simples com condicionais ou estruturas complexas, não aplicando corretamente o contador para controlar o loop.

B Erradaerro: Interpretação

O aluno acredita que o resultado precisa ser guardado em uma variável global para funcionar, confundindo escopo de variável com a técnica de repetição. O enunciado pergunta como controlar a repetição, não onde declarar variáveis.

C Correta

Contadores são essenciais para controlar quantas vezes a multiplicação ocorre.

D Erradaerro: Senso comum

O aluno supõe que um cálculo de fatorial exige uma estrutura sofisticada, quando o próprio enunciado pede uma solução com repetições simples. Essa intuição de que algo 'mais complexo' é melhor contraria o objetivo da questão.

E Erradaerro: Conceitual

O aluno associa a solução a decisões encadeadas (se dentro de se), quando o fatorial é um cálculo repetitivo e não exige múltiplas tomadas de decisão. Ele mistura a estrutura de seleção com a de repetição.

Raio-X da questão

Dificuldade Difícil
Bloom Aplicar
Leitura medio
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade multipla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ direta🧩 desafio
🎯 Conceito central

fatorial e repetições

📌 Objetivo

fixacao

🧱 Pré-requisitos

fatorial de um numero · estruturas de repeticao simples

📚 Reveja

Revisar a definição de fatorial e estruturas de repetição em algoritmos.

⚠️ Erro mais comum

Confundir o uso de repetições simples com condicionais ou estruturas complexas, não aplicando corretamente o contador para controlar o loop.

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Programação - Linguagem de programação

🔎 Procurar outra questão

Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.

Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.