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

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

PrologProlog 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.

Apresentações semelhantes


Apresentação em tema: "PrologProlog 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."— Transcrição da apresentação:

1 PrologProlog 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 Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação Introdução à Programação

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

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

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

5 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.

6 Introdução à Programação Prolog 6 Fatos, Regras e Consultas Cláusulas de Horn, 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:

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

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

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

10 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).

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

12 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

Apresentações semelhantes


Anúncios Google