Escolar Documentos
Profissional Documentos
Cultura Documentos
Prolog
Aula #4
Listas
Listas
Lista vazia representada pelo tomo []
Lista no vazia pode ser vista como tendo:
Exemplo
[maria,jose,manuel,filipe]
Cabea: maria
Cauda: [jose,manuel,filipe]
Listas
.(Cabeca,Cauda)
Listas
.
maria
jose
A representao
grfica deste
exemplo seria dada
pelo esquema
direita
As listas so, de
facto, representadas
internamente como
uma rvore binria
manuel
filipe
Listas
Cada elemento de uma lista pode, por sua vez, ser um termo
composto, incluindo uma outra lista
ainda possvel representar uma lista separando
explicitamente a cabea da cauda
[Cabea | Cauda ]
Exemplo
[a,b,c] = [a | [b,c] ] = [a,b | [c] ] = [a,b,c | [] ]
pertence(X,L)
Em prolog
pertence(X,[X|_]).
pertence(X,[H|T]):-pertence(X,T).
X pertence lista L se
Exerccio
Exerccio
10
concatena(L1,L2,L3)
11
12
13
concatena([],L,L).
concatena([X|L1],L2,[X|L3]) :- concatena(L1,L2,L3).
14
?-concatena(L1,L2,[a,b,c]).
15
16
17