Опис задачі та шлях її вирішення

Користувач задає в програмі, вручну або автоматично, деяку систему лінійних обмежень та вектор який може слугувати одним з розв’язків СЛО. В програмі потрібно створити такі функції:

ü оформити клас лінійного обмеження (ЛО) який би зберігав одну нерівність, а також методи та властивості для його опрацювання;

ü оформити клас СЛО на базі класу ЛО;

ü провести перевірку чи задовольняє введений користувачем вектор системі лінійних обмежень;

ü вивід СЛО як тексту;

ü можливість збереження у файл та його відкриття з файлу;

ü сортування обмежень (розбиття на групи);

 

Поставлену переді мною задачу я вирішив використовуючи мову програмування Delphi. Дана мова програмування є об’єктно орієнтованою тому вона чудово підійшла для розробки програми. Саму ж програму я виконав використовуючи візуальні компоненти (рис.1). СЛО вводиться через таблицю StrinGrid1, причому є два варіанти вводу: ручний та автоматичний з можливістю редагування. Регулювати розмір таблиці можна за допомогою двох компонент SpinEdit1 та SpinEdit2 кожна з яких відповідає за кількість змінних та кількість ЛО у таблиці.

 

 

Рис. 1

 

Розглянемо кнопки по порядку розташування:

Exit — виконує вихід з програми-клієнта;

Reset — скидає всі налаштування для введення нових даних

Write LO — виписує СЛО у компонент Memo1;

Check solution — перевіряє чи введений користувачем вектор задовольняє СЛО;

Open — відкриває СЛО з текстового файлу та заповнює таблицю

Save — зберігає СЛО в текстовий файл;

Sort LO — сортує СЛО (розбиває на групи);