Способи розстановки восьми королев на шаховій дошці, в який ніякі дві королеви не стоять на одній вертикалі, горизонталі, або діагоналі. Програмна реалізація даної задачі за допомогою засобів програмування Visual Basic. Блок-схема та лістинг програми.
Аннотация к работе
На сьогодні існує велика кількість різноманітних мов програмування, кожна з яких має свої певні переваги та недоліки. В цьому розмаїтті не завжди легко зробити свій вибір на користь якоїсь певної мови програмування. Саме тому слід вибрати для програмування Visual Basic.Головною проблемою, що стоїть в основі мого курсового проекту є питання: чи можна розмістити 8 королев на шаховій дошці таким чином, щоб вони не били одна одну? Більш точніше - необхідно знайти всі способи розстановки восьми королев, в який ніякі дві королеви не стоять на одній вертикалі, горизонталі, або діагоналі. Дана задача була поставлена в 1848 році німецьким шахістом М. Беццелем. в червні 1850 року Ф. Наук опублікував 60 розвязків цієї задачі. Гауссу вдалося знайти 72 розвязки.Спочатку потрібно зазначити, що дві королеви не можуть знаходитися в одному рядку (горизонталі) і, оскільки, необхідно поставити вісім королев на вісім рядків, то в кожному рядку є одна королева. Чітко видно, що неможливо одночасно управляти розміщенням і по рядках, і по стовпчиках - саме цього і потребує задача. Щоб почати, я поміщаю королеву в перший стовпчик на першому рядку. Тоді залишається розвязати меншу задачу: розмістити сім королев на семи останніх рядках шахової дошки, враховуючи, що королева стоїть на першому полі першого рядка. Тоді я ставлю королеву 1 в стовчик 2 рядка 1 і тоді розвязую задачу уже з 7 королевами.Створюю новий проект, вибравши New Project (Новий проект) з меню File. Оскільки шахова дошка складається з 8х8 (64) клітинок, то необхідно створити масив клітинок. Створюю масиви з міток Label1 і Label2, в яких будуть виводитися цифри та літери латинського алфавіту для позначення координат фігур на шаховій дошці. Також створюю мітку LBLEKRAN, в якій будуть виводитися дані про порядок розташування королев і їх координати. В моїй програмі умовою служать змінні kilk i col, тобто цикл виконується до тих пір, поки змінна kilk буде рівна KILKKOROLEV або номер стовпчика колонки буде рівний 7, тобто останньому.Також за допомогою засобів Visual Basic мені вдалося належним чином без особливих зусиль оформити інтерфейс програми.Блок-схема програмиKILKKOROLEV = 8 "Задаємо кількість королев, яких потрібно розставити col =-1 "Номер колонки, з якої будемо починати розстановку LBLEKRAN.Height = Picture1(0).Height * 0.75 * KILKKOROLEV Picture1(8 * i j).Picture = LOADPICTURE("") Picture1(8 * i j).
План
Зміст
Вступ
Розділ 1. Теоретичні основи розвязку задачі восьми королев
Розділ 2. Метод розвязку даної задачі
Розділ 3. Програмна реалізація задачі восьми королев
Висновок
Список використаної літератури
Додаток А. Блок-схема програми
Додаток Б. Лістинг програми
Додаток В. Екранна форма результаті
Вывод
Отже, по завершенню роботи над курсовим проектом можна зробити висновок про те, що мені вдалося досягти своєї мети і розвязати поставлену перед мною задачу розміщення восьми королев. Також за допомогою засобів Visual Basic мені вдалося належним чином без особливих зусиль оформити інтерфейс програми. З усього сказаного вище слідує, що мова програмування Visual Basic найкраще підходить для тих людей, які займаються розробкою різноманітних програм, логічних ігор, головоломок та програмуванням будь-якої іншої інформації, що потребує досконалого, легкого для сприйняття та розуміння візуального представлення.
Розробка даної програми дала мені змогу не лише підвищити рівень знань та практичних навичок у користуванні засобами програмування Visual Basic, а й розвинути логічне мислення та просторову уяву.
Мова програмування Visual Basic заставляє програміста не лише задумуватися над кінцевими результатами програми, але й примушує враховувати потреби та зручність користувача, легкість при використанні програми.
Список литературы
Арсак Ж. Программирование игр и головоломок: Пер. с франц. - М.: Наука. Гл. ред. физ.-мат. лит., 1990. - 224с.
Майкл Маккелви. Visual Basic 4 (серия “Без проблем”.): Пер. с англ. - М.: БИНОМ. - 576с.: ил.
Потапкин А.В. Основы Visual Basic для пакета Microsoft Office: Практ. Пособие. - М.: ЭКОМ, 1996. - 256с.: ил.
Простое и сложное в программировании / Авт. предисл. Е.П. Велихов. - М.: Наука, 1988. - 176с., ил.
Реселман Боб, Писли Ричард и др. Использование Visual Basic 6.: Пер. с англ. - К., М., СПБ.: Издательский дом “Вильямс”, 1999. - 608с.:ил. - Парал. тит. англ., уч.пос.