As linguagens de programação por restrições são uma complementação ao padrão lógico e se referem à implementação de restrições na relação entre variáveis, especificando soluções e critérios a serem cumpridos, atuando sobre domínios. As linguagens de programação por restrições atuam sobre alguns domínios. Assinale a alternativa abaixo que apresenta alguns domínios onde esse tipo de linguagem atua:
Questão
As linguagens de programação por restrições são uma complementação ao padrão lógico e se referem à implementação de restrições na relação entre variáveis, especificando soluções e critérios a serem cumpridos, atuando sobre domínios. As linguagens de programação por restrições atuam sobre alguns domínios. Assinale a alternativa abaixo que apresenta alguns domínios onde esse tipo de linguagem atua:
Alternativas
a) Estrutural e condicional.
b) Matemático e funções.
c) Booleano e finito.
d) Estrutural e orientado a objetos.
e) Imperativo e funcional.
Explicação
Linguagens de Programação por Restrições (Constraint Programming) modelam problemas definindo variáveis com domínios e um conjunto de restrições que limitam os valores possíveis.
Os domínios mais clássicos (muito citados em CP/CLP) incluem, por exemplo:
- Domínio booleano: variáveis que assumem valores .
- Domínios finitos: variáveis que assumem valores em um conjunto finito (tipicamente inteiros dentro de um intervalo, como ou ), muito usado em problemas de satisfação de restrições (CSP), escalonamento, alocação, Sudoku etc.
As demais alternativas listam paradigmas/estilos de linguagem (imperativo, funcional, OO) ou termos genéricos (“estrutural”, “condicional”) que não são “domínios” típicos de programação por restrições.
Alternativa correta: (c).