Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouMarianne Capote Alterado mais de 9 anos atrás
1
Programação Declarativa 1 OPERADORES TIPOS DE NOTAÇÃO PARA OS OPERADORES onde x representa um argumento cuja precedência é estritamente menor do que a precedência do operador. y representa um argumento cuja precedência é menor ou igual do que a precedência do operador InfixosPrefixosSufixos (ou posfixos) xfxfxxf xfyfyyf yfx
2
Programação Declarativa 2 TIPOS DE NOTAÇÃO PARA OS OPERADORES Associatividade Para operadores de igual prioridade, precisamos de saber se avaliamos da esquerda para a direita ou vice-versa. Exemplos À expressão a-b-c (representação convencional (a-b)-c) está associada a estrutura yfx. À expressão not not p (representação convencional not (not p)) está associada à estrutura fy. Infixoxfx não associativo xfy associativo à direita yfx associativo à esquerda Prefixofx não associativo fy associativo à esquerda Posfixoxf não associativo yf associativo à direita
3
Programação Declarativa 3 REPRESENTAÇÃO EM PROLOG (directivas) : op( Prec, PosAssoc, Atomo ). onde Prec denota a precedência ( i.e. um número inteiro entre 1 e 1200 que depende da implementação do Prolog). Nota: Uma prioridade maior é indicada por um número menor PosAssoc denota a posição e associatividade do operador. Atomo denota o átomo que designa o operador É possível definir mais do que um operador numa cláusula op desde que tenham precedências e tipos idênticos.operadores
4
Programação Declarativa 4 Exemplo (operadores lógicos) Uma implementação dos operadores lógicos , , e . : op(800,xfx,equivalence). : op(700,xfy,or). : op(600,xfy,and). : op(500,fy,not). ? X=equivalence(not(and(X,Y)),or(not(X),not(Y))). X = not (x and y) equivalence not x or not y; no Exemplos de operadores pré-definidos em Prolog: :- ?- ;,isdivmod> <not+-*/ (ver help)
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.