nlattessi

Seminario_TP3_EJ08

May 9th, 2012
29
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 0.68 KB | None | 0 0
  1. a)
  2. (defun SumaDiagMatriz  (l1 &optional (l2 0))
  3.     (if (null l1) 0
  4.         (+ (nth l2 (car l1)) (SumaDiagMatriz (cdr l1) (+ l2 1)))
  5.     )
  6. )
  7.  
  8. b)
  9. (defun OtraDiagonal (matriz)
  10.    
  11.     (defun ultimo (lista &optional (salida -1))
  12.         (if (null lista) salida
  13.             (ultimo (cdr lista) (+ salida 1))
  14.         )
  15.     )
  16.     (if (null matriz) nil
  17.         (cons (nth (ultimo matriz) (car matriz)) (OtraDiagonal (cdr matriz)))
  18.     )
  19. )
  20.  
  21. c)
  22. (defun traspuesta (l)
  23.  
  24.     (defun cab (l)
  25.         (if (null l) nil
  26.             (cons (caar l) (cab (cdr l)))
  27.         )
  28.     )
  29.    
  30.     (defun quitacab (l)
  31.         (if (null l) nil
  32.             (append (list (cdar l)) (quitacab (cdr l)))
  33.         )
  34.     )  
  35.  
  36.     (if (null (car l)) nil
  37.         (append (list (cab l))(traspuesta (quitacab l)))
  38.     )
  39. )
Advertisement
Add Comment
Please, Sign In to add comment