TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Pesquisa Apresentada à Disciplina de Lógica Aplicada a Computação para Fins Avaliativos

Por:   •  10/2/2020  •  Trabalho acadêmico  •  1.785 Palavras (8 Páginas)  •  160 Visualizações

Página 1 de 8

[pic 1]

UNIVERSIDADE ESTADUAL DO SUDOESTE DA BAHIA – UESB

VINICIUS MOTA SANTANA

GUILHERME COSTA OLIVEIRA

PROLOG

Jequié - BA
2019

 Universidade Estadual do Sudoeste da Bahia – UESB

Vinicius Mota Santana

Guilherme Costa Oliveira

PROLOG

Pesquisa apresentada à disciplina de Lógica Aplicada a Computação para fins avaliativos.

Jequié - BA
2019

Introdução

A linguagem de programação PROLOG foi criada por Alain Colmareur e seus colegas Robert Pasero, Jean Trudel, Philippe Roussel e posteriormente Robert Kowalski, na Universidade de Marseille, França, entre o fim do ano de 1971 e sendo finalizado definitivamente em 1973. O termo PROLOG é uma abreviação provinda da expressão inglesa “Programming in Logic”, tendo como maior notoriedade o trabalho voltado para linguística computacional e inteligência artificial.

Essa linguagem de programação é implementada sobre um paradigma lógico, cuja base é o Cálculo dos Predicados ou Lógica de 1° Ordem (LPO). As limitações da completude e corretude da LPO são contornadas com um método de prova sistemático e completo. PROLOG é uma linguagem de aprendizado fácil, pois, diferentemente de linguagens de programação com orientação a objetos, ela é uma linguagem declarativa, desta forma, ela mostra como o problema proposto deve ser resolvido por meio de fatos e regras lógicas.

Os programas em linguagens de programação orientadas a objetos estipulam como o computador chegará à solução, contudo os programas em PROLOG são baseados por fatos, regras e consultas. Esses programas são baseados em três passos principais: a declaração de alguns fatos sobre objetos e como se relacionam, definir regras sobre o relacionamento dos objetos e a consulta desses relacionamentos.

A estrutura de um fato é dada por um predicado, seus argumentos (objetos) e sempre se coloca um ponto quando deseja finalizar a instrução.                                        

predicado(argumento1,argumento2,...).        

O predicado é como os elementos vão interagir então se estabelecermos um fato do seguinte tipo: “progenitor(joão,josé).” “progenitor” é o nome da relação e “joão e josé” são seus argumentos.

Já as regras são utilizadas para fazer construções de questões mais complexas, elas fazem um relacionamento entre dois ou mais fatos. Para utilizar das regras, usa-se o símbolo “ :- ” o qual indica a condição ‘se’. Exemplificando a utilização das regras temos o seguinte exemplo:

Fatos:

pai(felipe,fábio).

pai(felipe,marco).

pai(marco,joão).

pai(fábio,roberto)

Regra:

“avo(X,Y):-pai(X,Y),pai(Y,Z).” Ou seja, se uma pessoa pai de uma pessoa, que é pai de outra pessoa, então ele é avô. Para conferir a regra do exemplo citado, temos:

?-avo(felipe,joao),avo(felipe,roberto).

A saída do programa será “YES”, já que “felipe” é avô de “roberto” e de “joão”, pois “felipe” é pai dos pais de “roberto” e de “joão”.

Assim como em outras linguagens de programação, PROLOG também possui variáveis, entretanto nessa linguagem as variáveis não são espaços da memória vazios onde pode-se atribuir qualquer valor, mas sim uma incógnita que quando tem seu  valor determinado não pode ser alterado.

Características

  • Linguagem orientada ao processamento de símbolos (termos).
  • Construções matemáticas abstratas, como os autômatos, podem frequentemente ser traduzidas diretamente para especificações executáveis em PROLOG.
  • Apresenta uma semântica declarativa inerente a uma lógica.
  • Permite a definição de programas reversíveis, isto é, programas que não fazem distinção entre os argumentos de entrada e saída.
  • Um nome de variável pode ser utilizado para denotar mais de uma variável diferente
  • Permite a obtenção de respostas alternativas.
  • Suporta naturalmente código recursivo e iterativo para a descrição de processos e problemas, dispensando mecanismos tradicionais de controle, tais como comandos de repetição.
  • Três tipos de semântica são atribuídos aos programas PROLOG: declarativa, procedimental e operacional.
  • Permite associar o processo de especificação ao processo de codificação de programas.

Tipos de Ferramentas Existentes

⦁        YAP (Yet Another Prolog) - Implementação de Prolog, possui apenas o modo de interpretação;

        XSB - Prover uma abordagem alternativa para criar sistemas de banco de dados dedutivos;

        SWI Prolog - Projetado para ser simples e compacto;

        SICStus Prolog - Implementa alguns recursos adicionais como o corte, predicados aritméticos, testes de tipo, além de ter suporte para coleta de lixo, corrotinas e manipulação de interrupções;

        Parma - Compilador Prolog experimental para arquitetura MIPS. O componente mais importante do Parma é a fase de análise global, que examina o programa como um todo;

        GNU Prolog - Sistema fornece dois modos de execução: interpretado e nativo;

        Aquarius - Foi primeiro sistema a compilar código nativo sem um estágio intermediário baseado na WAM;

        BinProlog - Capaz de interpretar, gerar código C/C++ ou ainda gerar código executável;

        Ciao Prolog - Ambiente de programação multi-paradigma desenvolvido na Universidade Politécnica de Madri. Foi inicialmente projetado para transformar código Prolog para C;

        Quintus Prolog -  Própria para aplicações comerciais e projetos de pesquisa que requerem ferramentas de software confiáveis;

...

Baixar como (para membros premium)  txt (11.2 Kb)   pdf (151.5 Kb)   docx (564 Kb)  
Continuar por mais 7 páginas »
Disponível apenas no TrabalhosGratuitos.com