5. Să se scrie o funcţie care transformă gradele Fahrenheit în grade Celsius.
(defun f-to-c (temp)
(/ (- temp 32) 1.8)
)
6. Sa se calculeze mn
(defun putere(m n)
(if (= n 0) 1 (* m (putere m (- n 1))))
)
7. Sa se calculeze n!
(defun factorial(n)
(if (= n 0) 1 (* n (factorial (- n 1))))
)
8. Să se scrie o funcţie care calculează Combinări de n luate câte k, n,k naturale, k<=n.
(defun combinari(n k)
(/ (factorial n) (* (factorial (- n k)) (factorial k)))
)
9. Sa se testeze daca este divizibil a cu 5?
(defun divizibil(a)
(integerp(/ a 5)))
10. Să se scrie o funcţie care la introducerea unui unghi întoarce cadranul în care se află
acesta.
(defun cadran(a)
(if (or (< a 0) (>= a 360)) "Numarul trebuie sa fie intre 0 si 360"
(if (<= a 90) "Cadranul 1"
(if (and (<= a 180) (> a 90)) "Cadranul 2"
(if (and (<= a 270) (> a 180)) "Cadranul 3"
"Cadranul 4"
)))))
11. Să se scrie o funcţie care transformă gradele Fahrenheit în grade Celsius.
(defun f-to-c (temp)
(/ (- temp 32) 1.8)
)
LISTE
12. Reuniunea a doua multimi.
(defun reuniune(x y)
(cond ((endp x) y)
((member (first x) y)
(reuniune(rest x)y))
(T(cons (first x)
(reuniune (rest x) y )))))
17. Funcţie care calculează adâncimea maxima a unui arbore dat
(defun adancime (l)
(if (= 1 (length l))
1
( let(
(a (adancime (arbstang l)))
(b (adancime (arbdrept l))))
( cond ((< a b)(+ b 1))
(t (+ a 1)))
) ; de la let
) ; de la if
)
18. Funcţie care returneaza varful arborelui
(defun headarb (l)
( car l))
19. Funcţie care verifica daca un anumit nod este in arbore
(defun search_key (key l)
( cond (( null l) nil )
( (= key (headarb l)) t )
( (search_key key (arbstang l)) t)
( (search_key key (arbdrept l)) t)
( t nil)))
(defun cauta_key (key l)
(cond ((search_key key l)
(princ '|gasit|))
(t (princ '|negasit|))))