Um estudante analisa o desempenho de um algoritmo criado por ele. Ao observar que o algoritmo demora muito…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
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
Um estudante analisa o desempenho de um algoritmo criado por ele. Ao observar que o algoritmo demora muito para executar, o que ele deve considerar para melhorar a eficiência?
- A) Aumentar a quantidade de dados processados.
- B) Simplificar a lógica do algoritmo.
- C) Trocar a linguagem de programação sem motivo.
- D) Adicionar mais condições ao algoritmo.
- E) Testar apenas com dados pequenos.
✅ Resposta correta: alternativa B
Resolução passo a passo
- O enunciado descreve um algoritmo que demora muito para executar e pergunta o que considerar para melhorar a eficiência, isto é, reduzir o tempo de execução.
- Eficiência de algoritmos está ligada ao número de operações que ele realiza e ao quanto esse número cresce com o tamanho da entrada. Para reduzir o tempo, o caminho usual é tornar a lógica mais direta, eliminando repetições, laços desnecessários e cálculos redundantes.
- Portanto, a alternativa B, simplificar a lógica do algoritmo, é a correta. Ela atua diretamente sobre a causa da lentidão, que é o trabalho executado pelo algoritmo.
- Por que as outras estão erradas:
- A) Aumentar a quantidade de dados processados tende a tornar a execução ainda mais lenta, não mais eficiente.
- C) Trocar a linguagem sem motivo não resolve o problema, pois a lentidão está na lógica, não na linguagem.
- D) Adicionar condições aumenta o número de verificações e, em geral, piora o desempenho.
- E) Testar apenas com dados pequenos esconde o problema de desempenho, em vez de resolvê-lo.
- Conclusão: para melhorar a eficiência, o estudante deve revisar e simplificar a lógica do seu algoritmo, e o gabarito B está correto.
💡 Dica: Considere as técnicas de otimização de algoritmos.
Alternativa por alternativa
O aluno pode imaginar que processar mais dados torna o programa mais produtivo, confundindo volume de trabalho com eficiência. Eficiência trata de fazer a mesma tarefa gastando menos recursos.
Simplificar a lógica pode melhorar a eficiência.
O aluno pode acreditar que a linguagem de programação é a principal responsável pela velocidade, ignorando que a lentidão costuma vir da lógica do algoritmo. A troca sem diagnóstico não ataca a causa do problema.
O aluno pode supor que mais condições deixam o algoritmo mais preciso ou completo e, por isso, mais eficiente. Na verdade, cada condição adicional gera verificações extras que aumentam o tempo de execução.
Por que engana: O aluno pode confundir a necessidade de simplificar a lógica do algoritmo com a ideia de adicionar mais condições, acreditando que isso tornará o algoritmo mais eficiente.
O aluno pode entender que testar com poucos dados é uma forma de melhorar o desempenho, quando na verdade apenas adia a percepção da lentidão. Testes pequenos não revelam como o algoritmo se comporta com entradas grandes.
Raio-X da questão
eficiência de algoritmos
diagnostico
eficiência de algoritmos · análise de desempenho
Revisar conceitos de otimização e análise de algoritmos.
O aluno pode confundir a necessidade de simplificar a lógica do algoritmo com a ideia de adicionar mais condições, acreditando que isso tornará o algoritmo mais eficiente.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Considere a situação onde você deve avaliar a eficiência de um algoritmo que organiza dados. O que deve ser considerado…
- Um programador deseja otimizar um código para que ele execute mais rapidamente. Quais estratégias ele pode usar para…
- Em um experimento, um grupo de alunos cria um algoritmo para resolver um problema de logística na escola. Como podem…
- Em uma competição de programação, os alunos precisam resolver um problema de forma eficiente. Qual é a melhor abordagem…
- Em uma competição de programação, os alunos devem otimizar um algoritmo para resolver um problema. Qual é o principal…
- Em uma aula de programação, os alunos devem analisar um algoritmo que calcula a média de notas. Quais são as etapas…
🔎 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
