Sunteți pe pagina 1din 7

5

1. S se scrie o funcie care inverseaz primul element al unei liste cu ultimul element al
listei.

5
2. S se scrie o funcie care mut primul element al unei liste la sfritul listei.

5
3. S se implementeze funcia care mut ultimul element al unei liste la nceputul listei.

5
4. S se implementeze funcia NR-DESC(NR), unde NR este un argument ntreg, care
produce lista ce conine numerele de la NR la 1 (numerele n ordine descresctoare).

5
5. S se implementeze funcia NR-CRESC(NR), unde NR este un argument ntreg, care
produce lista ce conine numerele de la 1 la NR (numerele n ordine cresctoare).

5
6. S se implementeze funcia factorial.

5
7. S se construiasc o funcie care, conform tipului argumentelor, s returneze
urmtoarele rezultate: - dac argumentul este o list s ntoarc primul element al listei; - dac argumentul este un atom simbolic s ntoarc valoarea respectivului atom simbolic; - n caz contrar s ntoarc rspunsul "diferit".

5
8. S se implementeze funcia EXISTA care s verifice dac un atom A exist ntr-o list L
(se va implementa funcia predefinit MEMBER).

5
9. S se implementeze funcia STERGE(A L) care terge toate apariiile unui atom A
dintr-o list L.

7
1. S se implementeze funcia LISTA-PATRATE(L), al crei argument este o list de
numere, i care ntoarce o list cu ptratele numerelor listei argument.

7
2. S se implementeze funcia COMPARA-LUNG(L1 L2), ale crei argumente sunt dou
liste i care indic dac listele au aceeai lungime sau, dac nu, care este lista cu lungimea mai mare.

7
3. S se implementeze funcia EXTRACT-SIMBOL(L), care construiete lista ce conine
simbolurile din lista transmis ca argument.

7
4. S se implementeze funcia SUMA-NR(L), care ntoarce suma numerelor dintr-o list,
ignornd celelalte elemente ale listei care nu sunt numere. ?????????????/

7
5. S se implementeze funcia NR-IMPARE(L), care numr elementele impare din lista L.

7
6. S se implementeze funcia NR-PARE(L), care numr elementele pare din lista L.

7
7. S se defineasc funcia FIB(N) care ntoarce numrul lui Fibonnaci de ordin N.

8. S se implementeze funcia REUNIUNE(A B), care realizeaz reuniunea mulimilor A i


(defun reuniune (a b) (setq c '()) (dolist (x A c) (setq c (append c (list x))) ) (dolist (x b c) (setq ok nil) (dolist (y a) (cond ( (equal x y) (setq ok t) )) ) (cond ( (equal ok nil) (setq c (append c (list x))) )) ) )

B, reprezentate ca liste.

(reuniune '(1 2 3) '(4 2 6))

7
9. S se defineasc funcia INTERSECTIE(A B), care realizeaz intersecia mulimilor A i
(defun reuniune (a b) (setq c '()) (dolist (x b c) (setq ok nil) (dolist (y a) (cond ( (equal x y) (setq ok t) )) ) (cond ( (equal ok t) (setq c (append c (list x))) )) ) )

B, reprezentate ca liste.

7
10. S se defineasc funcia DIFERENTA(A B), care realizeaz diferena mulimilor A i B,
reprezentate ca liste.
(defun reuniune (a b) (setq c '()) (dolist (x a c) (setq ok nil) (dolist (y b) (cond ( (equal x y) (setq ok t) )) ) (cond ( (equal ok nil) (setq c (append c (list x))) )) ) )

10
1. S se implementeze funcia INVERSEAZA(L), care realizeaz inversarea elementelor
de pe primul nivel al listei L. (defun inverseaza (l) (setq temp ' ()) (dolist ( x l temp) (setq temp (append (list x ) temp )) ) )

10
2. S se defineasc funcia care returneaz cel mai mare numr impar dintr-o list de
ntregi pozitivi.
(defun functie (l) (setq max '-1) (dolist (x l max) (if (and (numberp x) (plusp x) (oddp x)) (setq max x) ) ) ( Cond ( (plusp max) (print max)) (T (print "nu exista")) ) )

10
3. S se defineasc funcia ELEM-POZ-IMPARE(L), care ntoarce elementele unei liste
aflate pe poziiile impare. (defun elem(l) (setq c 1) (dolist (x l) (cond ( (oddp c) (print x)) ) (setq c (+ 1 c)) ) )

10
4. Implementarea funciei APARTINE(e L) - ntoarce poriunea din lista L care ncepe cu
elementul e
( defun apartine (e l) (do ( (x 1)) ( (null l) nil) (if (equal (car l) e) (print l) ) (setq l (cdr l)) ) )

10
5. S se implementeze funcia INLOC(L NOU START STOP), care nlocuiete n lista L,
elementele situate pe poziiile dintre START i STOP, cu elementul NOU. (defun inloc (l nou start stop) (setq c 1) (setq temp '()) (dolist (x l temp) (cond ( (or (< c start) (> c stop)) (setq temp (append temp (list x))) ) ( t (setq temp (append temp (list nou)))) ) (setq c (+ 1 c)) ) (setq l temp) )

10
6. S se scrie o funcie care testeaz dac o list este liniar.
(defun este_liniara( lista ) (setq esteL T) (do ((setq esteL T)) (( or (equal lista nil) (equal esteL nil)) esteL ) ( if (not ( atom (car lista))) (setq esteL nil )

) (setq lista (cdr lista)) ) )

10
7. S se implementeze funcia care are dou argumente numere N1 i N2 i va afia
ptratele numerelor ntregi aflate n intervalul [N1, N2]. (defun f (n1 n2) (do ((c n1)) ( (equal c n2) (print (expt c 2))) (print (expt c 2)) (setq c (1+ c)) ) )

S-ar putea să vă placă și