Está en la página 1de 5

*********** SOLDADOS *********************** (defun soldado (n) (setq lista '()) (crea n 0) (print lista) (recursiva1 lista n 0) )

(defun crea (n cont1) (if (= cont1 n)() (setq lista (append (list (+ cont1 1))(crea n (+ cont1 1)) ) ) ) )

(defun elimina (lista n band1) (if (> n 0) (if (car lista) (if (= band1 1) (setq vivos (append (list (car lista))(elimina (cdr lista)(- n 1) (setq band 0)))) (elimina (cdr lista) (- n 1) (setq band 1) ) ) ) ) )

(defun recursiva1 (lista n b) (setq vivos '()) (setq band 0) (if (= b 0)(elimina lista n 0)(elimina lista n 1) ) (print vivos) (if (> (length vivos) 1) (recursiva1 vivos (length vivos) band) (car vivos) ) ) (soldado 100) ************ ULTIMO ELEMENTO DE UNA LISTA ***************

( defun ultimo (y) (if (cdr y) ( ultimo (cdr y) ) y ) ) (ultimo '(3 5 8 10)) ************ DEVUELVE EL PRIMER Y ULTIMO ELEMENTO DE UNA LISTA *********** (defun ejer1 (lista) (append (list(car lista)) (ultimo lista) ) ) ( defun ultimo (y) (if (cdr y) ( ultimo (cdr y) ) y ) ) (ejer1 '(3 5 8 10)) ************ SUMATORIA DE LOS ELEMENTOS DE UNA LISTA ****************** (DEFUN sumatoria (N) (if (cdr n) (+ (car n) (sumatoria (cdr n)) ) (car n) ) ) (sumatoria '(1 2 3 4 5 6 7 8 9)) ************ SUMA DE MATRICES ************ (defun sumaprimer (x y) (+ (car x) (car y)) ) (defun sumacol (x1 y1) (if (cdr x1) (cons(sumaprimer x1 y1) (sumacol (cdr x1)(cdr y1)) ) (list(sumaprimer x1 y1)) ) ) (defun sumamat (x y) (append (list(sumacol (car x) (car y)))

(if (cdr (cdr x)) (sumamat (cdr x) (cdr y)) (list (sumacol (car (cdr x)) (car (cdr y)))) ) ) ) (sumamat '((1 3)(4 5)(3 5)) '((6 7)(8 9)(4 3))) *************************************************************** 2.Defina una funcin MULTCICL , tal que dado un entero positivo na nueva lista multiplicando cada elemento por n, n-1, n-2, (defun multcicl (n lista) n y una lista L

retorn

(if (cdr lista) (append (list(* (car lista) n)) (multcicl (- n 1) (cdr lista)) ) (append (list(* (car lista) n)) ) ) ) (multcicl 3 '(1 2 3 4 5)) (multcicl 5 '(1 2 3 4 5)) (multcicl 2 '(8 7 6 3 2)) ********************** NESIMO ******************************* 1.Defina una funcin nesimo que dado un entero n liminando el n-simo elemento de la lista. y una lista L

retorne una nueva list

$ (nesimo 3 '(1 -3 5 4 9)) (1 -3 4 9) (defun nesimo (n lista) ( IF (NOT (NULl lista )) (setq n (- n 1)) ) (IF (NOT (NULL lista )) (if (eq n 0) (append (cdr lista) ) (append (list(car lista)) (nesimo n (cdr lista)) ) ) ) ) (nesimo 2 '(2 3 4)) ********************* LA PRIMERA PRUEBA ******************************** (DEFUN sumatoria (N) (if (cdr n) (+ (car n) (sumatoria (cdr n)) ) (car n) ) ) (defun promedio (l) (/ (sumatoria (car(cdr l))) (length (car(cdr l)))) ) (defun aprueba (l)( if (< (promedio (car l)) 7) 'Repr 'Aprb) ) (defun cargarlista (l) (list (caar l) (promedio (car l)) (aprueba l) )

) (defun evalua (l) (append (list (cargarlista l)) (if (cdr (cdr l)) (evalua (cdr l)) (append(list (cargarlista (cdr l)))) ) ) ) (evalua '((juan (4 5 6 10 5))(pedro (5 6 7 2 5)))) (evalua '((juan (4 5 6))(pedro (5 6 7))(juanito (8 8 8)))) ************************* ESPIRAL ***************************************** (defun (if (= (if (= (if (> ) espiral (ancho nv px py) nv 0)()()) nv 1)(solounavuelta ancho nv px py)()) nv 1)(graficar ancho nv px py)())

(defun solounavuelta (ancho nv px py) (setq pconstante (+ px ancho)) (setq p1 (list px py)) (setq p2 (list pconstante (+ py ancho))) (setq p3 (list (+ px (* ancho 2)) py)) (setq p4 (list (- px ancho) py)) (setq p5 (list pconstante (- py ancho))) (setq p6 (list (+ px (* ancho 2)) py)) (command "_arc" p1 p2 p3"") (command "_arc" p4 p5 p6"") ) (defun graficar (ancho nv px py) (setq pconstante (+ px ancho)) (setq p1 (list px py)) (setq p2 (list pconstante (+ py ancho))) (setq p3 (list (+ px (* ancho 2)) py)) (setq p4 (list (- px ancho) py)) (setq p5 (list pconstante (- py ancho))) (setq p6 (list (+ px (* ancho 2)) py)) (setq penvia (- px ancho)) (setq px3 (+ px (* ancho 2))) (command "_arc" p1 p2 p3"") (command "_arc" p4 p5 p6"") (if (= nv 1)()(graficaespiral penvia ancho nv pconstante 2 px px3 py)) ) (defun graficaespiral (px1 ancho nv pc cont px px3 puny) (setq p1 (list px1 puny)) (setq p2 (list pc (+ puny (* ancho cont) ))) (setq p3 (list (+ px3 ancho) puny))

(setq p4 (list (- px1 ancho) puny)) (setq p5 (list pc (- puny (* ancho cont)))) (setq p6 (list (+ px3 ancho) puny)) (command "_arc" p1 p2 p3"") (command "_arc" p4 p5 p6"") (setq penvia (- px1 ancho)) (setq px4 (+ px3 ancho)) (if (= cont nv)()(graficaespiral penvia ancho nv pc (+ cont 1) px px4 puny)) ) (espiral 200 5 600 500)

También podría gustarte