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

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





на 90 В°.


Основний образ кривих Серпінського задається схемою:

В 

S: A Г¤ B ГҐ C ГЈ D Г¤

В 

а рекурсивні складові (Горизонтальні і вертикальні відрізки - подвійної довжини):

A: A Г¤ B Г  D Г¦ A

B: B ГЈ C ГЎ A Г¤ B

C: C ГҐ D Гџ B ГЈ C

D: D Г¦ A Гў C ГҐ D

В 

Припустимо, що для побудови частини прямої в нашому розпорядженні є процедура Line , пересуваюча перо в заданому напрямку на задану відстань, причому напрямок задається цілочисловим параметром i , як градусів. Якщо одиничну пряму позначити через h , то за допомогою рекурсивних звернень до аналогічно складеним процедурам для B і D і до самої A досить просто написати процедуру, відповідну схемою А .


(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)))))


Ця процедура ініціюється головною програмою по одному разу для кожної кривої Серпінського, утворюють наведений малюнок. Вживання явного параметра для рівня гарантує закінчення роботи, так як глибина рекурсії не може бути більше k . Головна програма будується за зразком S . Її завдання - встановити початкову точку кривої, тобто вихідні координати пера ( P x і P y ) і одиничну довжину прирощення h . Квадрат, де малюється крива, поміщається в середині екрана, заданої ширини і висоти.

Графічне зображення отриманого алгоритму представлено в наступному розділі (Малюнок 3).

Порівняно з таким рекурсивним побудовою еквівалентні програми, де уникали вживання рекурсії, виглядають вкрай складними і заплутаними.



Схема алгоритму В 

Малюнок 3 Схема алгоритму головної процедури

В 

Малюнок 4 Схема алгоритму процедури A [1]


Текст програми

;; SIERPINS.LSP для XLISP версії 2.1

;; ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

;; Програма побудови кривих Серпінського i-го порядку.

;;

;; ЗАПУСК:> (SierpinskiCurve 4)

;;

;; Зауваження: Мінлива * VMode * управляє установкою відео режиму,

;; і за замовчуванням встановлена ​​в значення 18.

;; Ця установка відповідає режиму 640x480 Color,

...


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





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

  • Реферат на тему: Поняття алгоритму і його властивості. Блок-схема алгоритму. Технологія Ro ...
  • Реферат на тему: Розробка алгоритму програми на мові С + +, яка обчислює значення ємності і ...
  • Реферат на тему: Розробка алгоритму і програми на асемблері
  • Реферат на тему: Розробка алгоритму програми &Таймер& на мові програмування C ++
  • Реферат на тему: Розробка алгоритму та програми автоматичного оброблення матеріалів для інфо ...