1 / 11

4. Operadores e Aritmética

4. Operadores e Aritmética. +. *. *. 2. a. b. c. 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.

inez-kirk
Download Presentation

4. Operadores e Aritmética

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 4. Operadores e Aritmética

  2. + * * 2 a b c Operadores • Na matemática costuma-se escrever expressões como2*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)) 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 tempode ser definido pela diretiva: :-op(600, xfx, tem). • Isso informa ao sistema que se deseja usar temcomo 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. OPERADORES TIPO infixos xfx xfy yfx prefixos fx fy - posfixos xf yf - Tipos de 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. OPERADOR PRIORIDADE TIPO SIGNIFICADO + 500 yfx adição - 500 yfx subtração * 400 yfx multiplicação / 400 yfx divisão div 400 yfx divisão inteira mod 300 xfx resto da divisão inteira ^ 200 xfy potenciação Operadores Aritméticos Em especial os operadores aritméticos mais comuns podem ser conferidos na tabela abaixo: 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 = 1+2.X = 1+2yes ?- X is 1+2.X = 3yes ?- t(X,2) = t(5,Y).X = 5, Y = 2yes ?- X is 3^2*2.X = 18yes ?- X is 3^2^2.X = 81yes ?- X is 2^2^2, Y is X^3.X = 16, Y = 4096yes ?- ...e assim por diante. Introdução à Programação Prolog

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

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

More Related