

Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Exercicios resolvidos prolog sobre manipulaçao de listas
Tipologia: Exercícios
1 / 2
Esta página não é visível na pré-visualização
Não perca as partes importantes!


Exercício 1) Escreva um programa denominado limpa (X, L1, L2) que produz uma lista L2 como sendo a lista L1 sem nenhuma ocorrência do termo X. Exemplo: Limpa(2,[2,3,4],L2). L2 = [3,4]. Exercício 2) Escreva um programa que inverta uma lista de elementos. Inverter([2,3,4],X). X = [4,3,2]. Exercício 3) A palindrome is a word or phrase that spells the same forwards and backwards. For example, ‘rotator’, ‘eve’, and ‘nurses run’ are all palindromes. Write a predicatepalindrome(List) , which checks whether List is a palindrome. For example, to the queries ?- palindrome([r,o,t,a,t,o,r]). and ?- palindrome([n,u,r,s,e,s,r,u,n]). Prolog should respond yes, but to the query ?- palindrome([n,o,t,h,i,s]). it should respond no.
Exercicio 1 limpa(X, [], []). limpa(X, [X | T], T1) :- limpa(X, T, T1). limpa(X, [H | T], [H | R]) :- limpa(X, T, R). Exercicio 2 inverter([],[]). Inverter([],[]). inverter(X, Y) :- aux([], X, Y). aux(L, [], L). aux(L, [X | Y], Z) :- aux([X | L], Y, Z). Exercicio 3 palindromo(L):-inverter(L,L).