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 />

( unzip2 ’((4 copas )<br />

(9 paus )<br />

(k ouros )<br />

(k paus )<br />

(k copas ))<br />

(4 9 k k k)<br />

(copas paus ouros paus copas)<br />

Um procedimento para pontuar mãos de poquer pode separar os valores dos naipes<br />

das cartas, já que algumas das verificações dependem somente dos valores ou somente<br />

das cartas. Ordenar os valores também pode ser útil para identificar sequências.<br />

( define pontua<br />

( lambda ( hand )<br />

( let-values ((( cartas naipes ) ( unzip2 hand )))<br />

( let (( valores ( sort ( map carta- > valor<br />

cartas )<br />

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

Saved successfully!

Ooh no, something went wrong!