Está en la página 1de 2

1.

Prolog es un lenguaje: a) Funcional b) lgico c) procedural d) nada de los anteriosres 2. Cul de las sustituciones en umg de los literales c1 = pred(f(a.Z),p(a),(X)) y c2 = pred(f(Y,a),p(V),V): a) {Y/a, Z/a, V/a, X/a} b) {Y/a, Z/a, p(a)/p(V), X/V} 3. Cual de los siguientes pares de frmulas se unifican? a) C1= pred(Z,a,f(b)) b) C1= pred1(Z,a,Y) C2= pred(X,a,X) C2= pred2(X,a,X) c) C1= pred1(Z,a,b) d) Ninguno de los anteriores C2= pred1(a,X,X) 4. Cul de las expresiones no es vlida en prolog? a) X = (6+Y1+X) b) Y = 12+X+Y2 c) Y=A+10/R d) Ninguno de ellos 5. Para un programa de prolog progenitor(clara , jose). progenitor(tomas , jose). progenitor(tomas , isabel). progenitor(jose , ana). progenitor(jose , patricia). progenitor(patricia , jaime). El objetivo: progenitor(X , jose), progenitor(Y , jose). Tendra respuesta: a) X=tomas Y= ana b) X=tomas Y=ana X=tomas Y= patricia 1 solucion c) X=jose Y=ana d) Ninguna de las anteriosres X=jose Y= patricia 6. Para los hechos de la pregunta 5, el objetivo: progenitor (tomas , X), progenitor (X,Y), Progenitor (Y,Z) tendr respuesta. a) X=jose Y=ana Z=atricia b) X=tomas Y=jose Z=ana 1 solution X=tomas Y=jose Z=patricia 2 solutions c) X= jose Y=patricia Z=Jaime d) No solutions 1 solution

7. Indique el caso que produce error del objetivo para el cdigo siguiente: Domains Prod,num = integer Predicates Pred(prod, prod, prod) calcular(num , num , num) Clauses calcular(X,Y,Res):- Res = X+Y. pred(X,Y,Res):- Res= X-Y. a) Goal b) Goal pred(7,8,N), calcular(N, 4, Res). calcular(13, 31, 44). c) Goal d) Ninguno de los anteriores pred(13, 31, Res). 8. La bsqueda en prolog se realiza. a) De izquierda a derecha y de arriba hacia abajo b) De arriba hacia abajo y de derecha a izquierda c) De arriba hacia abajo y de derecha a izquierda d) Ninguno de los anteriores 9. Los ciclos con bucle con backtrakingen prolog. a) Se realiza con backtraking b) Se realizan con fail c) a) y b) d) Ni a) , ni b) 10. Cul de los siguientes procedimientos esta realizado con corte rojo? a) formarpar(P,P). b) formarpar(P,P).!. formarpar(P1,P2):-P1<>P2!, formarpar(P1,P2):write(P1,juega con , P2,\n), write(P1,juega con , P2,\n), fail. fail. c) formarpar(P,P):-!. d) Ninguno de los anteriores formarpar(P1,P2):-P1<>P2!, write(P1,juega con , P2,\n), fail. 11. Optimizacion de la recursividad se hace para. a) acelerar el tiempo de la ejecucin de programa b) para calcular correcto c ) para economizar la memoria d) todo lo anterior

12. Cual de los siguientes procedimientos esta realizado con recursividad optimizada? a) particin([X],[X],[]):-!. b) particin([X],[X],[]):-!. particin([],[],[]):-!. particin([],[],[]):-! particin([X,Y|Z],[X|X1],[Y|Y1]):-x<>y particin([X,Y|Z],[X|X1],[Y|Y1]):-!. particin(Z,X1,Y1). particin(Z,X1,Y1), X<>Y. c) particin([X],[X],[]). d) Nada de los anteriostes particin([],[],[]). particin([X,Y|Z],[X|X1],[Y|Y1]):-!, particin(Z,X1,Y1). 13. Para el procedimiento encontrar(X, [X|_] ). encontrar(X, [_|R] ):- encontrar(X,R ). La respuesta al objetivo : encontrar(X, [a,b,c] )es: a) X= [a,b,c] b) X=a 1 Solution 1 Solution c) X=a d) Na de lo anterior X=b X=c 3 solutions 14. Qu procedimiento es? Predicado([],0):-!. Predicado([X],1):-!. Predicado([X,_|Y],Z):- Predicado(Y,Z1), Z-Z1. a) Suma de los elementos de posicin pares b) Obtencin del ltimo elemento en la lista c) Obtencin de la lista de los nmeros en d) Nada de lo anterior posicin impares 15. Cual de los procedimientos sirve para obtener la lista de los elementos negativos de la lista de entrada con los nmeros enteros? a) predicado ([],0). b) predicado ([X],[X]):-X<0!. predicado([X|Y],X):- X<0, predicado(Y,X1), X=X1. predicado([X],[]):- X>0!. predicado([X|Y],[X|Y1]):- X>0, predicado(Y,Y1). c) predicado ([],[]):-!. d) Ninguno de los anteriores predicado([X|Y],[X|Y1]):- X<0, !, predicado(Y,Y1). predicado([X|Y],Y1):- X>0, predicado(Y,Y1). 16. Concidere estructura del hecho que contiene informacin de una familia familia([persona([tomas,garcia,perez],fecha(7,mayo,1950),trabajo(profesor,750)), persona([ana,lopez,ruiz],fecha(10,marzo,1952),notrabaja), persona([juan,garcia,lopez],fecha(5,enero,1970),estudiante), persona([maria,garcia,lopez],fecha(12,abril,1972),estudiante)]). Indique correcta declaracin del predicado indicado a) Domains b) Domains nom=symbol* nom=symbol* fecha=fecha(integer,symbol,integer) fecha=fecha(integer,symbol,integer) trab=trabajo(symbol,integer); trab=trabajo(symbol,integer); estudiante; pers=persona(nom, fecha, trabajo) notrabaja listap=pers* pers=persona(nom, fecha, trabajo) predicates listap=pers* familia(listap) predicates familia(pers, pers, listap) c) Domains d) Ninguno de los anteriores nom=symbol* fecha=fecha(dia,mes,anio) trab=trabajo(symbol,integer); notrabaja predicates familia(listap) 17. como se formaliza la pregunta : Cul es el nombre de la persona que es estudiante? a) Familia(persona(N,_,estudiante)). b) familia(persona(N,_,estudiante),_,_). c) Familia(persona(N_,notrabaja),_,_) d) Nada de los anterior

También podría gustarte