Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Exercícios sobre Listas Prolog.
- Escreva programas Prolog para resolver os seguintes problemas sobre Listas Prolog:
- 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]
- 2) Dada uma lista numérica, calcule a média aritmética dos elementos dessa lista. Ex.: ?- media([1,2,3],X). X = 2
- 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]
- 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]
- 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]
- 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]
- 7) Dada uma lista e um elemento, encontra os elementos vizinhos desse elemento (esquerda e direita) dentro da lista.
- Ex.: ?- vizinhos(c,[a,b,c,d],L). L = [b,d]
- Ex.: ?- vizinhos(d,[a,b,c,d],L). L = [c]
- 8) Dada uma lista, divida esta lista em duas, na posição especificada.
- Ex.: ?- divide([a,b,c,d],2,X,Y). X = [a,b] Y = [c,d]
- Ex.: ?- divide([a,b,c,d],3,X,Y). X = [a,b,c] Y = [d]
- 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]
- 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]
- 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]
- 12) Dada uma lista, inverta esta lista. Ex.?- inverte([a,b,c],X). X = [c,b,a]
- 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
- 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
- Ex.: ?- sublista1([a,1,2,b,c], [2,1,a,1,2,b,c,g,4]). Yes
- 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]
- 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]
- 17) Remove o elemento especificado por uma posição específica. Ex.: ?- remove_posicao(2,[a,b,c],X). X = [a,c]
- 18) Dado um termo, verifica se esse termo é uma lista. Ex.: ?- lista(2). No
- ?- lista([a,b,c]). Yes
- 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]
- 20) Dada duas listas, verificar quais elementos pertencem às duas listas. Ex.: ?- intersecao([a,b,c],[d,b,f,a],X). X = [a,b]
- 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.
- Ex: ?- encontra_elementos([[a,b,c], [d,e,f], [g, h,i]], 1,X). X = [a,d,g]
- Ex: ?- encontra_elementos([[a,b,c], [d,e,f], [g, h,i]], 2,X). X = [b,e,h]
- Ex: ?- encontra_elementos([[a,b,c], [d,e,f], [g, h,i]], 3,X). X = [c,f,i]
- 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]]
- 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]]
- 24) A partir de uma lista codificada como no exercício anterior, obtenha a lista original.
- 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]
- 25) Dada uma lista de elementos, replique cada elemento N vezes.
- Ex.: ?- replica([a,b,c],2,X). X = [a,a,b,b,c,c]
- 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