Advertisement
Guest User

Lisp v1

a guest
Mar 10th, 2016
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ----------------------------
  2. 1.
  3. (defun umetni(el n lista)
  4.             (
  5.                 if (zerop n) (cons el lista)
  6.                     (cons (car lista) (if (<= (1- n) 0) (cons el (cdr lista)) (umetni el (1- n) (cdr lista))))
  7.                
  8.             )
  9. )
  10. ----------------------------
  11. 2.
  12. (defun asocijativna(lista)
  13.                    (
  14.                     if (null lista) (princ "jeste")
  15.                                     (if (equal (length(car lista)) 2) (asocijativna(cdr lista)) (princ "nije"))
  16.                                      
  17.                    )
  18.                    
  19. )
  20.  
  21. (defun asocijativna(lista)
  22.                    (
  23.                     if (null lista) (princ "jeste")
  24.                                     (if (and (not (atom (car lista))) (equal (length(car lista)) 2)) (asocijativna(cdr lista)) (princ "nije"))
  25.                                      
  26.                    )
  27.                    
  28. )
  29. ----------------------------
  30. 3.
  31. (defun duzina(lista)
  32.              (
  33.                 cond ((null lista) '0)
  34.                     (t (1+ (duzina(cdr lista))))
  35.              )
  36. )
  37.  
  38. (defun duzina(lista)
  39.             (
  40.                 if (not (null lista)) (+ 1 (duzina(cdr lista))) '0
  41.             )
  42. )
  43. ----------------------------
  44. 4.
  45. (defun pozitivni(lista)
  46.             (
  47.                 if (null lista) '()
  48.                                 (if (> (car lista) 0) (append (list(car lista)) (pozitivni(cdr lista))) (pozitivni(cdr lista)))
  49.             )          
  50. )
  51. ----------------------------
  52. 5.
  53. (defun zbir(lista)
  54.             (
  55.                 cond ((null lista) 0)
  56.                     ((+ (car lista) (zbir(cdr lista))))
  57.             )
  58. )
  59.  
  60. (defun zbir(lista)
  61.             (
  62.                 cond ((null lista) 0)
  63.                     ((if (not ( atom (car lista))) (+ '0 (zbir(cdr lista))) (+ (car lista) (zbir(cdr lista))) ))
  64.             )
  65. )
  66. --------------------
  67. 6.
  68. (defun prebroj(lista)
  69.             (              
  70.                 if (listp(car lista)) (prebroj(append (cdr lista) (list(length(car lista))))) lista
  71.             )
  72. )
  73. ----------------------------
  74. 7.
  75. (defun promeni(n lista)
  76.             (
  77.                 if (null lista)
  78.                     '()
  79.                     (if (> n 0)
  80.                         (append (list(1+ (car lista))) (promeni (1- n) (cdr lista)))
  81.                         (append (list(1- (car lista))) (promeni (1- n) (cdr lista)))
  82.                     )
  83.             )
  84. )
  85. ----------------------------
  86. 8.
  87. (defun neparni(lista)
  88.             (
  89.                  if (null lista)
  90.                      '()
  91.                      (append (list(car lista)) (neparni(cdr (cdr lista))))
  92.                      
  93.             )
  94. )
  95.  
  96. (defun neparni(lista)
  97.             (
  98.                  if (null lista)
  99.                      '()
  100.                      (append (list(car lista)) (neparni(cddr lista)))
  101.                      
  102.             )
  103. )
  104. ----------------------------
  105. 9.
  106. (defun bitp(lista)
  107.         (
  108.             if (null lista) 0
  109.                 (mod (+ (car lista) (bitp(cdr lista))) 2)
  110.         )
  111. )
  112. ----------------------------
  113. 10.
  114. ;nije moje resenje !!!!!!!!!!!!!!!!!!!!!!!! radi za +
  115. (defun progres (n k)
  116.     (if (= 1 n)
  117.         (list '1)
  118.         (append (progres (1- n) k) (list (+ (* (- n 1) k) 1)))
  119.         )
  120.     )
  121. ; za geometrijskui *
  122. (defun progres (n k)
  123.     (if (= 1 n)
  124.         (list '1)
  125.         (append (progres (1- n) k) (list (expt k (- n 1)) ))
  126.         )
  127.     )
  128.  
  129. (defun progres (n k p)
  130.     (
  131.         cond
  132.         ((equal p 'a) (if (= 1 n) (list '1) (append (progres (1- n) k p) (list (+ (* (- n 1) k) 1)))))
  133.         ((equal p 'g) (if (= 1 n) (list '1) (append (progres (1- n) k p) (list (expt k (- n 1)) ))))
  134.     )
  135. )
  136. ----------------------------
  137. 11.
  138. ;nije moje resenje !!!!!!!!!!!!!!!!!!!!!!!!!!!
  139. (defun prevedi(broj)
  140.     (
  141.         if (or (= broj 0) (= broj 1)) (list broj)
  142.             ( append ( prevedi (/ (- broj (mod broj 2)) 2) ) (list (mod broj 2)))
  143.     )
  144. )
  145. ----------------------------
  146. 12.
  147. (defun dodajs(el lista)
  148.     (
  149.         if (or (null lista) (< el (car lista))) (cons el lista)
  150.             (cons (car lista) (dodajs el (cdr lista)))
  151.     )
  152. )
  153. ----------------------------
  154. 13.
  155. ;ne radi #########################
  156. (defun razmeni(lista)
  157.         (
  158.             if (null lista) 0
  159.                 (if (>= (car lista) (car(cdr lista))) (cons (car lista) (razmeni(cdr lista))) (cons (razmeni(cdr lista)) (car lista)))
  160.         )
  161. )
  162.  
  163. (defun razmeni(lista)
  164.     (
  165.         if (null lista) 0
  166.             (if (< (car lista) (cadr lista) ) ( (cons (cadr lista) ) (razmeni (cdr lista)) ) (razmeni (cdr lista)) )
  167.     )
  168. )
  169. (defun razmeni(lista)
  170.     (
  171.         if (>= (length lista) 2)
  172.         (
  173.             if ( < (car lista) (cadr lista) )
  174.             (
  175.                 ;swap prvi i drugi
  176.                 cons (list(cadr lista)) (razmeni (cdr lista))
  177.  
  178.                 cons( ((cons (caddr lista) (car lista) )) ((cddr lista)) )
  179.             )
  180.             (
  181.  
  182.             )
  183.         )
  184.         (
  185.  
  186.         )
  187.     )
  188. )
  189. ----------------------------
  190. 14.
  191. (defun parni(lista)
  192.     (
  193.         if (null lista)
  194.              0
  195.              (if (equal(mod (car lista) 2) 0)
  196.                             (1+ (parni(cdr lista)))
  197.                             (parni(cdr lista)))
  198.     )
  199. )
  200. ----------------------------
  201. 15.
  202. (defun atomi(lista)
  203.     (
  204.         if (null lista) '()
  205.             (if (atom(car lista)) (append (list(car lista)) (atomi(cdr lista))) (atomi(cdr lista)))
  206.     )
  207. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement