Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Розробка програми мовою LISP для побудови кривих Серпінського i-го порядку

Реферат Розробка програми мовою LISP для побудови кривих Серпінського i-го порядку





;; і працює на більшості систем. У випадку проблеми

;; з установкою цього режиму необхідно вибрати

;; значення цієї змінної в Відповідно до документації

;; на обладнання.

;;


( defvar * VMode * 18); Відео режим за замовчуванням

( defvar * MaxX * 640) ; Максимальна ширина екрану за замовчуванням

( defvar * MaxY * 480) ; Максимальна висота екрана за замовчуванням

( defvar * SquareSize * 256); Розмір області для побудови


;;

;; Функція ініціалізує графічний режим, встановлює змінні

;; * MaxX ** MaxY ** SquareSize * в відповідності з обраним режимом

;;

(

defun InitGraph ()

(

case * VMode *

(4; 320x200 Color

( mode 4)

( setq * MaxX * 320 * MaxY * 200 * SquareSize * 128))

(16; 640x350 Color

( mode 16)

( setq * MaxX * 640 * MaxY * 350 * SquareSize * 128))

(18; 640x480 Color

( mode 18))

(106; 800x600 Color

( mode +106106800600)

( setq * MaxX * 800 * MaxY * 600 * SquareSize * 512))

(t ( error Unsupported graphics mode: * VMode *))

)

)


;;

;; Функція реалізує затримку на заданий час

;;

(

defun pause (time)

( let ((fintime (+ (* time internal-time-units-per-se cond )

( get-internal-run-time))))

( loop ( when (> ( get-internal-run-time) fintime)

(return-from pause) ))) p>)


;;

;; Функція цілочисельного ділення

;;

(

defun div (a b) ( round (/ a b))

)


;;

;; Функція малювання прямої:

;; Параметри: - напрямок малювання (0-7)

;; - довга прямий

;;

(

defun Line (Direction Size)

( setq x Px y Py)

(

case Direction

(0 ( setq x (+ x Size)))

(1 ( setq x (+ x Size) y ( - Y Size)))

(2 ( setq y (- y Size)))

(3 ( setq x (- x Size) y ( - Y Size)))

(4 ( setq x (- x Size)))

(5 ( setq x (- x Size) y ( + Y Size)))

(6 ( setq y (+ y Size)))

(7 ( setq x (+ x Size) y ( + Y Size)))

)

( move Px Py x y)

( setq Px x Py y)

)


;;

;; Функції A, B, C, D - рекурсивні функції малювання

;;

(

defun A (k)

( cond ((> k 0)

(A (- k 1)) (Line 1 h)

(B (- k 1)) (Line 0 (* 2 h))

(D (- k 1)) (Line 7 h)

(A (- k 1))

))

)


(

defun B (k)

( cond ((> k 0)


Назад | сторінка 3 з 5 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Просування бутіка розміру plus size на прикладі ТОВ &Атлант&, бутік &Elena ...
  • Реферат на тему: Створення вузла АРМ АСУТП в середовищі Trace Mode 6
  • Реферат на тему: Організація закупівель ресурсів в умовах функціонування системи Just-in-Tim ...
  • Реферат на тему: Методична рекомендація по виконанню джазових стандартів &Ev'ry time we ...
  • Реферат на тему: Створення моделі горизонтальної платформи з використанням інтегрованого сер ...