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

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

Luiz A. M. Palazzo Pelotas, maio de 2010

Apresentações semelhantes


Apresentação em tema: "Luiz A. M. Palazzo Pelotas, maio de 2010"— Transcrição da apresentação:

1 Luiz A. M. Palazzo Pelotas, maio de 2010
Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação Introdução à Programação Prolog Luiz A. M. Palazzo Pelotas, maio de 2010

2 1. Lógica e Programação de Computadores

3 O que é PROLOG? PROgrammation en LOGique Alain Colmerauer
Univ. Aix-Marseille, 1972 Robert Kowalski Univ. Edimburgo, 1974 Introdução à Programação Prolog

4 Principais características:
Lógica como linguagem de programação. Raciocínio dedutivo sobre fatos e regras. Processamento simbólico, Semântica declarativa, procedimental e operacional. Programas = Lógica + Controle. Programas = Especificações Formais. Programas = Protótipos. Programas = Bases de dados. Programas = Programas... Introdução à Programação Prolog

5 Programação em Lógica  Sócrates é homem. Todo homem é mortal.
Quem é mortal? Sócrates é mortal. homem(sócrates). mortal(X)  homem(X). ?- mortal(Z). Z = sócrates. Introdução à Programação Prolog

6 Fatos, Regras e Consultas
A programação em lógica baseia-se em estruturas lógicas denominadas Cláusulas de Horn, que se apresentam em quatro formas distintas: Fatos: a  Regras: a  b Consultas:  b Vazia:  Introdução à Programação Prolog

7 Fatos, Regras e Consultas
Fatos: São verdades incondicionais: pai(josé, joão). pai(joão, júlio). pai(júlio, jorge). Introdução à Programação Prolog

8 Fatos, Regras e Consultas
Fatos: São verdades incondicionais: pai(josé, joão). pai(joão, júlio). pai(júlio, jorge). Regras: Podem ser verdadeiras ou não: filho(X, Y)  pai(Y, X). avô(X, Y)  pai(X, Z), pai(Z, Y). Introdução à Programação Prolog

9 Fatos, Regras e Consultas
Fatos: São verdades incondicionais: pai(josé, joão). pai(joão, júlio). pai(júlio, jorge). Regras: Podem ser verdadeiras ou não: filho(X, Y)  pai(Y, X). avô(X, Y)  pai(X, Z), pai(Z, Y). Consultas: Provocam a execução do programa: ?- filho(júlio, X). X=joão ?- avô(X, jorge). X=joão Introdução à Programação Prolog

10 Processamento Simbólico
deriv(x, 1). deriv(N, 0)  number(N). deriv(U+V, U1+V1)  deriv(U, U1), deriv(V, V1). deriv(U-V, U1-V1)  deriv(U, U1), deriv(V, V1). deriv(U*V, U1*V+U*V1)  deriv(U, U1), deriv(V, V1). Introdução à Programação Prolog

11 Semântica Declarativa, Procedimental e Operacional
Os programas Prolog permitem três possíveis interpretações intercambiáveis: (1) Declarativa, ao nível do cálculo de predicados de primeira ordem, (2) Procedimental, ao nível da chamada de procedimentos, e (3) Operacional, ao nível do controle da execução Introdução à Programação Prolog

12 Programas = Lógica + Controle
O programador codifica somente a lógica. O ambiente de programação executa o controle. Introdução à Programação Prolog

13 Programas = Especificações Formais
a  b. b  c, d. . . . Introdução à Programação Prolog

14 Programas = Especificações Formais
a  b. b  c, d. . . . Introdução à Programação Prolog

15 Programas = Especificações Formais
a  b. b  c, d. . . . ok Introdução à Programação Prolog

16 Programas = Protótipos
Projetos grandes e caros ... ... podem ser prototipados rapidamente. Introdução à Programação Prolog

17 Programas = Bases de Dados
prolog bd Introdução à Programação Prolog

18 Programas = Programas ...  C/C++ Java Delphi Prolog Lisp ... etc
Introdução à Programação Prolog

19 Aplicações Avançadas Sistemas Especialistas, Engenharia de Software,
Simulação, Educação, Suporte à Decisão, Programação Científica Bases de Dados Dedutivas, Programação da Web.

20 Sistemas Especialistas
Diagnóstico médico, Controle Ambiental, Cultura Animal, Controle de Tráfego Aéreo, Indústria Aeroespacial. Introdução à Programação Prolog

21 Engenharia de Software
Especificações Formais, Prototipação, Modelagem de Processos, Engenharia Reversa, Manutenção de Software. Introdução à Programação Prolog

22 Simulação e Educação Modelagem Ambiental, Modelagem Organizacional,
Sistemas Tutoriais Inteligentes, Ensino de Lógica a Adolescentes. Introdução à Programação Prolog

23 Suporte à Decisão Mercados de estoques, ações e capital,
Apoio à decisões judiciais, Análise de Investimentos, etc. Introdução à Programação Prolog

24 Bases de Dados Dedutivas
O cálculo de predicados de primeira ordem possui expressividade equivalente à da álgebra relacional. Introdução à Programação Prolog

25 Programação da Web Extensões html e http Web Semântica SWI-Prolog
PiLLoW Amzi! Prolog Muitos outros (vale pesquisar) Introdução à Programação Prolog

26 Alguns Ponteiros Prolog na Wikipedia Programação em Lógica SWI Prolog Introdução à Programação Prolog


Carregar ppt "Luiz A. M. Palazzo Pelotas, maio de 2010"

Apresentações semelhantes


Anúncios Google