Na nossa terceira aula de métodos computacionais discutimos recursões. Esses são os slides usados em sala.
Abaixo temos os exemplos apresentados em sala de aula:
Implementações da sequencia de Fibonacci
Implementações do fatorial de um número
Solução da Torre de Hanoi
Referências:
Think recursively - Eric S. Roberts
Persian Recursion Anne M. Burns Mathematics Magazine Vol. 70, No. 3 (Jun., 1997), pp. 196-199
The Algorithmic Beauty of Plants - Przemyslaw Prusinkiewicz and Aristid Lindenmayer (1991)
Introduction to recursive programming - Manuel Rubio Sanchez
Mathematical puzzles and diversions (Volume 2) - Martin Gardner
Referências Adicionais para essa aula:
1. Usuários de Python podem ter interesse em olhar:
Think Python - Allen Downey: Capítulo 5.
2. Usuários de C++ podem ter interesse em olhar:
Think C++: Capítulo 4.
Soluções da série de exercícios
Observação: Vários dos exercícios abaixo usam a idéia de Turtle Graphics discutida aqui.
Algoritmo de Euclides [Questão 5 dos slides]
Árvores usando recursão [Questão 6 dos slides]
Pinturas de Mondrian usando recursão [Questão 7 dos slides]
Sierpinski Gasket [Questão 8]
Ilhas de Koch [Questão 9(a)]
Ilhas de Koch 2 [Questão 9(b)]
Gosper Hexagonal Curve [Questão 9(c)]
L-systems [Questão 9(d)]
Tree OL Systems 2 [Questão 9(e)]
Tree OL Systems [Questão 9(f)]
Tree OL Systems [Questão 9(g)]
Tree OL Systems [Questão 9(g) - solução 2]
Tree OL Systems [Questão 9(i)]
Tree OL Systems [Questão 9(m)]
Tree OL Systems [Questão 9(o)]
Tree OL Systems [Questão 9(r)]
Tree OL Systems [Questão 9(s)]
Como implementar persian recursions [Questão 10(a) e 10(b)]
Triangulo de Sierpinski [Questão 11(a)]
Curva de Hilbert [Questão 11(b)]
Árvore binária [Questão 11(c)]
Tabuleiro [Questão 11(d)]
Combinações no jogo de basquete [Questão 11(e)]
Soma de bits [Questão 11(f)]
Números de Catalan [Questão 11(g)]
Números de Catalan [Questão 11(g)]
Árvore binária [Questão 11(h)]
Pirâmides [Questão 11(i)]
John-Mary [Questão 11(j)]