Описание методов вычислительной математики, используемых при решении



СОДЕРЖАНИЕ

Введение................................................................................................................ 3

1.Постановка задачи............................................................................................. 5

1.1 Формулировказадачи............................................................................... 5

1.2 Описание методов вычислительной математики...................................... 7

1.3 Обоснование необходимости автоматизации........................................... 9

1.4 Обзор существующих подходов к решению проблемы........................ 10

1.5 Определение данных и их представление, способы хранения.............. 12

1.6 Перечисление и обоснование использования процедур и функций..... 14

2.Вычислительная система................................................................................ 15

2.1 Выбор программных средств, обоснование выбора............................. 15

2.2 Аппаратная поддержка........................................................................... 17

2.3 Системная среда...................................................................................... 18

2.4 Средства автоматизации программирования........................................ 19

3.Алгоритм решения задачи............................................................................. 20

3.1 Описание алгоритма................................................................................ 20

3.2 Определение функционально-независимых подзадач........................... 22

3.3 Блок-схемы процедур и алгоритма программы.................................... 23

4.Описание программы..................................................................................... 25

4.1 Логическая структура............................................................................. 25

4.2 Физическая структура............................................................................. 27

4.3 Описание интерфейса.............................................................................. 29

5.Методика испытаний программы.................................................................. 33

5.1 Ручной просчет отладочного варианта.................................................. 33

5.2 Результаты машинного тестирования.................................................... 35

5.3 Тестирование программы в критических ситуациях............................. 40

5.4 Общий ввод по результатам тестирования............................................ 41

                                                                                    

 

 

6.Применение программы................................................................................ 42

6.1 Назначение и область применения программы..................................... 42

6.2 Аппаратно-программный комплекс....................................................... 43

6.3 Инсталляция программы........................................................................ 44

6.4 Инструкция пользователя....................................................................... 45

6.5 Система помощи...................................................................................... 49

Заключение.......................................................................................................... 50

Список использованных источников................................................................. 51

Приложение А..................................................................................................... 52

Приложение В..................................................................................................... 53

Приложение С..................................................................................................... 54

 

 

ВВЕДЕНИЕ

В настоящее время в компьютерном мире существует множество языков программирования. Программа, работающая на компьютере, нередко отождествляется с самим компьютером, так как человек, использующий программу, вводит в компьютер исходные данные с клавиатуры, и компьютер выдает результат на экран. На самом деле преобразование исходных данных, вводимых с клавиатуры или из файла, в результат, выводимый на экран монитора, принтер или в файл, выполняет процессор компьютера в соответствии с заданной последовательностью команд – программой. Таким образом, чтобы компьютер выполнил некоторую работу, необходимо разработать последовательность команд, обеспечивающую выполнение этой работы, или, как говорят, написать программу.

Выражение «написать программу» отражает только один из этапов создания компьютерной программы, когда разработчик (программист) действительно пишет команды (инструкции) на бумаге или при помощи текстового редактора.  

Программирование – это процесс создания (разработки) программы, который может быть представлен как последовательность следующих шагов: 

- определение требований к программе; 

- разработка или выбор алгоритма решения поставленной задачи; 

- написание команд; 

 - отладка; 

- тестирование. 

В настоящее время программисты не только разрабатывают программное обеспечение для компьютеров, но и различные интеллектуальные игры для развития алгоритмического мышления, навыков работы на компьютере, а также познавательных интересов, памяти и внимания. 

 

Компьютерные игры – это модель естественной игры, воссоздаваемой припомощи современных компьютерных средств. Мы живем в мире информационных технологий, и разработки компьютерных игр пользуются большой популярностью. 

Компьютерные игры оказали столь существенное влияние на общество, что в информационных технологиях отмечена устойчивая тенденция к геймификации для неигрового прикладного программного обеспечения. 

Актуальность темы исследования связана с интенсивным развитием средств разработки компьютерных игр, их чрезвычайной популяризацией, возросшим влиянием на культуру и повседневную жизнь современного общества, а также перспективой развития игрового рынка. Кроме того, это связано с доступностью инструментов и средств разработки компьютерных игр любому желающему, как простому энтузиасту, так и крупной фирме. 

В данном курсовом проекте представлена актуальная на сегодняшний день игра под названием «Судоку», реализованная в стиле объектно-ориентированного программирования. 

            

 


