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

Prolog E Lisp

Casos: Prolog E Lisp. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  1/6/2014  •  390 Palavras (2 Páginas)  •  524 Visualizações

Página 1 de 2

PROLOG

O Prolog (PROgramação em LOGica) é uma linguagem declarativa, significando que em vez de o programa estipular a maneira de chegar à solução, passo a passo, limita-se a fornecer uma descrição do problema que se pretende solucionar.

Usa umacoleção de fatos e de relações lógicas (regras) que exprimem o domínio do problema a resolver.

Não possui estruturas de controle (if-else, do-while, for, switch). Ao invés disso são utilizados métodos lógicos para declarar como o programa deverá atingir seu objetivo.

Algumas característica são:

- unificação: mecanismo de ligar os conteúdos das variáveis e pode ser visto como um tipo de atribuição.c.

- recursão: repetição de um objeto de um jeito similar ao que já fora mostrado.

- backtracking:refinamento da busca por força bruta.

Aplicabilidade na IA (inteligência artificial):

- aperfeiçoamento dos agentes inteligentes da IA através de suas teorias de procura.

-Aplicações de “General ProblemSolving”, como jogos de xadrez, damas, jogo da velha etc.

-planejamento automático de atividades.

Exemplo prático:

pai(arthur,silvio).

pai(arthur,carlos). Fatos

pai(carlos,xico).

pai(silvio,ricardo).

avo(X,Z) :- pai(X,Y), pai(Y,Z). Regra

?- avo(arthur,xico),avo(arthur,ricardo). Questão

Retornará a saída: "YES" Saída

LISP

A linguagem LISP é interpretada, onde o usuário digita expressões em um padrão formalmente definido e recebe de volta a avaliação de sua expressão.Cada programa em LISP, é, portanto, uma expressão.

Nela é possível usar exclusivamente funções matemáticas como estruturas de dados elementares.

Principais Características:

• Tipos de dados: átomo e a lista.

• Funções de ordem elevada: Linguagens funcionais tipicamente suportam funções de ordem elevada (exemplo: função de uma função de uma função de uma…).

• Um alto nível de abstração, especialmente quando as funções são utilizadas, suprimindo muitos detalhes da programação e minimizando a probabilidade da ocorrência de muitas classes de erros;

• A não dependência das operações de atribuição permite aos programas avaliações nas mais diferentes ordens. Esta característica de avaliação independente da ordem torna as linguagens funcionais as mais indicadas para a programação de computadores maciçamente paralelos;

• A ausência de operações de atribuição torna os programas funcionais muito mais simples para provas e análises matemáticas

...

Baixar como (para membros premium)  txt (2.9 Kb)  
Continuar por mais 1 página »
Disponível apenas no TrabalhosGratuitos.com