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

Обоснование выбора структур данных для решения задачи.

Использование записи Ant представляет собой единичного «муравья» и позволяет собрать в одну структуру набор различных типов данных и легко обращаться к этим ним. Динамический массив записей An позволяет создавать различное число «муравьев» и работать с ними. Массивы Dist, Fer, Result позволяют удобно работать с данными о дистанциях между городами и количеством феромона на каждом участке.

Табл. 1.

Наименование

Описание

An: array of Ant;

Массив данных о муравьях

Ant=record

City: array of integer; ……….

Route: array of integer; лл

T: integer;

now: integer; 1111

D: array of array of integer;

Запись, содержит поля:

города, которые надо поситить муравью;

путь, состоящий из пройденных городов

длина пути, пройденная муравьем

номер города, в котором находится муравей

массив дистанций между городами

Result: array of integer;

Одномерный массив, используется при выводе информации.

Продолжение табл. 1

Dist: array of array of integer;

Двумерный массив, используется для хранения информации о расстоянии между городами.

Fer: array of array of real;

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

Спецификации программных модулей.

Табл. 2.

Наименование

Описание

procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

Приводит матрицу в симметричный вид при движении мыши по таблице.

procedure TForm1.Button1Click(Sender: TObject);

Расчет оптимального с использованием муравьиного алгоритма

procedure TForm1.FormCreate(Sender: TObject);

Задает начальные параметры и строит начальную матрицу путей.

procedure TForm1.Button2Click(Sender: TObject);

Строит матрицу, заданную пользователем

procedure TForm1.BitBtn1Click(Sender: TObject);

Открывает окно справки

Обоснование выбора типа интерфейса и описание основных форм ввода-вывода.

В программе используются процедурные интерфейсы: интерфейс со свободной навигацией и интерфейс-меню.

Интерфейс программы содержит 2 окна: расчеты и помощь.

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

Рис. 2 Окно ввода данных и вывода результата

Рис. 3. Окно помощи

Тестирование программы.

Табл. 3

Дата тестирования

Тестируемый модуль или подпрограмма

Кто проводил тестирование

Описание теста

Результаты тестирования

15.10.2012

procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

Разработчик: Попов Федор

Проверка процедуры строящей симметрич-ную матрицу

Успешно.

20.10.2012

procedure TForm1.Button1Click(Sender: TObject);

Разработчик: Попов Федор

Проверка основных вычислений

Неправильные вычисления.

25.10.2012

procedure TForm1.Button1Click(Sender: TObject);

Разработчик: Попов Федор

Проверка основных вычислений

Неправильные вычисления.

5.11.2012

procedure TForm1.Button1Click(Sender: TObject);

Разработчик: Попов Федор

Проверка основных вычислений

Успешно

Продолжение табл. 3

18.11.2012

procedure TForm1.Button1Click(Sender: TObject);

Разработчик: Попов Федор

Проверка вывода результата

Ошибка вывода.

21.11.2012

procedure TForm1.Button1Click(Sender: TObject);

Разработчик: Попов Федор

Проверка вывода результата

Успешно

1.12.2012

Комплексное тестирование

Разработчик: Попов Федор

Полная проверка работоспособности

Успешно