08.02.2015 Views

Programação Funcional e Concorrente com Scheme

Programação Funcional e Concorrente com Scheme

Programação Funcional e Concorrente com Scheme

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

notas de aula -<br />

Jerônimo C. Pellegrini<br />

1 2<br />

um par<br />

1 2 4<br />

uma lista<br />

O último par de uma lista tem sempre a lista vazia em seu cdr (representado pelo<br />

sinal de aterramento no diagrama).<br />

(cons 1 ’())<br />

(1)<br />

(cons 1 (cons 2 (cons 3 ’())))<br />

(1 2 3)<br />

(cons 1 (cons 2 (cons 3 4)))<br />

(1 2 3 . 4)<br />

1.12 listas de associação<br />

Usaremos uma lista para armazenar um catálogo de filmes. Cada entrada conterá o nome<br />

do filme e o local onde ele se encontra (que pode ser uma estante ou o nome da pessoa<br />

para quem o emprestamos). Um exemplo de base catálogo neste formato é mostrado a<br />

seguir.<br />

Versão Preliminar<br />

’(("Run , Lola , run !" ( estante b3 ))<br />

(" Fahrenheit 451 " ( emprestado " John Doe "))<br />

(" The day Earth stood still " ( estante c4 )))<br />

Listas <strong>com</strong>o esta são chamadas de listas de associação, e sua forma é<br />

( ( chave valor )<br />

( chave valor )<br />

...<br />

( chave valor ) )<br />

Criaremos um procedimento assoc procura um item em listas de associação.<br />

46<br />

[ 27 de outubro de 2010 at 15:47 ]

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!