lista PLP

Páginas: 8 (1934 palavras) Publicado: 9 de abril de 2014
Paradigmas de Linguagens de Programação
Lista 1
Prof. Sergio Zorzo
1. Expresse cada uma das seguintes afirmações usando uma sentença escrita em lógica de
primeira ordem, utilizando apenas os símbolos de predicados “pai”, “mãe”, “progenitor”,
“mulher”, “filho”
Obs: faça uso de quaisquer quantificadores que julgar necessários
a. “Se X é um pai ou X é uma mãe então X é progenitor de alguém”b. “Se X é um progenitor e X é uma mulher então X é mãe de alguém”
c. “Se X é um pai ou X é uma mãe então alguém é progenitor de alguém”
d. “Se todo mundo é um progenitor então alguém é um filho”
2. Expresse cada uma das seguintes afirmações usando lógica de primeira ordem em forma
clausal, utilizando apenas as palavras grifadas como símbolos de predicado
a. “Nem tudo que reluz é ouro”
b.“Tudo está bem quando termina bem”
c. “Nenhum homem é uma ilha”
d. “Os fins justificam os meios”
3. Encontre os unificadores mais gerais para os seguintes pares de termos (se possível)
a. p(a, X) e p(Y, b)
b. p(X, X) e p(Y, Z)
c. p(X, Y) e p(Y, X)
d. p(t(X, t(X, b))) e p(t(a, Z))
e. p(t(X, t(X, b))) e p(t(a, t(Z, Z)))
f. p(X, f(Y)) e p(f(Y), X)
g. p(X, f(X)) e p(f(Z), f(Z))
4. Faça a árvorede busca para o seguinte programa lógico, considerando a consulta
?sub(l(a,X), l(a,l(b,nil)))
S1: sub(X, Y) se pre(X, Y)
S2: sub(X, l(U,Y)) se sub(X, Y)
P1: pre(nil, Y)
P2: pre(l(U,X), l(U,Y)) se pre(X, Y)
5. Considere o seguinte programa Prolog
pai_ou_mae(tom,bob).
pai_ou_mae(tom,liz).
pai_ou_mae(bob,ana).
pai_ou_mae(bob,pat).
pai_ou_mae(pat,jim).
mulher(ana).
mulher(pat).irma(X,Y) :- pai_ou_mae(Z,X),
pai_ou_mae(Z,Y),
mulher(Y).
Faça a árvore de busca para a consulta irma(pat,X), para demonstrar como pat se torna
irmã dela mesma nessa versão do programa.

6. Considere o seguinte programa Prolog
proc(X,Z) :- proc(Y,Z), a(X,Y).
proc(X,Z) :- a(X,Z).
a(a,b).
a(b,c).
a. Faça a árvore de busca para a consulta proc(a,Z), para demonstrar como é
importante conhecer omecanismo de inferência na escrita dos programas.
b. O que acontece?
c. Como resolver o problema?
7. Um programa Prolog tem as seguintes cláusulas
vertical(seg(ponto(X,Y),ponto(X,Y1))).
horizontal(seg(ponto(X,Y),ponto(X1,Y))).
Dê os resultados das consultas:
????-

vertical(seg(ponto(1,1),ponto(1,2))).
vertical(seg(ponto(1,1),ponto(2,Y))).
horizontal(seg(ponto(1,1),ponto(2,Y))).vertical(seg(ponto(2,3),P)).

8. Na programação Lógica, a operação de casamento de padrão é efetuada pela unificação,
que no Prolog é denotada pelo operador =. Dê o resultado das instanciações de variáveis
nas operações de casamento de padrão abaixo:
a. point(A,B) = point(1,2)
b. point(A,B) = point(X, X, Z)
c. [a,b,c,[ab], [], [[a], c]] = [X, Y | Z]
d. [p, [seg], t, q] = [X,[Y] ,Z | S]
e.triangle(point(-1,0), P2, P3) = triangle(P1, point(1,0), point(0,Y))
f. [X,Y | Z] = [2,[3,4]]
g. [lista, de, exercicios, de , IA] = [X, de | W]
9. Dê o resultado das seguintes consultas:
?????????-

gosta_de(maria,X) = gosta_de(X,joao).
3+5 >= 5+3.
3+5 @>= 5+3
3+(5*2-1)/4 =:= 5-2.
3+(5*2-1)/4 = 5-2.
3+(5*2-1)/4 == 5-2.
X=4, X is (X-2)*2.
X is X+1.
X=1, X is X + 1.

10. Constua uma basede dados sobre livros com pelo menos cinco estruturas do tipo:
livro(nome('C completo e total'),
autor('Schildt'),
pal_chave([linguagemc, programacao, computacao])).
onde a lista de palavras chave pode ter entre três e seis elementos.
a. Escreva consultas para encontrar:
- nome do autor, dado o nome do livro
- nome do livro, dado o nome do autor
- as palavras chave, dado o nome do livro
-nome do autor e o nome do livro, dada uma palavra chave
b. Escreva um programa para, dada uma lista de palavras chave, encontrar os livros (nome
e autor) que tem pelo menos uma das palavras chave fornecidas. Os livros encontrados
devem ser dados um de cada vez.
11. Defina os predicados n_par(Lista) e n_impar(Lista) para determinar se uma dada lista tem
número par ou ímpar de elementos,...
Ler documento completo

Por favor, assinar para o acesso.

Estes textos também podem ser interessantes

  • Plp projeto
  • EXERCICIO PLP
  • ATPS
  • PLP Topico3 TiposCompostos
  • PLP , Sebesta 9 edição
  • gip´l´plp
  • Catalogo Dist PLP
  • Lista

Seja um membro do Trabalhos Feitos

CADASTRE-SE AGORA!