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 latex2png equation converge (muito devagar) para o número latex2png equation:

(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