Ponto fixo
Parte da motivação e estimulo de programar é ter-se imediatamente e com exactidão pouco vulgar, por comparação com outras actividades, o resultado imediato de um pensamento. Suponho que quem pensa claramente não precise de se dedicar a estas actividades. Programar permite, entre outras coisas, e quando se está a aprender, reescrever coisas que se sabem noutros contextos ou situações. É exactamente isso que me acontece, como mostram bem os sucessivos exemplos em Emacs Lisp que se podem encontrar nestas páginas. Um caso muito relevante é, por exemplo, a procura de pontos fixos de funções reais.
Considere-se a função nest em Emacs Lisp definida por
(defun nest (op xo n) (cond ((= n 1) xo) (t (nest op (funcall op xo) (- n 1)))))
que faz a composição sucessiva da operação op um número n de vezes tomando o
valor inicial xo.
A instrução (nest 'cos 1 10) faz 10 composições da função cos tomando o valor
inicial 1. O Resultado é: 0.7314040424225098. O valor da expressão (cos (nest 'cos 1
10)) é 0.7442373549005569, "quase" o anterior.
Estimulante não?
Palavras chave: ponto fixo, lisp, matemáticaÚltima actualização/Last updated: 2012-02-26 [15:49]
1999-2011 (c) Tiago Charters de Azevedo
São permitidas cópias textuais parciais/integrais em qualquer meio com/sem alterações desde que se mantenha este aviso.
Verbatim copying and redistribution of this entire page are permitted provided this notice is preserved.
