Procedimentos e os processos que eles geram Pedro Kröger [email protected] 5 de setembro de 2006 Pedro Kröger [email protected] Procedimentos e os processos que eles geram Aritmética de Peano Duas maneiras para somar dois números inteiros (defun + (x y) (if (= x 0) y (+ (1- x) (1+ y)))) ; duas pilhas de coisas ; para somar (defun + (x y) (if (= x 0) y (1+ (+ (1- x) y)))) ; guarda o que vai ser somado as duas maneiras são quase idênticas através do modelo de substituição podemos investigar como os processos envolvem Pedro Kröger [email protected] Procedimentos e os processos que eles geram Iteração pedro 2,5 pedro 3,4 pedro 7 1,6 pedro 0,7 pedro Pedro Kröger [email protected] Procedimentos e os processos que eles geram Recursão 1+ 3,4 pedro 1+ 2,4 joão joão pedro marcos 6 7 Pedro Kröger ... [email protected] Procedimentos e os processos que eles geram Sequência de bonacci 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, . . . I sequência descrita por Leonardo de Pisa (c. 1200) para descrever o crescimento de uma população de coelhos I relacionado à seção áurea (ϕ) razão resultante quando uma linha é dividida de modo que o tamanho total está para o segmento maior assim com o segmento maior está para o menor x 1 2 1 = x −1 equivalente a x − x − 1 = 0, ϕ= √ (1+ 5) 2 Pedro Kröger ≈ 1.618 033 989 [email protected] Procedimentos e os processos que eles geram Luca Pacioli, Divina Proportione (1509) Pedro Kröger [email protected] Procedimentos e os processos que eles geram Parthenon Pedro Kröger [email protected] Procedimentos e os processos que eles geram Design de livros Pedro Kröger [email protected] Procedimentos e os processos que eles geram Espiral de bonacci Pedro Kröger [email protected] Procedimentos e os processos que eles geram Seção áurea na construção do violino Pedro Kröger [email protected] Procedimentos e os processos que eles geram Divisão formal em uma música de Bartok Pedro Kröger [email protected] Procedimentos e os processos que eles geram Para saber mais ver verbete Fibonacci number na wikipedia http://en.wikipedia.org/wiki/Fibonacci_number Para saber realmente mais, ver The Fibonacci Quarterly http://www.engineering.sdstate.edu/~fib/ Pedro Kröger [email protected] Procedimentos e os processos que eles geram Nós podemos denir bonacci iterativamente. A idéia é usar pares de inteiros a e b, iniciados em Fib(1) e Fib(0) e aplicar repetidamente as transformações simultâneas. (defun fib (n) (fib-iter 1 0 n)) (defun fib-iter (a b count) (if (= count 0) b (fib-iter (+ a b) a (- count 1)))) Pedro Kröger [email protected] Procedimentos e os processos que eles geram