Постановка задачи

Формулировка задачи (математическая постановка)

Цель курсового проекта: разработать и реализовать в программе игру «Судоку» с использованием объектно-ориентированного программирования. 

В курсовом проекте представлена игровая программа, способная составлять Судоку и решать его на любом этапе игрового процесса.  

В программе должны соблюдаться принципы информационной закрытости, модульности и иерархической организации.

Игра должна иметь: 

 -  алгоритм решения произвольного игрового поля;

               - алгоритм генерации случайного игрового поля Судоку;  

               - Windows-приложение для вывода игрового поля на экран. 

Судоку – это квадрат размером 9x9. Он разделен на 9 небольших квадратиков 3x3. В некоторых клетках в начале игры стоят числа от 1 до 9. 

Цель игры – заполнить пустые клетки по специальному правилу. Эта задача, может быть, и простой, и невозможно сложной, в зависимости от предложенного варианта. А вариантов в Судоку может быть много. Невообразимо много – 6.670.903.752.021.072.936.960! На рисунке 1 представлено игровое поле Судоку размером 9x9 клеток.

Рисунок  1 – Игровое поле Судоку размером 9x9клеток

Правила игры Судоку достаточно просты. Игровое поле состоит из 81 клетки, находящихся в 9 столбцах, 9 строках и 9 малых квадратах. Это и есть магический квадрат Судоку. В зависимости от уровня сложности некоторые клетки уже содержат числа. Цель головоломки – необходимо заполнить свободные ячейки цифрами от 1 до 9 так, чтобы в каждой строке, в каждом столбце и в каждом малом квадрате 3х3, каждая цифра встречалась только один раз.

В последнее время появились и другие – более сложные модификации, чем 9х9 ячеек. Существуют Судоку с размерами 15х15 или даже 16х16 ячеек, предназначенные для опытных игроков.

 

 

Описание методов вычислительной математики, используемых при решении

Математическая модель представляет собой совокупность уравнений, неравенств, функционалов, логических условий и других соотношений, отражающих взаимосвязи и взаимозависимости основных характеристик моделируемой системы. 

Корректно составленная математическая модель должна адекватно отражать наиболее существенный черты программы.

Кроме того, модель должна быть разрешима, то есть в описывающей ее системе условий должныотсутствовать математические, экономические, технологические противоречия.

В приложении, разрабатываемом в данном курсовом проекте, используется структура данных массив и операции над ними.

Массив — это структура данных, представляющая собой набор переменных одинакового типа, имеющих общее имя. Массивы удобно использовать для хранения однородной по своей природе информации, например, таблиц и списков.

Каждый элемент двумерного массива характеризуется двумя индексами: первый индекс - это номер строки, в которой находится данный элемент, второй индекс – номер столбца.

Для данного программного средства входными данными является:

- цифры, введенные пользователем в ячейки (при желании создать собственную комбинацию);

- поле размерностью 9х9, с выделением девяти подполей размерностью 3х3. Исходные данные записывают в матрицу. Осуществляется проверка массива.

Магическим квадратом порядка n называется квадратная матрица размера n х n, составленная из чисел 1, 2, ..., nтак, что суммы по каждому столбцу, каждой строке и каждой из двух больших диагоналей равны между собой. 

Магическая константа рассчитывается по формуле n*(n^2+1)/2, где n - является размерностью матрицы-квадрата. Массив не должен допускать одинаковых значений по вертикали и горизонтали.

Пример описания массива из приложения Судоку с помощью матрицы смежности:

Const

Very Hard: array[0..8,0..8] ofbyte=((8,5,0,0,0,2,4,0,0),

(7, 2, 0, 0, 0, 0, 0, 0, 9),

(0, 0, 4, 0, 0, 0, 0, 0, 0),

                                (0, 0, 0, 1, 0, 7, 0, 0, 2),

                                (3, 0, 5, 0, 0, 0, 9, 0, 0),

                                (0, 4, 0, 0, 0, 0, 0, 0, 0),

                                (0, 0, 0, 0, 8, 0, 0, 7, 0),

                                (0, 1, 7, 0, 0, 0, 0, 0, 0),

                                (0, 0, 0, 0, 3, 6, 0, 4, 0));


Дата добавления: 2019-07-15; просмотров: 189; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!