Руководство программиста программы «Задача о рюкзаке»

Страницы работы

9 страниц (Word-файл)

Содержание работы

1. Общие сведения

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

2. Структура программы

Программа состоит из двух модулей:

- модуля главного окна;

- модуля окна справки.

2.1 Главное окно

Модуль главного окна содержит следующие функции:

2.1.1 TCalcWin::TCalcWin(TComponent* Owner)

Конструктор формы главного окна. Создаёт главное окно программы и все его компоненты, а также задаёт первоначальный вид таблицы масс и цен.

2.1.2 void __fastcall TCalcWin::AddGoodsClick(TObject *Sender)

Функция обработки нажатия кнопки «Добавить столбец». Добавляет один столбец в конец таблицы масс и цен. При необходимости раздвигает окно программы до края экрана.

2.1.3 void __fastcall TCalcWin::DelGoodsClick(TObject *Sender)

Функция обработки нажатия кнопки «Удалить столбец». Удаляет  столбец таблицы масс и цен. При необходимости уменьшает ширину окна программы до исходного размера.

2.1.4 void __fastcall TCalcWin::CalcPriceClick(TObject *Sender)

Функция обработки нажатия кнопки «Рассчитать». Производит проверку размерности введённых исходных данных, расчеты по основному алгоритму и вывод результатов. Содержит следующие переменные:

- mas – массив масс товаров;

- price – массив цен товаров;

- М – заданная масса оптимального набора;

- N – количество видов товаров;

- k – вспомогательная переменная;

- m – переменная для хранения массы текущего набора товаров;

- min – масса самого лёгкого товара;

- max – максимальная цена текущего варианта набора товаров;

- cnt – переменная для подсчёта количества товара определённого вида в оптимальном наборе;

- f – массив стоимостей оптимальных наборов товаров;

- f1 – массив номеров товаров, включаемых в различные оптимальные наборы;

- f2 – массив масс оптимальных наборов;

- f3 – массив номеров товаров, составляющих искомый оптимальный набор;

i, j – счётчики циклов;

s – строка для накопления исходных данных.

2.1.5 void __fastcall TCalcWin::CapacityKeyPress(TObject *Sender, char &Key)

Функция обработки ввода в поле Грузоподъёмность. Производит проверку вводимых символов и устраняет недопустимые.

2.1.6 void __fastcall TCalcWin::LoadFlClick(TObject *Sender)

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

- list – список строк для загрузки данных из файла;

- rez – запись с результатами поиска файла.

2.1.7 void __fastcall TCalcWin::InfClick(TObject *Sender)

Функция вывода информации о программе. Выводит служебное окно с информацией об авторе программы.

2.1.8 void __fastcall TCalcWin::HlpClick(TObject *Sender)

Функция, выводящая окно справки.

2.1.9 void __fastcall TCalcWin::ExitClick(TObject *Sender)

Функция, закрывающая программу.

2.2 Окно справки

Модуль, предназначенный для вывода окна справки. Вызывается из главного окна.

3. Настройка

Программа не требует настройки.

4. Проверка программы

  По нажатию кнопки Добавить в таблице должен добавляться один столбец с нулями в первых двух строках.

По нажатию кнопки Удалить из таблицы должен быть удалён последний столбец.

По нажатию кнопки Рассчитать:

- при правильно введённых исходных данных в последнюю строку таблицы выводится количество товаров в оптимальном наборе;

- при не заданной массе оптимального набора (грузоподъёмности рюкзака) выводится сообщение об ошибке и вычисления не производятся;

Похожие материалы

Информация о работе