Addition | |
Name | add.lisp |
Programm | (defun add (a b) (+ a b) ) |
Laden | (load "c:\\Mylatz\\LISP\\add.lisp") |
Aufruf | (add 3 4) |
Antwort | 7 |
Fakultät | |
Name | fak.lisp |
Programm | (defun fak (x) (cond ((equal x 0) 1) (T (* x (fak (- x 1)))) ) ) |
Aufruf | (fak 112) |
Fakultät | mit Do-Schleife |
Name | fakdo.lisp |
Programm | (defun fak (x) (do ((i x (- i 1)); (erg 1 (* erg i))); ((= i 0) erg)); ) ) ) |
Aufruf | (fak 112) |
Fibonacci | mit Do-Schleife |
Name | fibo.lisp |
Programm | (defun fibo (x) (do ((i x (- i 1)); (erg 1 (* erg i))); ((= i 0) erg)); ) ) ) |
Aufruf | (fibo 10) |
Antwort | 3628800 |
Member | |
Name | member.lisp |
Programm | (defun member (x l) (cond ((null l) nil) ((equal x (car l)) l) (T (member x (cdr l)))) ) |
Aufruf | (member 3 (list 2 'a 3 5 7)) |
Transformiere | (setzt G für gerade Zahlen, U für ungerade) |
Name | gou2.lisp |
Programm | (defun GERADEP (x) (cond ((numberp x) (cond ((equal (GCD x 2) 2) T) (T nil) ) ) (T nil) ) ) (defun UNGERADEP (x) (defun TRANSFORMIERE (l) |
Aufruf | (TRANSFORMIERE (list 2 'a 3 5 7)) |
Verwandtschaft | |
Name | verwandt.pl |
Programm | vater(ludwig,uwe). mutter(irmgard,uwe). kind(Y,X):-vater(X,Y). kind(Y,X):-mutter(X,Y). fem(irmgard). mask(ludwig). mask(uwe). sohn(X,Y):- kind(X,Y),mask(X). tochter(X,Y):- kind(X,Y),fem(X). |
Aufruf | sohn(X Y) |
Antwort | X=ludwig Y=uwe |
Member | |
Name | member.pl |
Programm | member(E,[E|_]). member(E,[_|R]):-member(E,R). |
Aufruf | member(3 , [ 2, 4 , 5] ) |
Antwort | false |
Aufruf | member(3 , [ 2, 3 , 5] ) |
Antwort | true |
Aufruf | member(X , [ 2, 3 , 5] ) |
Antwort | X=2 ; X=3 ; X=4 ; false |
Reverse | |
Name | reverse.pl |
Programm | reverse(L,A):-rev(L,[],A). rev([],A,A). rev([H|L],R,A):-rev(L,[H|R],A). |
Aufruf | reverse( [ 2, 4 , 5] , X) |
Antwort | X = [5,4,2] |