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

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

4. Operadores e Aritmética

Cópias: 1
4. Operadores e Aritmética. Introdução à Programação Prolog2 Operadores Na matemática costuma-se escrever expressões como 2*a + b*c onde + e * são operadores.

Apresentações semelhantes


Apresentação em tema: "4. Operadores e Aritmética"— Transcrição da apresentação:

1 4. Operadores e Aritmética

2 Operadores Na matemática costuma-se escrever expressões como 2*a + b*c onde + e * são operadores e 2, a, b e c são argumentos. Em particular, + e * são denominados operadores infixos porque se localizam entre os dois argumentos que operam. Tais expressões são representadas por árvores e podem ser escritas, se for desejado, sob a forma de termos Prolog, com os símbolos + e * como functores: (*(2, a), *(b, c)) + * 2 a b c Em geral, entretanto, prefere-se usar a notação infixa, mais natural e que também é aceita pelo Prolog. Introdução à Programação Prolog

3 Definição de Operadores
Em Prolog a definição de novos operadores é realizada pela inserção no programa de um certo tipo especial de cláusulas, denominadas diretivas :-op, Uma diretiva :-op deve aparecer no programa antes de qualquer expressão que contenha esse operador. Por exemplo, o operador tem pode ser definido pela diretiva: :-op(600, xfx, tem). Isso informa ao sistema que se deseja usar tem como um operador de prioridade 600 e cujo tipo é xfx, que designa uma classe de operadores infixos. (Ex: joão tem informações.) A forma de especificação, xfx, sugere que o operador, denotado por f, deva ser colocado entre dois argumentos, denotados por x. Introdução à Programação Prolog

4 Tipos de Operadores - yf xf posfixos fy fx prefixos yfx xfy xfx
infixos TIPO OPERADORES Introdução à Programação Prolog

5 Operadores Pré-definidos
A linguagem Prolog já vem com diversos operadores pré- definidos. Um conjunto padrão pode ser visto abaixo: :-op(1200, xfx, ':-'). :-op(1200, fx, [':-', '?-']). :-op(1100, xfy, ';'). :-op(1000, xfy, ','). :-op( 700, xfx, [is, =, \=, <, >, =<, >=, ==, =\=, \==, =:=]). :-op( 500, yfx, [+, -]). :-op( 500, fx, [+, -, not]). :-op( 400, yfx, [*,/,div]). :-op( 300, xfx, mod). :-op( 200, xfy, ^). Introdução à Programação Prolog

6 Operadores Aritméticos
Em especial os operadores aritméticos mais comuns podem ser conferidos na tabela abaixo: potenciação xfy 200 ^ resto da divisão inteira xfx 300 mod divisão inteira yfx 400 div divisão / multiplicação * subtração 500 - adição + SIGNIFICADO TIPO PRIORIDADE OPERADOR Introdução à Programação Prolog

7 Operadores is e = A diferença entre estes dois operadores deve ficar clara a partir dos exemplos a seguir: ?- X = X = 1+2 yes ?- X is X = 3 yes ?- t(X,2) = t(5,Y). X = 5, Y = 2 yes ?- X is 3^2*2. X = 18 yes ?- X is 3^2^2. X = 81 yes ?- X is 2^2^2, Y is X^3. X = 16, Y = yes ?- ...e assim por diante. Introdução à Programação Prolog

8 Operadores de Comparação
valores diferentes xfx 700 =\= valores iguais =:= menor ou igual a =< maior ou igual a >= menor que < maior que > SIGNIFICADO TIPO PRIORIDADE OPERADOR Introdução à Programação Prolog

9 Funções Pré-definidas
Um número aleatório entre 0 e 1 random Valor de pi com 15 casas decimais pi Arredonda X para N casas decimais round(X,N) Tangente de X tan(X) Raiz quadrada de X sqrt(X) Seno de X sin(X) Logaritmo decimal de X log(X) Logaritmo natural de X ln(X) Valor de "e" elevado a X exp(X) Cosseno de X cos(X) Arco-tangente de X atan(X) Arco-seno de X asin(X) Arco-cosseno de X acos(X) Valor absoluto de X abs(X) SIGNIFICADO FUNÇÃO Introdução à Programação Prolog

10 Fatorial fatorial(0, 1). fatorial(X, Y):- X1 is X-1, fatorial(X1, Y1),
Y is X*Y1. Introdução à Programação Prolog

11 Máximo Divisor Comum mdc(X, X, X). mdc(X, Y, D) :- X < Y,
Y1 is Y-X, mdc(X, Y1, D). X > Y, mdc(Y, X, D). Introdução à Programação Prolog

12 Fim da Unidade 1 Últimos lembretes:
Acessar a página: Introdução à Programação Prolog Revisar as apresentações Navegar no site do SWI-Prolog Instalar e testar a última versão Baixar a documentação disponível Fazer o “Tema” Enviar as dúvidas para a lista do minicurso Introdução à Programação Prolog


Carregar ppt "4. Operadores e Aritmética"

Apresentações semelhantes


Anúncios Google