EJERCICIOS.lsp



// PRIMEROS DOS EJERCICIOS

;1. Escribir una funciOn que reciba una lista de nUmeros y retorne una lista de nUmeros
;sumAndole su posiciOn a cada numero de la lista.
;> (suma-posicion (1 3 7 -2))
;> (2 5 10 2)

;________________________________________________________________
;2. Escribir la funcion calcula-diferencia que recibe una lista de nUmeros y devuelve
;otra lista con la diferencia entre un nUmero y su sucesor en la lista. (El Ultimo elemento
;no cuenta)
;> (calcula-diferencia (10 6 2 5 -4))
;> (4 4 -3 9)

(defun EJERCICIO1 (L1)
	(setq pos 0)
	(setq LS (list ))
	(dolist (ELE l1 'fin)
		(setq pos (+ pos 1))
		(setq ls (append ls (list (+ ELE pos))))
	)
	(print LS)
)

(defun EJERCICIO2 (L1)
	(setq LS (list))
	(setq POS 0)
	(dolist (ELE L1 'fin)
		(setq POS (+ POS 1))
		(if (eql nil (nthcdr 9 L1))
			'SI
			(setq NEW (- (car L1) (car (nthcdr POS L1)))	; ELSE
		)
		(setq LS (append LS (list NEW)))
	)
	(print LS)
)