miércoles, 4 de enero de 2012

Ejercicios LISP (Parte 3)
Ejercicio # 1
      1.      Descripción

      Desarrollar una función que permita dibujar n circunferencias contiguas.

Ejm:

      > (dibuja 3)

      2.      Solución
     
      > (defun dibuja (a)
         (setq n 100)
         (dib a)
         )

       > (defun dib (a)
          (if (> a 0) (circle n 100) )
          (if (> a 0) (setq n (+ n 300)))
          (setq aux (- a 1))
          (if (> a 0) (dib aux))
          )

      > (defun circle (x y)
         (command "_circle" (list x y) 100)
         )

3.      Ejecución

Ejercicio # 2
      1.      Descripción

      Desarrollar un programa en AutoLISP que permita graficar círculos concéntricos, dados como parámetros el centro del círculo y el diámetro, en donde cada circulo tendrá como diámetro la mitad del anterior circulo hasta que el diámetro cambiante sea menor que la octava parte del diámetro original.

2.      Solución

      > (defun dibuja (x y dia)
        (dib x y dia (/ dia 2))
        )
     
      > (defun dib (x y d rd)
         (if (> (* rd 2) (/ d 8)) (command "_circle" (list x y) rd))
         (if (> (* rd 2) (/ d 8)) (dib x y d  (/ rd 2))))

      3.      Ejecución

No hay comentarios:

Publicar un comentario