Tomemos agora o seguinte exemplo, o de construir uma função que soma todos os inteiros entre a
a b
:
(defun sum-int (a b) (cond ((> a b) 0) (t (+ a (sum-int (+ a 1) b)))))
Definindo a função quadrado de um número square
(defun square (x) (* x x))podemos definir também a soma dos quadrados dos inteiros entre
a
a b
como
(defun sum-int-square (a b) (cond ((> a b) 0) (t (+ (square a) (sum-int-square (+ a 1) b)))))
A série
converge (muito devagar) para o número
:
(defun pi-sum (a b) (cond ((> a b) 0) (t (+ (/ 1.0 (* a (+ a 2))) (pi-sum (+ a 4) b)))))
Created: NaN
Last updated: 23-01-2025 [00:03]
For attribution, please cite this page as:
Charters, T., "Exemplos em ELISP": https://nexp.pt/exemplos-lisp.html (23-01-2025 [00:03])
(cc-by-sa) Tiago Charters - tiagocharters@nexp.pt