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 - Jerônimo C. Pellegrini<br />

1.12 Listas de associação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46<br />

1.13 Abstração de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49<br />

1.13.1 Exemplo: números <strong>com</strong>plexos . . . . . . . . . . . . . . . . . . . . . . 49<br />

1.14 Formatação de Código . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52<br />

2 Entrada e saída 61<br />

2.1 Arquivos e portas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />

2.1.1 Portas de strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65<br />

2.2 Um gerador de XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67<br />

2.3 Gráficos vetoriais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72<br />

2.3.1 Exemplo: triângulo de Sierpinski . . . . . . . . . . . . . . . . . . . . . 76<br />

3 Estado, ambiente, escopo e fechos 83<br />

3.1 Modificando o estado de variáveis . . . . . . . . . . . . . . . . . . . . . . . . 83<br />

3.2 Quadros e ambientes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84<br />

3.2.1 Escopo estático . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88<br />

3.2.2 Cuidados <strong>com</strong> o ambiente global . . . . . . . . . . . . . . . . . . . . . 88<br />

3.3 Listas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89<br />

3.3.1 Listas circulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90<br />

3.3.2 Filas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91<br />

3.3.3 Árvores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96<br />

3.4 Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96<br />

3.5 Vetores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97<br />

3.5.1 Iteração <strong>com</strong> do . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98<br />

3.6 Fechos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102<br />

3.6.1 Memoização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105<br />

3.6.2 Um novo gerador de números aleatóreos . . . . . . . . . . . . . . . . 105<br />

3.6.3 Um micro sistema de objetos . . . . . . . . . . . . . . . . . . . . . . . 106<br />

3.6.4 Exemplo: gerenciador de workflow . . . . . . . . . . . . . . . . . . . . 109<br />

3.7 Escopo dinâmico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109<br />

4 Vetores, Matrizes e Números 115<br />

4.1 Matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115<br />

4.2 Operações <strong>com</strong> vetores e matrizes . . . . . . . . . . . . . . . . . . . . . . . . 118<br />

4.3 Criando imagens gráficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119<br />

Versão Preliminar<br />

4.3.1 Translação e Rotação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122<br />

4.3.2 Plotando funções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122<br />

4.3.3 Exemplo: conjuntos de Julia . . . . . . . . . . . . . . . . . . . . . . . . 122<br />

ii<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!