Otimização de Loops em Algoritmos
Gabarito: letra A. A otimização de loops é fundamental para melhorar o desempenho do código e reduzir o consumo de recursos computacionais, pois loops frequentemente dominam o custo assintótico de um algoritmo (ex.: O(n), O(n²)). A prática de otimização busca minimizar o número de iterações, eliminar operações redundantes, reduzir acessos à memória e aproveitar melhor o cache. O clássico livro Introduction to Algorithms (Cormen et al.) dedica-se exaustivamente à análise de eficiência e à importância de projetar loops eficientes.
Alternativa A — ✅ Correta ⟵ GABARITO
A afirmativa reflete o consenso da ciência da computação: loops são pontos críticos de desempenho e sua otimização traz ganhos reais em tempo de execução e uso de memória. Estratégias como loop unrolling, hoisting de invariantes, redução de operações dentro do laço e escolha da estrutura de dados adequada são exemplos práticos.
Alternativa B — ❌ Incorreta
Compiladores modernos aplicam otimizações automáticas, mas não conseguem otimizar todos os loops de forma ideal — especialmente quando há dependências de dados complexas, alinhamento de memória ou lógica específica do domínio. O conhecimento do programador ainda é essencial.
Alternativa C — ❌ Incorreta
A otimização de loops está diretamente ligada à complexidade de algoritmos: loops internos determinam a ordem de grandeza de um algoritmo. Ignorá-la pode levar a soluções exponenciais ou cúbicas desnecessárias.
Alternativa D — ❌ Incorreta
A otimização de loops é amplamente aplicada em sistemas de alto desempenho, jogos, processamento de dados e aplicações embarcadas. Embora exija cuidado para não introduzir bugs, o risco é gerenciável com testes e boas práticas – não é uma razão para evitá-la.
Gabarito: letra A.