Programa que "entende" sentenças simples (semântica)


Descrição do proplema: Interpretação 2

O programa deve "entender" sentenças simples que tenham os padrões abaixo:

O programa deverá dar respostas apropriadas para as sentenças previamente dada pelo usuário. As respostas que o programa enviará para o usuário são:

Para que as respostas apropriadas sejam fornecidas o programa deverá transformar sentenças em cláusulas Prolog, e estas devem ser executadas.

Características necessárias para a resolução do problema:

Para a resolução do problema foram utilizados alguns predicados pré-definidos do Prolog, entre eles:

Descrição da resolução:

Para um programa Prolog "entender" sentenças simples é necessário que ele armazene tais sentenças (da maneira que ele conhece, ou seja, através de cláusulas Prolog) e interprete-as.

O programa desenvolvido é ativado por meio do predicado talk que é composto por predicados como:

Execução - Casos de teste:

Para inicializar a execução do programa o usuário deverá chama-lo, ou seja, digitar talk (nome do programa). A partir dai o programa irá fornecer diretrizes a respeito da estrutura das sentenças. E o usuário deverá então entrar com as sentenças. Um exemplo de execução será ilustrado a seguir:

?- talk.

Digite uma sentenca com um dos padroes abaixo:

______eh um(a)______.

um(a)______eh um(a)______.

______eh um(a)______?

Digite stop. para sair.

joao eh um homem.

Ok!

um homem eh um individuo.

Ok!

joao eh um individuo?

Sim

maria eh uma pessoa?

Nao sei

maria eh uma pessoa.

Ok!

maria eh uma pessoa?

Sim

maria ama joao?

Padrao de sentenca nao reconhecido.

stop.

yes


Interpretação 1 : código (roda em Amzi 3.3 e 4.1)

Interpretação 2 : código (roda em Amzi 4.1), código (roda em Amzi 3.3)


Última Atualização [99/Apr/14 05:55] por Myrian Renata Barros Araujo