Advertisement
Guest User

exercicios listas

a guest
May 21st, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.22 KB | None | 0 0
  1. Exercícios sobre Listas Prolog.
  2. Escreva programas Prolog para resolver os seguintes problemas sobre Listas Prolog:
  3.  
  4. 1) Dada uma lista numérica e um número, encontre todos os elementos maiores do que o número especificado. Ex: ?- maiores([1,2,3,4],2,X).  X = [3,4]
  5. 2) Dada uma lista numérica, calcule a média aritmética dos elementos dessa lista. Ex.: ?- media([1,2,3],X).  X = 2
  6. 3) Dada uma lista numérica, encontrar todos os elementos maiores que a média aritmética dos elementos da lista. Ex.?- maiores_media([1,2,3],X).  X = [3]
  7. 4) Dada uma lista, e uma posição, retorne todos os elementos anteriores àquela posição. Ex: ?- anteriores([a,b,c,2,3,5], 4,X).  X = [a,b,c]
  8. 5) Dada uma lista, e uma posição, retorne todos os elementos posteriores àquela posição (incluindo essa posição). Ex: ?- posteriores([a,b,c,2,3,5], 4,X).  X = [2,3,5]
  9. 6) Dado um inteiro N, crie uma lista contendo os inteiros de 1 a N. Ex.: ?- inteiros(6,X).  X = [1,2,3,4,5,6]
  10. 7) Dada uma lista e um elemento, encontra os elementos vizinhos desse elemento (esquerda e direita) dentro da lista.
  11. Ex.: ?- vizinhos(c,[a,b,c,d],L).  L = [b,d]
  12. Ex.: ?- vizinhos(d,[a,b,c,d],L).  L = [c]
  13. 8) Dada uma lista, divida esta lista em duas, na posição especificada.
  14. Ex.: ?- divide([a,b,c,d],2,X,Y).  X = [a,b] Y = [c,d]
  15. Ex.: ?- divide([a,b,c,d],3,X,Y).  X = [a,b,c] Y = [d]
  16. 9) Dado um intervalo de números inteiros, crie uma lista contendo os elementos desse intervalo. Ex.: ?- invervalo(1,5,X).  X = [1,2,3,4,5]
  17. 10) Dada uma lista de listas, crie uma segunda lista formada pelos tamanhos dessas listas. Ex.: ?- tamanhos([[a],[3,d,f,5],[3,2]],L).  L = [1,4,2]
  18. 11) Dada duas listas numéricas ordenadas, crie uma terceira lista também ordenada com todos os elementos da primeira e da segunda lista. Ex: ?- merge([1,8,18,25],[3,5, 15, 22],X).  X = [1,3,5,8,15,18,22,25]
  19. 12) Dada uma lista, inverta esta lista. Ex.?- inverte([a,b,c],X).  X = [c,b,a]
  20. 13) Dada duas listas, verifica se todos os elementos da primeira estão dentro da segunda. Ex.: ?- sublista([a,1,2,b,c],[3,a,2,u,c,1,j,b]).  Yes
  21. 14) Dada duas listas, verifica se todos os elementos da primeira estão dentro da segunda na mesma ordem. Ex.: ?- sublista1([a,1,2,b,c],[3,a,2,u,c,1,j,b]).  No
  22. Ex.: ?- sublista1([a,1,2,b,c], [2,1,a,1,2,b,c,g,4]).  Yes
  23. 15) Remove a primeira ocorrência de um elemento dentro de uma lista. Ex.: remove(3,[1,2,3,4,3],X).  X = [1,2,4,3]
  24. 16) Remove todas as ocorrências de um elemento dentro de uma lista. Ex.: remove(3,[1,2,3,4,3],X).  X = [1,2,4]
  25. 17) Remove o elemento especificado por uma posição específica. Ex.: ?- remove_posicao(2,[a,b,c],X).  X = [a,c]
  26. 18) Dado um termo, verifica se esse termo é uma lista. Ex.: ?- lista(2).  No
  27. ?- lista([a,b,c]).  Yes
  28. 19) Dada uma lista formada por listas e elementos, encontrar uma lista que contém apenas elementos. Ex.: ?- nivela([1,[a,b,[c,2]], 3,4,[3,1]], X).  X = [1,a,b,c,2,3,4,3,1]
  29. 20) Dada duas listas, verificar quais elementos pertencem às duas listas. Ex.: ?- intersecao([a,b,c],[d,b,f,a],X).  X = [a,b]
  30. 21) Dada uma lista formada por elementos que também são listas, encontrar uma lista com os elementos especificados em uma dada posição.
  31. Ex: ?- encontra_elementos([[a,b,c], [d,e,f], [g, h,i]], 1,X).  X = [a,d,g]
  32. Ex: ?- encontra_elementos([[a,b,c], [d,e,f], [g, h,i]], 2,X).  X = [b,e,h]
  33. Ex: ?- encontra_elementos([[a,b,c], [d,e,f], [g, h,i]], 3,X).  X = [c,f,i]
  34. 22) Dada uma lista de elementos duplicados, coloque as duplicações em listas específicas. Ex.: ?- empacota_copias([a,a,a,a,b,b,b,c,c,c,d,d,e,e,e,e],L).  L = [[a,a,a,a],[b,b,b] [c,c,c],[d,d],[e,e,e,e]]
  35. 23) Utilize o programa anterior para implementar um programa de compactação de uma lista de repetições. Ex.: ?-codifica([a,a,a,a,b,b,b,c,c,c,d,d,e,e,e,e],L).  L = [[a,4],[b,3] [c,3],[d,2],[e,4]]
  36. 24) A partir de uma lista codificada como no exercício anterior, obtenha a lista original.
  37. Ex.: ?- decodifica([[a,4],[b,3] [c,3],[d,2],[e,4]],L).  L = [a,a,a,a,b,b,b,c,c,c,d,d,e,e,e,e]
  38. 25) Dada uma lista de elementos, replique cada elemento N vezes.
  39. Ex.: ?- replica([a,b,c],2,X).  X = [a,a,b,b,c,c]
  40. Ex: ?- replica([a,b,c],3,X).  X = [a,a,a,b,b,b,c,c,c]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement