Está en la página 1de 2

FUNCIONES

(defun donde-esta-hueco(tablero)
(dotimes (f 3 nil)
(dotimes (c 3 nil)
(if (= 0 (aref tablero f c))
(return-from donde-esta-hueco (list f c))
)
)
)
)
-----------------------------------------------------------------------------------------------------------------------------------------(defun mueve-hueco-arriba(tablero)
(setq v (donde-esta-hueco tablero))
(if (= 0 (car v))
(return-from mueve-hueco-arriba nil)
)
(setf (aref tablero(car v)(cadr v))(aref tablero(1- (car v))(cadr v)))
(setf (aref tablero(1- (car v))(cadr v)) 0)
)
-----------------------------------------------------------------------------------------------------------------------------------------(setq final (make-array '(3 3):initial-contents '((1 2 3)
(8 0 4)
(7 6 5)
ARREGLOS
)))
-----------------------------------------------------------------------------------------------------------------------------------------(defun mueve-hueco-abajo(tablero)
(setq v (donde-esta-hueco tablero))
(if (= 0 (car v))
(return-from mueve-hueco-abajo nil)
)
(setf (aref tablero(car v)(cadr v))(aref tablero(1+ (car v))(cadr v)))
(setf (aref tablero(1+ (car v))(cadr v)) 0)
)
-----------------------------------------------------------------------------------------------------------------------------------------(setq var-arreglo (make-array '(8)))
ARREGLOS
(defun llenar (arreglo num)
(dotimes (i (car(array-dimensions arreglo)) arreglo)
(setf (aref arreglo i) (+ num i))
)
)
-----------------------------------------------------------------------------------------------------------------------------------------(setq var-arreglo (make-array '(8):initial-contents '(1 2 3 3 4 4 4 1)))
(defun repite (arreglo num)
(setq aux 0)
(dotimes (i (car(array-dimensions arreglo)) aux)
(if (=(aref arreglo i) num)
(set 'aux (1+ aux))
)
)
)

(setq var-arreglo (make-array '(8):initial-contents '(1 2 3 4 5 6 7 8)))


(defun posicion (arreglo num)
(dotimes (i (car(array-dimensions arreglo)) nil)
(if(=(aref arreglo i) num) (return-from posicion i))
)
)

-----------------------------------------------------------------------------------------------------------------------------(setq var-arreglo (make-array '(8):initial-contents '(1 0 4 8 16 32 64 127)))


(defun posicion (arreglo)
(setq a 0)
(setq b 0)
(dotimes (i (car(array-dimensions arreglo)) (list a b))
(if(evenp (aref arreglo i)) (setq a (1+ a)))
(if(oddp (aref arreglo i)) (setq b (1+ b)))
)
)

----------------------------------------------------------------------------------------------------------------------------(defun area_rectagulo(base altura)


(* base altura)
)
(defun main ()
(princ "Dar valor de base:")
(setq base(read))
(princ "Dar valor de altura:")
(setq altura(read))
(setq area (area-rectangulo base altura))
(princ "Area =")
(princ area)
)

----------------------------------------------------------------------------------------------------------------------------(defun cuenta-atomos (lista)


(cond
((null lista) 0)
((atom (car lista)) (+ 1 (cuenta-atomos (cdr lista))))
(t (+ (cuenta-atomos (car lista)) (cuenta-atomos (cdr lista))))
)
)

----------------------------------------------------------------------------------------------------------------------------Mayor de lo numerous del arreglo


(defun mayor (arreglo num))
(set maximo 0)
(dotimes(i(car(array-dimensions arreglo))maximo)
(if(aref arreglo i)maximo)
(setq maximo(aref arreglo i))
)
)
)

También podría gustarte