Розгляд оригінального візерунку, що складається із суперпозиції чотирьох кривих. Проект реалізації алгоритму побудови цих кривих у вигляді програми функціональною мовою програмування Lisp. Головна особливість кривої Серпінського. Створення програми Serp.
При низкой оригинальности работы "Розробка програми Sierpins, яка реалізує побудову рекурсивних кривих Серпінського", Вы можете повысить уникальность этой работы до 80-100%
До машинно-орієнтованих відносяться мови‚ в яких з однієї сторони явно виражений звязок з конкретною ЕОМ (структура команд‚ памяті‚ зовнішніх пристроїв)‚ а з другої - в мову введено елементи‚ які спрощують і автоматизують процес програмування (символьне позначення команд і комірок памяті‚ широке застосування звичних для людини позначень і т.д.). Процедурно-орієнтовані мови є вищим рівнем мов програмування, призначені для різних сфер застосування ЕОМ і враховують специфіку їх застосування. Прикладом такої мови є, наприклад, мова Stress‚ яка призначається для опису задач конструювання. Програма на цій мові містить ряд загальних характеристик системи (розмірності‚ число вершин та ін.) і дані‚ а також вказівку - розвязати задачу і представити певні дані у вигляді деякої таблиці.Оригінальний візерунок на малюнку 1 складається із суперпозиції чотирьох кривих. Задача проекту - реалізувати цей алгоритм у виді програми функціональною мовою програмування Lisp. Аналізуючи малюнок 1, можна переконатись, що він отриманий шляхом накладення один на одного декількох кривих. Крива Si називається кривою Серпінського І-го порядку. Це означає, що основна рекурсивна схема повинна давати розімкнуту криву лінію, чотири частини якої зєднуються лініями, що не належать самому рекурсивному образу.Основний образ кривих Серпінського задається схемою: S: A д B е C г D д а рекурсивні складові (горизонтальні і вертикальні відрізки - подвійної довжини): A: A д B а D ж Припустимо, що для побудови частини прямої в нашому розпорядженні є процедура Line, що пересуває перо в заданому напрямку на задану відстань, причому напрямок задається цілочисленим параметром i, як IMG_2aaeebd9-e65b-42ac-b22d-ea6d9cabdd99 градусів. Якщо одиничну пряму позначити через h, то за допомогою рекурсивних звертань до аналогічно складених процедур для B і D і до самої процедури Ця процедура ініціюється головною програмою по одному разу для кожної кривої Серпінського, що утворять зображений вище малюнок.Програма на мові Lisp прдставляє собою рекурсивну функцію символьних виразів‚ яка будується аналогічно до арифметичних функцій з допомогою умовного оператора та оператора суперпозиції. В мові є пять елементарних функцій: · atom - логична функция‚ яка визначає чи є досліджуваний вираз атомом - неподільною частиною інформації; Крім елементарних‚ в мові Lisp є ряд більш складних функцій‚ які будуються з них‚ наприклад‚ підстановка в у вираз z замість всіх входжень символу y виразу x запишеться у вигляді наступної функції В даному курсовому проекті на мови Lisp розроблено програму Sierpins, яка реалізує побудову рекурсивних кривих Серінського. На початку програми встановлюється значення змінної *VMODE*‚ яка керує установкою відео режиму, і за замовчуванням встановлена в значення 18.За допомогою засобів алгоритмічної мови Lisp було створено програму Serp‚ яка дозволяє будувати криві Серпінського за допомогою рекурсивних процедур.Схема алгоритму процедури;; Функція ініціалізує графічний режим, установлює перемінні ;; Функція реалізує затримку на заданий час (let ((fintime ( (* time internal-time-units-per-second ) (get-internal-run-time ) ) ) ) (loop (when (> (get-internal-run-time) fintime )Тест проводився на робочій станції з наступною конфігурацією: · Pentium 166 Інтерпретатор XLISP був запущений у вікні MS-DOS. У результаті тестів були отримані наступні зображення на екрані монітора : IMG_58634185-a741-4cf5-95c8-f8c488126a63
План
ЗМІСТ
Вступ
Розділ 1. Криві Серпінського.
Розділ 2. Методи та засоби розвязку задачі
Розділ 3. Практична реалізація розвязку задачі
Висновки
Список використаної літератури.
Додаток а. Блок-схема алгоритму.
Додаток б. Текст програми
Додаток в. Тест програми
Вывод
Завершивши роботу над курсовим проектом можна зробити висновок про те, що мені вдалося досягти своєї мети і розробити програму побудови кривих Серпінського. За допомогою засобів алгоритмічної мови Lisp було створено програму Serp‚ яка дозволяє будувати криві Серпінського за допомогою рекурсивних процедур. Використання чотирьох рекурсивних процедур дало змогу досить просто справитись з поставленою задачею..
Розробка даної програми дала мені змогу оволодіти основними засобами програмування на алгоритмічній мові Lisp та здобути практичні навички розробки програм з використанням інтерпретатора PC-Lisp версії 3.0.
Завдяки використанню мови програмування Lisp розроблена програма вийшла лаконічною і водночас легкою для читання й розуміння, а розроблені рекурсивні графічні процедури можуть бути використані при розвязуванні інших, можливо набагато складніших програм.
Список литературы
1. “Алгоритм структура даних = програма”, H.Вірт.
2. “XLISP-Plus 2.1 Programmers Manual”, David Michael Betz
IMG_8852399d-d84c-4761-8725-0b626b3edf52
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы