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

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

Conceitos e Linguagens de Programação

Apresentações semelhantes


Apresentação em tema: "Conceitos e Linguagens de Programação"— Transcrição da apresentação:

1 Conceitos e Linguagens de Programação
PROLOG Conceitos e Linguagens de Programação Raranna Alves da Costa

2 Sumário O que é Prolog? História Características Conceitos básicos
Fatos A sintaxe e as regras do prolog Executando um programa em Prolog Campos de uso e algumas aplicações Bibliografia

3 O que é Prolog?

4 Clique para adicionar texto
Prolog é uma linguagem de programação que se enquadra no paradigma de Programação em Lógica Matemática. É uma linguagem de uso geral que é especialmente associada com a inteligência artificial e linguística computacional. Linguagem concreta, em que acrescenta-se o Prolog puro com componentes extra-lógicos.

5 Clique para adicionar texto
Apesar do longo tempo de desenvolvimento , essa linguagem ainda não é uma linguagem portável já que em cada implementação usa rotinas completamentes diferentes e incompatíveis entre si. Exemplo de programa trivial ao realizar um loop, o interpretador não consegue rodar.

6 História

7 Clique para adicionar texto
O nome Prolog para a linguagem concreta foi escolhido por Philippe Roussel como uma abreviação de “PROgrammation en LOGique”. Foi criada em meados de 1972 por Alain Colmerauer e Philippe Roussel, baseados no conceito de Robert Kowalski da interpretação procedimental das cláusulas de Horn. A motivação para isso veio da vontade de reconciliar o uso da lógica como uma linguagem

8 Características

9 Clique para adicionar texto
O Prolog é uma linguagem declarativa, ou seja, ao invés de o programa estipular a maneira de chegar à solução passo-a-passo, como acontece nas linguagens procedimentais ou orientadas a objeto, ele fornece uma descrição do problema que se pretende computar utilizando uma coleção de fatos e regras (lógica) que indicam como deve ser resolvido o problema proposto.

10 Além de ser uma linguagem declarativa, outro fato que o difere das outras linguagens é a questão de não possuir estruturas de controle (if-else, do-while, for, switch) presentes na maioria das linguagens de programação. Para isso utilizamos métodos lógicos para declarar como o programa deverá atingir o seu objetivo. Um programa em Prolog pode rodar em um modo interativo, o usuário poderá formular queries utilizando os fatos e as regras para produzir a solução através do mecanismo de unificação.

11 Clique para adicionar texto
O Prolog é baseado num subconjunto do cálculo de predicados de primeira ordem, o que é definido por cláusulas de Horn. A execução de um programa em Prolog é efetivamente a prova de um teorema por resolução de primeira ordem. Alguns conceitos fundamentais são unificação, recursão, e backtracking.

12 Fatos

13 Clique para adicionar texto
Em Prolog são fornecidos os fatos e as regras para uma base de dados, que posteriormente serão executadas consultas em cima da base de dados. A estrutura de um fato é formada por um predicado, seus argumentos (objetos) e finalizamos a instrução com um ponto(.) equivalente ao ponto-vírgula das linguagens comuns de programação

14 Clique para adicionar texto
O predicado é a relação sobre os quais os objetos irão interagir. Ex.: predicado(argumento1,argumento2...). Relação entre 2 objetos: -> amiga(joana, maria). Característica do objeto: -> homem(jose). Obs.: Nomes começam por letra minúscula Ordem dos objetos podem inferir no resultado

15 A sintaxe e regras

16 Clique para adicionar texto
Prolog não emprega tipos de dados do mesmo modo que as linguagens de programação mais comuns normalmente fazem. Todos os dados são tratados como sendo de um único tipo. Ou seja, os elementos léxicos utilizados na sua declaração determinam se esse termo será um número, um texto, uma variável, uma estrutura complexa e assim por diante.

17 O escopo de uma variável é a asserção (fato, regra, ou consulta) na qual aparece.
O escopo de qualquer outro nome (constante, nome de função, ou nome de predicado) é todo o programa. Obs.: Isto significa que um nome de variável pode ser utilizado e reutilizado a vontade no programa para denotar variáveis diferentes, enquanto qualquer outra notação representa, ou é, o mesmo objeto para o programa todo.

18 Átomos: Um átomo é uma seqüência constituída de letras e números, mas iniciando com uma letra minúscula. Se um átomo não alfanumérico é necessário, pode-se usar qualquer seqüência entre aspas simples . Ex.: começando com letra minúscula: pedro henrique_iv como uma sequência de caracteres entre aspas simples: 'quem é você?' 'eu não sei'.

19 Números: Um número é uma seqüência de dígitos, permitindo também os sinais de . (para números reais), - (número negativo) e e (notação científica). Ex.: 589 5.89

20 Variáveis: São como uma incógnita, cujo valor é desconhecido a princípio mas, após descoberto, não sofre mais mudanças. Um tipo especial de variável, a variável anônima (explicada mais adiante), é uma expressão que significa 'qualquer variável', e é escrita como um único subtraço (_). Ex.: X Nome Rei_da_Espanha

21 Strings: São normalmente escritas como uma seqüência de caracteres entre aspas. É comum serem representadas internamente como listas de códigos de caracteres, em geral utilizando a codificação local ou Unicode. Ex.: X Nome Rei_da_Espanha

22 Operadores: Relacionais: Igualdade: = Diferença: \= ou <>
Menor que: < Maior que: > Menor ou igual: =< ou <= Maior ou igual: >= Aritméticos: + - * / mod is

23 Entrada e saída: read() e write()
Ex.: ola :- read(X), write('Olá '), write(X). Faremos a chamada: ?- ola. 'Luciano'.

24 Regras: Para utilizarmos uma regra , se usa o símbolo “:-” Ex.:
Dados os fatos: pai(arthur,silvio). pai(arthur,carlos). pai(carlos,xico). pai(silvio,ricardo). Utilizaremos a seguinte regra: avo(X,Z) :- pai(X,Y), pai(Y,Z). Isso significa que se alguém é pai de uma pessoa, que por sua vez é pai de outra pessoa, então ele é avô. Vamos realizar uma querie para conferir a regra: ?- avo(arthur,xico),avo(arthur,ricardo). Resposta : “YES”

25 Executando um programa

26 Software Swi-Prolog 6.4.1 plataforma Windows :
Criação de um novo arquivo fonte .pl Edição de .pl já existente Execução de arquivo finalizado

27 Campos de uso e algumas aplicações

28 Como podemos ver, o Prolog é uma linguagem muito poderosa, principalmente na área de Inteligência Artificial onde é líder absoluta. Entre as implementações do Prolog, podemos citar o Visual Prolog (Turbo Prolog), o SWI Prolog, GNU Prolog, Amzi! Prolog, entre muitas outras já existentes.

29 Bibliografia http://www.linhadecodigo.com.br/Artigo.aspx?id=1697
PROLOG. Disponível em: PROLOG, Wikipédia - Enciclopédia livre. Disponível em: JACQUES ROBIN, Slides sobre Fundamentos do Prolog.

30 Obrigada !


Carregar ppt "Conceitos e Linguagens de Programação"

Apresentações semelhantes


Anúncios Google