Em uma oficina de programação, estudantes criaram um algoritmo para calcular o fatorial de um número inteiro…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Utilizar conceitos iniciais de uma linguagem de programação na implementação de algoritmos escritos em linguagem corrente e/ou matemática.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Em uma oficina de programação, estudantes criaram um algoritmo para calcular o fatorial de um número inteiro. Para testar o procedimento, o usuário informa N = 6. O algoritmo deve iniciar resultado com 1 e, em cada passo, inclusive quando i = 1, multiplicar resultado pelo valor atual de i, atualizando resultado. Depois, deve exibir o valor obtido. Assim, o procedimento deve calcular N! = 1 · 2 · 3 · ... · N. Com base no procedimento descrito no texto-base, identifique o pseudocódigo que o implementa corretamente para N = 6.
- A) resultado <- 0 para i de 1 ate N faca resultado <- resultado * i fimpara escreva resultado
- B) resultado <- 1 para i de 1 ate N faca i <- resultado * i fimpara escreva resultado
- C) resultado <- 1 para i de 1 ate N-1 faca resultado <- resultado * i fimpara escreva resultado
- D) resultado <- 1 para i de 1 ate N faca resultado <- resultado * i fimpara escreva resultado
- E) resultado <- 2 para i de 1 ate N faca resultado <- resultado * i fimpara escreva resultado
✅ Resposta correta: alternativa D
Resolução passo a passo
- O procedimento descrito exige que resultado comece em 1, pois o elemento neutro da multiplicação garante que o produto não seja alterado no início.
- Em cada passo, inclusive quando i = 1, o texto exige multiplicar resultado pelo valor atual de i. Logo, o laço deve percorrer i de 1 até N, com N = 6, ou seja, de 1 a 6.
- Calculando: resultado = 1; depois 1 x 1 = 1; 1 x 2 = 2; 2 x 3 = 6; 6 x 4 = 24; 24 x 5 = 120; 120 x 6 = 720. O valor exibido é 720, que é igual a 6!.
- A alternativa D implementa exatamente isso: resultado começa em 1, o laço vai de 1 até N e resultado é multiplicado por i a cada passo, seguido da exibição do valor.
- A alternativa A está errada porque começa com 0, e qualquer multiplicação por 0 resulta em 0.
- A alternativa B está errada porque sobrescreve a variável de controle i em vez de atualizar resultado.
- A alternativa C está errada porque o laço vai só até N-1, deixando de incluir o fator N = 6, o que daria 120 em vez de 720.
- A alternativa E está errada porque começa com 2, dobrando o resultado final e obtendo 1440 em vez de 720.
- Conclusão: o gabarito oficial D está correto.
💡 Dica: Analise o pseudocódigo e compare com o algoritmo descrito para identificar a implementação correta.
Alternativa por alternativa
O aluno acredita que o acumulador de produtos deve começar em 0, como em uma soma, ignorando que a multiplicação exige elemento neutro 1.
Por que engana: Confundir a ordem das operações ou inicializar a variável resultado com valor incorreto, levando a cálculo errado do fatorial.
O aluno confunde a variável de controle i com o acumulador, achando que o resultado deve ser guardado em i, o que altera o laço e não acumula o produto.
O aluno lê o intervalo como se fosse de 1 até N-1, esquecendo que o fatorial inclui o fator N e que o texto manda multiplicar também por i = N.
O algoritmo deve iniciar resultado com 1, percorrer todos os inteiros de 1 até N e atualizar resultado pela multiplicação por i. Para N = 6, os valores sucessivos são 1, 2, 6, 24, 120 e 720. Portanto, o pseudocódigo correto é o que produz 6! = 720 e realiza também a etapa correspondente a i = 1.
O aluno inicia o acumulador em 2, achando que o primeiro fator já deve ser o 2, e assim duplica todo o produto final.
Raio-X da questão
fatorial e pseudocódigo
avaliacao
estrutura de repetição · variáveis e atribuições
Estude o conceito de fatorial e como implementar loops em pseudocódigo.
Confundir a ordem das operações ou inicializar a variável resultado com valor incorreto, levando a cálculo errado do fatorial.
pensamento_critico
abstrato
Questões parecidas com resolução
- Uma livraria registra, em uma tabela, a quantidade de livros vendidos em duas filiais durante uma campanha. As linhas…
- Em um inventário de sementes, a equipe registrou a quantidade de um lote usando agrupamentos: 3 grupos de 10.000…
- Por que alguns horários de biblioteca ficam lotados enquanto outros permanecem vazios? Para decidir a ampliação do…
- Uma cooperativa de reciclagem contratou fretes e registrou o custo total conforme a distância percorrida. O grafico…
- O gráfico mostra o consumo mensal de energia dos equipamentos de uma padaria: forno, 520 kWh; refrigeração, 280 kWh…
- Uma comunidade rural avalia caixas d'água de base quadrada e altura fixa de 5 m. O gráfico mostra o volume V, em m³, em…
🔎 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
