Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовик 8.02.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
441.86 Кб
Скачать

Зміст

Вступ 3

1 Опис алгоритму 4

2 Вибір складу технічних і програмних засобів 6

3 Організація вхідних і вихідних даних 8

4 Розробка програми 10

5 Блок-схема 11

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

7 Описання програми 23

Висновок 27

Література 28

Вступ

Програмування на мові Delphi дозволяє реалізувати широкий спектр практичних задач. Основна перевага цієї мови програмування полягає в оптимальному поєднанні простоти використання, доступності і великого набору різноманітних можливостей, що дозволяють охопити всі основні напрями діяльності, розробка прикладних програм.

Актуальність теми полягає в наступному: показати, як використовуючи мишу та стандартні оператори в мові Delphi створити графічно розвинений інтерфейс користувача для гри «Ханойські вежі».

Об’єкт дослідження: використання графічних операторів в програмуванні.

Предмет дослідження: використання основних алгоритмiв гри «Ханойські вежі» в розробці програми на Delphi.

Мета дослідження: розглянути основні можливості використання алгоритмiв гри «Ханойські вежі» у графічному інтерфейсі Delphi.

Задачі:

  1. Зробити огляд літератури за темою.

  2. Розглянути графічні можливості Delphi.

  3. Описати механізм підтримки правил гри «Ханойські вежі».

  4. Розробити програму, яка надасть можливість гри у «Ханойські вежі».

Гіпотеза дослідження: робота надасть користувачеві інструкції до вивчення алгоритмів гри у «Ханойські вежі» та реалізації їх у Delphi.

1 Опис алгоритму

Ханойські вежі — це математична гра або головоломка. Утворена трьома стрижнями і кількома дисками різних розмірів, які можна насунути на будь-який стрижень. Початковий стан головолмки має два порожніх стрижні і всі диски на третьому в монотонно спадному порядку з низу до гори, так утворюється побудова, що нагадує вежу.

Ціллю головоломки є перенести весь стос дисків на інший стрижень, дотримуючись таких правил:

  1. За раз можна рухати лише один диск.

  2. Кожен крок полягає в перенесенні верхнього диска з одного зі стрижнєв і насування його на інший зверху інших дисків, які вже можуть бути присутніми на другому стрижні.

  3. Диск не можна класти з гори меншого диска.

На Заході задачку вперше оприлюднив французький математик Едуард Лукас у 1863. Існує легенда про храм в Індії, який містив велику кімнату з трьома стовпами і 64 золотими дисками на них. Жрець брагман, виконував команду давнього пророцтва, переставляючи ці диски згідно з правилами головоломки, від того часу. Звідси друга назва головоломки — головоломка веж Брагми. Згідно з легендою, після завершального руху настане кінець світу. Не ясно чи Лукас вигадав цю легенду або надихнувся нею.

Якщо легенда правдива, і якщо жрець може пересувати диски зі швидкістю один раз в секунду, найменша кількість пересувів займе в нього близько 585 мільярдів років або 18,446,744,073,709,551,615 пересувів до завершення.

Також існують інші версії легенди. Наприклад, в деяких викладеннях, храм був монастирем і жрець був монахом. Храм чи монастир може стояти в різних частинах світу — включно з Ханоєм, В'єтнам, і може приналежати будь-якій релігії. В деяких варіаціях додаються інші складові, такі як те, що вежі створили на початку світу, або що жрець чи монах може робити лише один рух в день.

Кількість рухів необхідна для розв'язання становить .

2 Вибір складу технічних і програмних засобів

Середовище Delphi дозволяє доволі швидко розробляти додатки для Windows.

Delphi - імперативний, структурований, об'єктно-орієнтована мова програмування, діалект Object Pascal. Починаючи з середи розробки Delphi 7.0, в офіційних документах Borland стала використовувати назву Delphi для позначення мови Object Pascal. Починаючи з 2007 року вже язик Delphi (похідний від Object Pascal) почав жити своїм самостійним життям і зазнавав різні зміни, пов'язані з сучасними тенденціями (наприклад, з розвитком платформи. NET) розвитку мов програмування: з'явилися class helpers, перевантаження операторів та інше.

Для роботи програми необхідні лише текстові документи з теорією, які повинні знаходитись в папці з програмою. Інших додаткових засобів не потребує.

Середовище Delphi стало, по суті, кращим засобом програмування для операційної системи Windows.

Delphi дозволяє створювати додатки інтерактивним вибором необхідних компонентів з Component Palette і перетяганням їх на форму. Основне ж гідність цього методу полягає в тому, що Delphi при цьому самостійно створює необхідний код. Це нагадує по своїх можливостях Visual Basic і інші подібні мови програмування, однак у випадку Delphi ви одержуєте справжній об'єктно-орієнтований код і всі можливості цього підходу, включаючи розширення функціональних можливостей компонентів Delphi до рівня, що задовольняє ваші запити. Ви можете використовувати компоненти Delphi, можете успадковувати їх і додавати власні методи, а крім того, ви можете використовувати керуючі елементи Active X.

Одне з основних відмінностей Delphi від інших схожих інструментів візуальної розробки додатків полягає в наявності дійсно швидкого, ефективного компілятора. Компілятор видає не тільки повідомлення про помилки, але й величезна кількість попереджень і підказок, які дозволяють створювати більш ясний код. Важливою гідністю є також видача одночасно декількох повідомлень про помилки, що дозволяє швидше виправляти їх.

Одна з більших проблем не візуального програмування - створення користувацького інтерфейсу, тобто найчастіше більше часу займає саме розробка й створення інтерфейсу. З іншого боку, при розробці не варто забувати й про якісний програмний код. Delphi дозволяє створювати програму, вклавши максимум сил і вміння в її робочу частину, і всіляко допомагає вам у тій області, де не має конкурентів, в області створення користувацького інтерфейсу. Витративши якийсь час на навчання роботи в Delphi, ви зможете легко й просто створювати користувацькі інтерфейси, не порівнянні ні з якими іншими, створені за допомогою традиційного інструментарію. Більше того, вони будуть не просто елегантні, але при необхідності будуть мати "ізюминку" у вигляді розроблених вами нових керуючих елементів, що не займе у вас багато сил і часу з таким помічником, як Delphi.

Завдяки об'єктно-орієнтованій природі Delphi ви можете створювати свої компоненти не тільки з нуля, але й використовуючи багатий набір наявних компонентів. Крім створення нових компонентів, розширюваність Delphi включає також можливість інтегрування в середовище Delphi цілих підпрограм, називаних експертами. Expert Interface дозволяє вам доповнювати середовище своїми пунктами меню й діалоговими вікнами для розширення її функціональності.

Працездатність програми перевірялась на комп’ютерах з такими характеристиками:

1) AMD Phenom II x4 3.4 Ghz, 12 Gb RAM

2) AMD E450 x2 2.3 Ghz., 4 Gb RAM

Ніяких проблем не було знайдено.