O paradigma de programação funcional é uma forma de programação declarativa, criado explicitamente para dar suporte a uma abordagem funcional pura, para a solução de problemas. Para atingir esse objetivo, são características desse paradigma:
Questão
O paradigma de programação funcional é uma forma de programação declarativa, criado explicitamente para dar suporte a uma abordagem funcional pura, para a solução de problemas. Para atingir esse objetivo, são características desse paradigma:
Alternativas
a) Alta importância da ordem de execução dos passos.
b) Controle de fluxo, utilizando loops e condições.
c) Alterações no programa são mais complexas.
d) Foco em como controlar tarefas.
e) Foco em funções com objetos de primeira classe e coleção de dados.
Explicação
O paradigma funcional é um paradigma declarativo: a ideia central é descrever o que deve ser computado, e não como controlar passo a passo a execução (como é comum no paradigma imperativo).
Analisando as alternativas:
- a) Alta importância da ordem de execução dos passos. Incorreta. Isso é típico do paradigma imperativo, onde a sequência de comandos e estados intermediários é crucial.
- b) Controle de fluxo, utilizando loops e condições. Incorreta. Embora possam existir condições (ex.: expressões condicionais), o funcional privilegia recursão, funções de alta ordem e operações sobre coleções (map/filter/reduce), não o controle por loops como elemento central.
- c) Alterações no programa são mais complexas. Incorreta como característica definidora do paradigma. Não é um traço essencial; em muitos casos, a imutabilidade e funções puras até facilitam manutenção e testes.
- d) Foco em como controlar tarefas. Incorreta. “Como controlar” remete ao imperativo (controle explícito de fluxo e estado).
- e) Foco em funções com objetos de primeira classe e coleção de dados. Correta. Programação funcional trata funções como cidadãos/objetos de primeira classe (podem ser passadas como argumento, retornadas, atribuídas a variáveis) e costuma operar sobre coleções de dados com transformações declarativas.
Alternativa correta: (e).