Ejercicios prolog
SISTEMAS INTELIGENTES
Ejercicios Básicos (Obligatorio)
Usando SWI-Prolog definir
1. Definir la relación primer_elemento(L,X) que sea verdadero si X es el primer elemento de la lista L. Por ejemplo, primer_elemento([a,b],a).
?- primer_elemento(X,[e,b,c]).
X = e.
?- primer_elemento(X,[e,b,c]).
X = e.
?-primer_elemento(a,[X,b,c]).
X = a.
?- primer_elemento(a,[X,Y]).
X = a.
?- primer_elemento(a,[a,X,c]).
true.
?- primer_elemento(e,[a,X,c]).
false.
2. Definir la relación resto_lista(L1,L2) que sea verdadero si L2 es la lista obtenida a partir de la lista L1 suprimiendo el primer elemento. Por ejemplo, resto_lista([a,b,c],[b,c]).
3.Definir la relación construir(X,L1,L2) que sea verdadero si L2 es la lista obtenida añadiéndole X a L1 como primer elemento. Por ejemplo, construir(a, [b,c],[a,b,c]).
4. Definir la relación es_elemento(X,L) que sea verdadero si X es un elemento de la lista L. Por ejemplo, es_elemento(c, [a,b,c]).
5. Definir la relación concatenacion(L1,L2,L3) que sea verdadero si L3 es la lista obtenidaescribiendo los elementos de L2 a continuación de los elementos de L1. Por ejemplo, concatenacion([a,b],[c,d],[a,b,c,d]).
6. Definir la relación lista_inversa(L1,L2) que sea verdadero si L2 es la lista obtenida invirtiendo el orden de los elementos de la lista L1.
7. Un palíndromo es una palabra que se lee igual en los dos sentidos, por ejemplo “oso”. Definir la relación palindromo(L)que sea verdadero si la lista L es un palíndromo.
8. Definir la relación ultimo_elemento(X,L)que sea verdadero si X es el último elemento de la lista L.
9. Definir las relación penultimo_elemento(X,L) que sea verdadero si X es el penúltimo elemento de la lista L.
10. Definir la relación quita_elemento(X,L1,L2) que sea verdadero si L2 es la lista obtenida eliminando una ocurrenciade X en L1.
11. Definir la relación inserta(X,L1,L2) que sea verdadero si L2 es una lista obtenida insertando X en L1.
12. Definir la relación sublista(L1,L2) que sea verdadero si L1 es una sublista de L2.
13. Definir la relación permutacion(L1,L2) que sea verdadero si L2 es una permutación de L1.
14. Definir la relación todos_iguales(L) que sea verdadero si todos los elementosde la lista L son iguales entre sí.
15. Definir la relación longitud_par(L) que sea verdadero si la longitud de la lista L es par.
16. Definir la relación rotacion(L1,L2) que sea verdadero si L2 es la lista obtenida a partir de L1 colocando su primer elemento al final.
17. Definir la relación subconjunto(L1,L2) que sea verdadero si L2 es un subconjunto de L1.
18. Definir larelación máximo(X,Y,Z) que sea verdadero si Z es el máximo de X e Y.
19. Definir la relación factorial(X,Y) que sea verdadero si Y es el factorial de X.
20. La sucesión de Fibonacci es 0,1,1,2,3,5,8,13,21,… en la que cada término, salvo los dos primeros,es la suma de los dos anteriores. Definir la relación fibonacci(N,X) que sea verdadero si X es el n–ésimo término de la sucesión deFibonacci.
21. Definir la relación mcd(X,Y,Z) que sea verdadero si Z es el máximo común divisor de X e Y.
22. Definir la relación longitud(L,N) que sea verdadero si N es la longitud de la lista L.
23. Definir la relación max_lista(L,X) que sea verdadero si X es el máximo de la lista de números L.
24. Definir la relación suma_lista(L,X) que sea verdadero si X es la suma de loselementos de la lista de números L.
25. Definir la relación ordenad(L) que sea verdadero si la lista de números L está ordenada de manera creciente.
26. Definir la relación suma_parcial(L1,X,L2) que sea verdadero si L2 es un subconjunto de L1 tal que la suma de sus elementos es X.
27. Definir la relación lista(N,L) que sea verdadero si L es la lista de longitud N cuyos elementos son N....
Regístrate para leer el documento completo.