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

1.2.2 Выбор метода решения задачи

 В качестве метода решения задачи была выбрана реализация описанных выше «индийского» алгоритма и метода Раус-Болла. Эти методы хороши тем, что могут быть быстро и легко запрограммированы с использованием языка Delphi – описание алгоритмов позволяет быстро перейти от естественного описания алгоритма к инструкциям языка.

Использование перечисленных методов обусловлено и их быстродействием. Они являются одними из наименее трудоемких среди других методов построения МК.

 

1.3 Информационная база задачи

1.3.1 Входная информация

Входной информацией программы является значение n – натуральное число, задающее размер стороны «магического» квадрата. Это значение вводится пользователем с клавиатуры. Другая входная информация не требуется.

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

 

Рисунок 1 Главная форма программы – ввод информации

 

Для ввода требуемого размера стороны МК n служит поле ввода с меткой «Введите n».

Для построения МК с заданным размером стороны служит кнопка с надписью «Заполнить», нажатие которой вызывает процедуру построения МК.

 

1.3.2 Выходная информация

 

Главная форма программы одновременно отображает и выходную информацию.

Рисунок 2 Главная форма программы - вывод информации

 

Текстовое поле с меткой «Магическая сумма» служит для вывода «магической суммы» построенного квадрата (число, равное суммы всех чисел строки, столбца или главных диагоналей квадрата).

Квадрат представляется в виде таблицы, ячейки которой – элементы квадрата. В ячейках StringGrid отображаются заполняющие квадрат числа.

1.4 Система меню

Меню приложения имеет следующий вид:

Рисунок 4 Состав меню "Файл"

Меню «Файл» в данной версии приложения содержит всего одну команду – «Выход», которая предназначена для завершения работы приложения.

Рисунок 5 Состав меню "Помощь"

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

Сама справка приложения содержит 2 раздела (topics): «Работа с программой» и «О программе».

Рисунок 6 Справка приложения

Приложение включает контекстно-зависимую помощь, вызываемую по нажатии клавиши «F1» для определенного элемента управления, когда этот элемент управления находится в фокусе.

Контекстная помощь доступна для:

1)    StringGrid, отображающего построенный МК

2)    Текстового поля, в которое вводится размер стороны квадрата

3)    Кнопки, запускающей процедуру построения МК

4)    Текстового поля, содержащего сумму построенного МК

Разработка справочной системы велась при помощи ПО Microsoft HelpWorkshop, входящего в комплект поставки Delphi 7. Были разработаны файлы оглавления и проекта справки, которые затем были откомпилированы в Help WorkShop.

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

 

1.5 Контрольные примеры

Для проверки корректности работы созданной программы осуществим построение «магических» квадратов четырех размеров:

1)    МК размера 2x2:

Таких квадратов не существует.

Алгоритм программы отрабатывает корректно, заполняя ячейки квадрата нулевыми значениями, но в поле «Магическая сумма» стоит значение «не существует» - программа работает верно.

Рисунок 7 Результат построения квадрата 2х2

2)    МК размера 3x3:

8

1

6

3

5

7

4

9

2

Сумма = 15

 

Рисунок 8 Результат построения квадрата 3х3

 

Программа работает корректно.

 

3)    МК размера 4x4:

1

15

14

4

12

6

7

9

8

10

11

5

13

3

2

16

Сумма = 34

 

Рисунок 9 Результат построения квадрата 4х4

 

Программа работает корректно.

4)    МК размера 5x5:

17

24

1

8

15

23

5

7

14

16

4

6

13

20

22

10

12

19

21

3

11

18

25

2

9

Сумма = 65

 

Рисунок 10 Результат построения квадрата 5х5

 

Программа работает корректно.

В результате проведенного тестирования корректности работы программы убедились, что программа работает корректно для n=2,3,4,5, то есть для всех возможных случаев описанных ранее математических алгоритмов.

В случае ввода отрицательного значения n, пользователю будет выдано предупреждение об этом:

Рисунок 11 Предупреждение об ошибочном вводе