(1.) možnosť hladaj1_a.
Pomocou funkcie isin (treba napísať), zistím
či sa nachádza
jeden prvok a potom v podmienke OR otestujem pre oba.
(2.) možnosť hladaj1_b. Urobím to pomocou jednej funkcie. Teda budem prechádzať zoznam a na každom prvku testovať, či je to jeden z daných (OR).
Ak prvky majú byť čísla stačí pre porovnanie =, ak atómy eq, ak sv (s-výraz) equal.
(defun isin (a zoz)
(cond ((null zoz) NIL)
((equal (first zoz) a) T)
(T (isin a (rest zoz)))
)
)
(defun hladaj1_a (a b zoz)
(or (isin a zoz) (isin b zoz))
)
Príklad použitia:
(hladaj1_a 'a 'b '(1 b 3)) vráti T.
(defun hladaj1_b (a b zoz)
(cond ((null zoz) NIL)
((or (equal a (first zoz)) (equal b (first zoz))) T)
(T (hladaj1_b a b (rest zoz)))
)
)
Príklad použitia:
(hladaj1_b 'a '(b) '(1 (b) 3)) vráti T.