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
- Dado o pseudocódigo: soma ? 0; para i de 1 até 6 faça: soma ? soma + i. Ao final do laço, qual é o valor armazenado em…
- Durante um encontro de verão sobre lógica aplicada, o instrutor descreveu um procedimento em linguagem corrente para…
- Uma pequena empresa de tecnologia desenvolveu um procedimento em linguagem natural para calcular a soma dos primeiros n…
- Para calcular o fatorial de um número, um programa repete a mesma operação várias vezes até chegar ao resultado final. —…
- Dados ilustrativos: um engenheiro desenvolve um protótipo de plantadeira automática que distribui sementes em fileiras…
- Descreva como construir um algoritmo para gerar os seis primeiros números da sequência: 3, 6, 12, 24, 48. Explique 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
