Carregar apresentação
A apresentação está carregando. Por favor, espere
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.