Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Algoritmos — IF-MT 2024

Algoritmos e Estrutura de DadosAlgoritmos
Código
qg240987
Banca
IF-MT
Órgão
IF-MT
Ano
2024
Nível
Médio
Cargo
Técnico de Tecnologia da Informação - Edital nº 81
Analise as sentenças abaixo, baseadas na obra de Forbellone; Eberspacher (FORBELLONE, André Luiz Villar; EBERSPACHER, Henri Frederico. Lógica de programação: a construção de algoritmos e estruturas de dados. 3 ed. São Paulo: Prentice Hall, 2005, p.33), a respeito das vantagens da modularização de algoritmos:I. Além de ser uma ferramenta valiosa na redução da complexidade, a modularização traz a vantagem de permitir que cada módulo possa ser elaborado de forma independente e em momentos distintos.II. Um módulo pode ser reaproveitado diversas vezes, contudo isso só pode ser feito no mesmo algoritmo, já que ele resolve problemas muito específicos.III. Cada módulo pode ser testado individualmente, facilitando a identificação e correção de problemas, além do que, de forma geral, a correção de problemas afeta apenas o módulo e reduz os riscos de efeitos colaterais no resto do algoritmo.Estão CORRETAS a(s) afirmação(ões):
  1. AI e II apenas.
  2. BI e III apenas.
  3. CII e III apenas.
  4. DI apenas.
  5. EI, II e II.
Revelar gabarito e comentário

GabaritoB — I e III apenas.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

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.

Link permanente: /questoes/qg240987