Está en la página 1de 3

PROLOG : EJERCICIOS

1.

UNA EMPRESA MATRIMONIAL TIENE UN FICHERO DE CANDIDATOS AL MATRIMONIO ORGANIZADO


SEGN LAS DECLARACIONES SIGUIENTES.
hembre(N,A,C,E)
mujer(N,A,C,E)
Donde N es el nombre de un hombre o de una mujer, A su altura (alta,media,baja), C es el color de su
cabello y E la edad (joven,adulta,vieja).
gusta(N,M,L,D)
que indica que a la persona N le gusta el gnero de msica M (clsica,pop,jazz), el gnero de literatura L
(Aventura, ciencia_ficcin, Policiaca) y practica del deporte D (tenis, natacin, jogging).
busca(N,A,C,E).
que expresa que la persona N busca una pareja de altura A, con cabello de color C y edad E.
Se considera que dos personas X e Y de sexos diferentes son adecuadas si X conviene a Y e Y
conviene X. se
dice que X conviene a Y si X conviene fsicamente a Y (la altura, color de cabello y edad de Y son los que busca
X) y si, adems los gustos de X e Y en msica, literatura y deporte coinciden.
A. Escribir el conjunto de declaraciones que representen el fichero de candidatos.
B. Escribir las reglas que definan conviene_fisicamente(X,Y) y las que definan tienen_igual_gusto(X,Y).
C. Ejecutar el programa para obtener las parejas ideales.

2.

DEFINIR UNA REGLA BINARIA CUYOS SUJETOS SEAN DOS NMEROS ENTEROS A Y B, QUE SEA
VERDADERA CUANDO SE MUESTREN POR PANTALLA TODOS LOS NUMEROS QUE SE
ENCUENTRAN
ENTRE A Y B, SIENDO A MENOR QUE B.
? entre(3,7).
3
4
5
6
7
IV.
DEFINIR UNA REGLA QUE RELACIONE UNA FECHA EXPRESADA EN DA, MES Y AO CON EL DA
JULIANO. ESTA ES UNA CONVENCIN ASTRONMICA QUE REPRESENTA CADA FECHA COMO EL NMERO
DE DAS TRANSCURRIDOS DESDE EL 1 DE ENERO DE 4713 AC. EL DA JULIANO SE OBTIENE HACIENDO:
DJ = ENT(365.25 * AP) + ENT(30.6001 * MP) + DIA + 1720982
Si MES = 1 2 entonces AP=AO 1 y MP = MES + 13
Si MES > 2 entonces AP=AO y MP = MES + 1

3.

4.

Dado el siguiente cdigo :


aa ([X | Y ] , Z , [X | T]) : - aa (Y,Z,T).
aa ([ ],X,X).
bb ( [X | Y], S) : - bb (Y,S1) , S is S1 + X.
bb ( [ ],0).
cc( [ X | Xs],N [ X | Xs] , [ ] ) : bb( [ X | Xs ] ,M ),
M=<N.
cc( [ X | Xs ] ,N, [ A | As ] ,[ Y | Ys ] ) : aa ( [ A | As] , [ Y | Ys ], [ X | Xs ] ),
bb ( [ A | As ] ,M ),
M =< N,
M +Y > N.
Mediante un arbol de resolucin diga que se obtiene al ejecutar ? cc ([1, 2, 3 ,4, 5 ,6,7,8],17,L).

5.

Para el predicado siguiente :


p([],_,0).
p([X|Y],I,R):-I2=I+2,p(Y,I2,R1),
S=(-2)*I2,
R=(R1+X)*S.
Mediante un arbol de resolucin, calcule el siguiente objetivo: p([4,3,5,6],0,R).

6.

Dado las siguientes clusulas en prolog.


progenitor(juan,pedro)
primos(X,Y): - progenitor (Z,X),
progenitor(juan,luis)
progenitor (W,Y),
progenitor(juan,maria)
hermano (Z,W),
progenitor(pedro,ana)
progenitor(luis,carlos)
hermano(X,Y): -progenitor(Z,X),
progenitor(maria,isabel)
progenitor(Z,Y), X<>Y.
Se le pide hacer el arbol de resolucin para determinar ? primos(ana,X).

PROLOG : EJERCICIOS

Solucin:
%Ejercicio 1:
%Base:
%Parte a:
hombre(jorge,alta,negro,joven).
hombre(roberto, baja,castao,joven).
hombre(victor,media,marron_claro,vieja).
hombre(enzo,media,marron,adulta).
hombre(francisco,media,negro,adulta).
hombre(miguel,alta,negro,joven).
hombre(jose,media,castao,vieja).
mujer(catalina,media,marron,joven).
mujer(andrea,media,negro,joven).
mujer(anggie,alta,marron_claro,adulta).
mujer(mariana,baja,castao,joven).
mujer(doris,media,negro,vieja).
mujer(pilar,baja,castao,adulta).
mujer(esperanza,alta,negro,joven).
gusta(jorge,pop,aventura,tenis).
gusta(roberto,clasica,ciencia_ficcion,basket).
gusta(victor,jazz,policiaca,tenis).
gusta(enzo,jazz,ciencia_ficcion,tenis).
gusta(francisco,jazz,ciencia_ficcion,basket).
gusta(miguel,pop,aventura,natacion).
gusta(jose,jazz,policiaca,futbol).
gusta(catalina,pop,aventura,natacion).
gusta(andrea,pop,aventura,tenis).
gusta(anggie,jazz,ciencia_ficcion,tenis).
gusta(mariana,clasica,ciencia_ficcion,tenis).
gusta(doris,clasica,ciencia_ficcion,basket).
gusta(pilar,pop,ciencia_ficcion,tenis).
gusta(esperanza,pop,aventura,natacion).
busca(jorge,media,negro,joven).
busca(roberto,media,marron,joven).
busca(victor,baja,castao,adulta).
busca(enzo,alta,marron_claro,adulta).
busca(francisco,alta,marron,joven).
busca(miguel,alta,negro,joven).
busca(jose,media,negro,vieja).

PROLOG : EJERCICIOS

busca(catalina,media,marron,joven).
busca(andrea,alta,negro,joven).
busca(anggie,media,marron,adulta).
busca(mariana,media,marron,joven).
busca(doris,media,marron,joven).
busca(pilar,media,marron_claro,vieja).
busca(esperanza,media,marron,joven).
%Parte b:
convienen_fisicamente(X,Y):hombre(X,A,B,C),mujer(Y,E,F,G),busca(X,E,F,G),busca(Y,A,B,C).
tienen_igual_gusto(X,Y):hombre(X,_,_,_),mujer(Y,_,_,_),gusta(X,M,L,D),gusta(Y,M,L,D).
%Parte C:
parejas_ideales(X,Y):-convienen_fisicamente(X,Y),tienen_igual_gusto(X,Y).
&Ejemplo:

Intereses relacionados