Algoritmos e Modularização
Gabarito: letra B. (corretos os itens I e III). A modularização reduz a complexidade, permite desenvolvimento independente de módulos, reutilização em diferentes algoritmos (não apenas no mesmo) e teste individual com isolamento de falhas — conceitos clássicos da programação estruturada.
A banca testa o conhecimento das vantagens da modularização de algoritmos, conforme a obra de Forbellone e Eberspacher. A afirmativa II contém um erro clássico: restringe o reaproveitamento de módulos ao mesmo algoritmo, quando na verdade eles podem ser reaproveitados em diferentes algoritmos ou programas.
Item I — ✅ Correto
Afirma que a modularização reduz a complexidade e permite que cada módulo seja elaborado de forma independente e em momentos distintos. Isso está correto: a divisão em módulos menores facilita o desenvolvimento paralelo e a manutenção.
Item II — ❌ Incorreto
Afirma que um módulo pode ser reaproveitado diversas vezes, mas apenas no mesmo algoritmo, pois resolveria problemas muito específicos. Esse é o erro: módulos bem projetados são genéricos e podem ser reutilizados em diferentes algoritmos e programas. A generalização de que só servem no mesmo algoritmo é indevida.
Item III — ✅ Correto
Afirma que cada módulo pode ser testado individualmente, facilitando a identificação e correção de problemas, e que a correção em geral afeta apenas o módulo, reduzindo riscos de efeitos colaterais. Isso é uma vantagem real da modularização (teste unitário e encapsulamento).
Conclusão: estão corretos apenas os itens I e III, portanto a alternativa correta é a letra B.