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

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

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.

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. Introdução à Programação Prolog2 Operadores Na matemática costuma-se escrever expressões como 2*a + b*c onde + e * são operadores."— Transcrição da apresentação:

1 4. Operadores e Aritmética

2 Introdução à Programação Prolog2 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)) + ** 2abc Em geral, entretanto, prefere-se usar a notação infixa, mais natural e que também é aceita pelo Prolog.

3 Introdução à Programação Prolog3 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.

4 Introdução à Programação Prolog4 Tipos de Operadores -yfxfposfixos -fyfxprefixos yfxxfyxfxinfixos TIPOOPERADORES

5 Introdução à Programação Prolog5 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, ^).

6 Introdução à Programação Prolog6 Operadores Aritméticos Em especial os operadores aritméticos mais comuns podem ser conferidos na tabela abaixo: potenciaçãoxfy200^ resto da divisão inteiraxfx300mod divisão inteirayfx400div divisãoyfx400/ multiplicaçãoyfx400* subtraçãoyfx500- adiçãoyfx500+ SIGNIFICADOTIPOPRIORIDADEOPERADOR

7 Introdução à Programação Prolog7 Operadores is e = A diferença entre estes dois operadores deve ficar clara a partir dos exemplos a seguir: ?- X = 1+2. X = 1+2 yes ?- X is 1+2. 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 = 4096 yes ?-...e assim por diante.

8 Introdução à Programação Prolog8 Operadores de Comparação valores diferentesxfx700=\= valores iguaisxfx700=:= menor ou igual axfx700=< maior ou igual axfx700>= menor quexfx700< maior quexfx700> SIGNIFICADOTIPOPRIORIDADEOPERADOR

9 Introdução à Programação Prolog9 Funções Pré-definidas Um número aleatório entre 0 e 1random Valor de pi com 15 casas decimaispi Arredonda X para N casas decimaisround(X,N) Tangente de Xtan(X) Raiz quadrada de Xsqrt(X) Seno de Xsin(X) Logaritmo decimal de Xlog(X) Logaritmo natural de Xln(X) Valor de "e" elevado a Xexp(X) Cosseno de Xcos(X) Arco-tangente de Xatan(X) Arco-seno de Xasin(X) Arco-cosseno de Xacos(X) Valor absoluto de Xabs(X) SIGNIFICADOFUNÇÃO

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

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

12 Introdução à Programação Prolog12 Fim da Unidade 1 Últimos lembretes: Acessar a página: Introdução à Programação PrologIntrodução à Programação Prolog Revisar as apresentações Navegar no site do SWI-PrologSWI-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 minicursolista do minicurso


Carregar ppt "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


Anúncios Google