A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Programação Declarativa 1 OPERADORES TIPOS DE NOTAÇÃO PARA OS OPERADORES onde  x representa um argumento cuja precedência é estritamente menor do que.

Apresentações semelhantes


Apresentação em tema: "Programação Declarativa 1 OPERADORES TIPOS DE NOTAÇÃO PARA OS OPERADORES onde  x representa um argumento cuja precedência é estritamente menor do que."— Transcrição da apresentação:

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)


Carregar ppt "Programação Declarativa 1 OPERADORES TIPOS DE NOTAÇÃO PARA OS OPERADORES onde  x representa um argumento cuja precedência é estritamente menor do que."

Apresentações semelhantes


Anúncios Google