40 likes | 119 Views
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.
E N D
OPERADORESTIPOS 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
TIPOS DE NOTAÇÃO PARA OS OPERADORESAssociatividade 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.
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
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: :- ?- ; , is div mod > < not + - * / (ver help)