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/keywords: ponto fixo, lisp, matemáticaCriado/Created: NaN
Última actualização/Last updated: 10-10-2022 [14:26]
(c) Tiago Charters de Azevedo