Trabalho prolog
Curso de Engenharia da Computação
Paradigmas de Linguagens de Programação – 2013.2
Prof. Marcos Bendor
Aluno:_________________________________________________________
Lista de Exercícios – Prolog
Represente em Prolog os seguintes predicados genéricos sobre listas:
1) adiciona(X,L1,L2) – onde L2 é a lista que contém o elemento X e a lista L1.
Testar este predicado no interpretador Prolog, executando:
?- adiciona(1,[2,3],L).
?- adiciona(X,[2,3],[1,2,3]).
2) apaga(X,L1,L2) – onde L2 é a lista L1 sem o elemento X. Testar com:
?- apaga(a,[a,b,a,c],L).
?- apaga(a,L,[b,c]).
3) membro(X,L) – que é verdadeiro se X pertencer à lista L. Testar com:
?- membro(b,[a,b,c]).
?- …exibir mais conteúdo…
obs.: não usar a função max
17) contaOcorrencias: recebe um elemento e uma lista qualquer, retorna o número de ocorrências do elemento na lista
UNIVERSIDADE FEDERAL DO CEARÁ Campus de Sobral –
Curso de Engenharia da Computação
Paradigmas de Linguagens de Programação – 2013.2
Prof. Marcos Bendor
18) unicaOcorrencia: recebe um elemento e uma lista e verifica se existe uma única ocorrência do elemento na lista. Exemplos: unicaOcorrencia(2, [1,2,3,2]) = No únicaOcorrencia(2, [3,1]) = No unicaOcorrencia(2, [2]) = Yes
19) maioresQue: recebe um número e uma lista de números, retorna uma lista com os números que são maiores que o fornecido. Exemplos: maioresQue(10, [4, 6, 30, 3, 15, 3, 10, 7], X) ==> X=[30, 15]
20) concatena: recebe duas listas quaisquer e retorna uma terceira lista com os elementos da primeira no início e os elementos da segunda no fim. Ex.: concatena([], [], X) ==> X=[] concatena([1, 2], [3, 4], X) ==> X=[1, 2, 3, 4]
21) remover: recebe um elemento e uma lista e retorna a lista sem a primeira ocorrência do elemento
22) removerUltimo: recebe uma lista e remove o último elemento da lista
23) removerRepetidos: recebe uma lista e retorna outra lista sem repetição de elementos. Ex.: removerRepetidos([7, 4, 3, 5, 7, 4, 4, 6, 4, 1, 2], X) ==> X=[7, 4,
3, 5, 6, 1, 2]
24) maiores: recebe um numero natural n e uma lista de números, retorna uma lista com os n maiores números sem alterar a