Організація інтерфейсу для взаємодії з користувачем в рекомендаційній системі
Аналіз потенціалу використання мовних моделей для надання точних відповідей, для кращого розуміння та взаємодії студентів із математичним матеріалом. Створення користувацького інтерфейсу з автоматичним генеруванням кроків розв’язування геометричних задач.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | украинский |
Дата добавления | 09.06.2024 |
Размер файла | 728,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Організація інтерфейсу для взаємодії з користувачем в рекомендаційній системі
Смиш Олег Русланович магістр з інженерії програмного забезпечення, аспірант спільної програми комп'ютерних наук, Інститут програмних систем Національної академії наук України, старший викладач Національного університету «Києво-Могилянська академія»
Анотація
У статті розглянуто підвищення ефективності навчального процесу через застосування інтелектуальних систем у розв'язанні математичних задач. Проаналізовано потенціал використання мовних моделей для надання швидких і точних відповідей, що може значно покращити розуміння та взаємодію студентів із математичним матеріалом. Також висвітлено наявні проблеми, зокрема тенденцію мовних моделей до формування помилкових висновків, що впливає на точність результатів.
Для уникнення таких проблем, запропоновано новий підхід, що базується на автоматичному генеруванні кроків розв'язання задач з допомогою rule-based методів та застосування бази знань. Це уможливлює створення надійної системи, яка мінімізує помилки, підвищує точність відповідей, що надаються, та зменшує час на підготовку задач.
Аби застосовувати висновки від логічного виводу, які потім ляжуть в основу формування кроків, описано алгоритм, який з допомогою OWL API та Pellet формує пояснення висновків, на основі попередньо сформованої онтології з використанням правил SWRL.
Як приклад, у статті описано використання простої планіметричної задачі, з декількома кроками розв'язання, відкритого типу з короткою відповіддю, задля демонстрації успішного автоматичного формування кроків розв'язку задачі. Варто зауважити, що в задачах може існувати декілька кроків вирішення, а також одна й та ж задача може мати різні шляхи для вирішення. Проте різноманітність у кроках не є проблемою в запропонованому підході, оскільки різонер формує всі можливі пояснення до своїх висновків.
Розглянуто інтеграцію цього підходу до користувацького інтерфейсу з автоматичним створенням кроків розв'язування задач у багатомодульну рекомендаційну систему. Така система дає змогу самостійно навчатися користувачам та знімає потребу в послугах репетитора.
Ключові слова: рекомендаційна система, онтологія, база знань, геометрія, Protege, OWL, Reasoner, SWRL.
Abstract
Organization of the interface for interaction with the user in the recommendation system
Smysh Oleh Ruslanovych Master of Software Engineering, Computer Science Ph.D. student at the Institute of Software Systems of National Academy of Sciences of Ukraine, Senior Lecturer at the Department of Multimedia Systems, Faculty of Informatics, National University of Kyiv-Mohyla Academy
The article discusses improving the educational process through applying intelligent systems in solving mathematical problems. It analyzes the potential of using language models to provide quick and accurate answers, which can significantly improve students' understanding of mathematical materials. It also highlights existing problems, including the tendency of language models to form false conclusions, affecting the accuracy of results.
To avoid the discussed problems, a new approach is proposed, based on the automatic generation of problem-solving steps using rule-based methods and the application of a knowledge base. This enables to create a reliable system that minimizes errors, increases the accuracy of the provided answers, and reduces the time needed for problem preparation.
To apply the conclusions from logical inference, which then form the basis for the creation of steps, the article describes an algorithm that uses OWL API and Pellet to generate inference explanations, based on a previously formed ontology using SWRL rules.
As an example, the article describes the usage of a simple planimetric problem, with several steps for the solution, of an open type with a short answer, to demonstrate the successful automatic formation of problem-solving steps. It is worth noting that there can be several steps to solve a problem, and the same problem can have different paths to the solution. However, diversity in the steps is not a problem in the proposed approach, as the reasoner forms all possible explanations for its conclusions.
The integration of this approach into the user interface with the automatic creation of problem-solving steps into the multi-module recommendation system is considered. Such a system allows users to learn independently and eliminates the need for tutoring services.
Keywords: recommendation system, ontology, knowledge base, geometry, Protege, OWL, Reasoner, SWRL.
Постановка проблеми
Інтелектуальні системи набирають дедалі більшої популярності серед користувачів, які прагнуть полегшити виконання різноманітних задач, за допомогою «розумного» асистента. Системи, що працюють на базі великих мовних моделей (LLM -- Large Language Model) демонструють значущі результати в найрізноманітніших сферах людського життя. Використання таких систем зокрема в освіті дає змогу учням, абітурієнтам чи студентам отримувати швидкі відповіді на складні питання, значно підвищуючи ефективність навчального процесу. Особливо зважаючи на те, що деякі моделі доступні зараз без обмежень, як-от ChatGPT [1]. Це дає змогу ефективно економити час та ресурси (як грошові, так і людські).
Сучасні моделі здатні не лише розв'язувати, до прикладу математичні задачі, але також пропонувати кроки вирішення цих задач, фіксувати кроки, що запропоновані користувачем чи перевіряти відповідь до задачі, у форматі чату (спілкування), фактично замінюючи собою вчителя.
Проте, варто зазначити на значний недолік мовних моделей, який полягає в самому механізмі роботі таких систем. Оскільки моделі сформовано зазвичай на основі зібраних великих обсягів текстових даних, модель відображає лише те, що використано під час її навчання, аби передбачити наступне слово в рядку тексту на основі попереднього контексту. Це досягається завдяки використанню глибоких нейронних мереж, які уможливлюють формування складних залежностей між словами в тексті. Фактично, система лише намагається імітувати знання, формуючи текст через використання попередніх даних, які закладено в модель.
Найвагоміші проблеми, які виникають у мовних моделях, особливо великих, це галюцинації та відсутність перевірки даних. Галюцинації виникають, коли модель генерує неправдоподібний або некоректний контент. А брак апарату перевірки даних може призвести до того, що модель використовуватиме неправдиві або неперевірені джерела, що можуть містити суперечливі дані.
Проблеми з точністю й коректністю є фатальними, якщо мова йде про створення рекомендаційної системи для розв'язування математичних задач. Пропонуючи користувачу кроки для розв'язання задач, варто мінімізувати похибки та пересвідчитись у правильності даних, що надаються й отримуються.
Аналіз останніх досліджень і публікацій
Фактично подібного підходу до вирішення окресленої проблематики на сьогодні не запропоновано. Ведуться розробки щодо збільшення точності LLM за допомогою застосування онтологій та логічного висновування [2]. Рекомендаційна система для розв'язування математичних задач [3], створення якої зараз ведеться, є багатомодульною системою, до котрої можна впровадити запропонований у цій статті підхід, що уможливлює створення автоматичних кроків розв'язання задач.
Мета статті. Окреслити загальні проблеми використання сучасних великих мовних моделей та запропонувати новий механізм, що уможливлює створення користувацького інтерфейсу з автоматичним генеруванням кроків розв'язування геометричних задач, шляхом використання rule-based методів та бази знань.
Виклад основного матеріалу
Для розв'язання окреслених проблем, що пов'язані з використанням LLM, запропоновано та запрограмовано рішення, що полягає в застосуванні rule-based методів із використанням бази знань (онтології). Це рішення доєднано до створеної раніше багатомодульної системи. Рекомендаційна система уможливлює опрацювання сирих текстів геометричних задач, які до неї надходять, та надає розв'язок цієї задачі. Систему сформовано на мові Python з використанням методів обробки природної української мови на основі rule-based методів та machine learning засобів [3].
Проте, аби система могла взаємодіяти з користувачами, потрібно сформувати апарат автоматичного генерування кроків розв'язання задач. Очевидно, що деякі задачі розв'язуються в декілька кроків, а часто буває ситуація, що алгоритмів розв'язку однієї й тієї ж задачі може бути декілька. Така проблема ускладнює автоматичне опрацювання діалогу з користувачем та відстежування його пропонувань щодо кроків.
Для того, щоб створити дерево кроків розв'язку задач, використано пояснення висновків до індивідів, які формують інструменти логічного виводу (як-от FaCT++, Pellet, HermiT), до прикладу в програмному засобі Protege. Protege -- це відкритий редактор онтологій та система управління знаннями. Він дає змогу створювати моделі доменів та застосунки на основі знань за допомогою онтологій. Також він пропонує інструменти для редагування та перегляду онтологій, користувачі можуть додавати, змінювати або видаляти елементи онтології. Розширення SWRLTab, що постачається разом з Protege, підтримує редагування та виконання правил SWRL [4]. SWRL (Semantic Web Rule Language) -- це мова правил, що призначена для додавання можливостей висновування до онтологій, створених у форматах OWL (Web Ontology Language).
SWRL надає змогу формулювати правила висновування, які працюють разом з онтологіями для опису взаємозв'язків між класами та індивідами. У SWRL є два основні компоненти: атоми та правила. Атоми -- це мінімальні вислови, які можуть представляти класи, властивості, індивіди чи дані. А правила визначаються як імплікації між двома наборами атомів, антецедентом (умова) і консеквентом (висновок). Аби виконувати різноманітні операції над даними (як-от арифметичні чи логічні), потрібно використовувати так звані вбудовані функції SWRLB (SWRL Built-Ins), що розширюють можливості SWRL.
Розглянемо приклад побудованої онтології для унаочнення виведення пояснень до висновків. Приклад розв'язує просту геометричну задачу відкритого типу з короткою відповіддю, взяту зі шкільного підручника за 7 клас [5, С. 462]. Текст задачі: «У трикутнику ABC відомо, що ZA = 30°, ZB = 45°, CK -- висота, AC = 10 см. Знайдіть відрізок BK.». Графічне зображення цієї задачі відображено на рисунку № 1 (Див. Рис. № 1).
Рис.1. Графічний опис задачі.
З тексту видно, що задача має декілька кроків вирішення, а також може бути вирішено декількома способами. Зважаючи на те, що трикутник ABC має висоту, відбувається поділ трикутника на два менші, на які фактично потрібно зважати під час розв'язування.
Спершу за допомогою програмного інтерфейсу створено класи онтології (Див. Рис. № 2).
Рис. 2. Фрагмент онтології планіметрії.
У Protege є два основні типи властивостей: властивості об'єктів та даних. Властивості об'єктів з'єднують два індивіди. Властивості даних зв'язують індивідів із даними літералів. Тобто, основна їхня відмінність: властивості об'єктів з'єднують індивід з іншим індивідом, встановлюючи відносини між двома екземплярами, а властивості даних зв'язують індивід із конкретним значенням даних, описуючи атрибути цього індивіда.
Рис.3. Властивості об'єкта.
На рисунку № 3 відображено властивості об'єкта (Див. Рис. № 3).
На рисунку № 4 зображено описані властивості даних (Див. Рис. № 4).
Рис. 4. Властивості даних.
Індивіди є компонентом редактора Protege. У контексті онтологій індивіди стосуються конкретних екземплярів (сутностей) чи прикладів класів (або типів), визначених в онтології. На рисунку № 5 наведено мінімальний список індивідів, які додано до онтології для окресленої задачі (Див. Рис. № 5).
Рис. 5. Індивіди онтології.
Аби описати взаємозв'язки між класами та індивідами використано SWRL правила. Для описаного прикладу задачі сформовано 5 таких правил:
Фактично, онтологію з використанням SWRL сформовано як приклад із таким мінімальним набором знань, аби система відтворила розв'язок задачі, по заздалегідь закладеному шляху, оскільки є очевидним, що чим повніше відображена планіметрія в онтології, тим більшу кількість логічних кроків розв'язання однієї й тієї ж задачі вона віднайде.
У використаній задачі, SWRL правила мають спрацювати в певній послідовності. Для цього прикладу послідовність застосування виконано таку: спершу залучається правило № 5, яке після поділу основного трикутника висотою, вказує, що утворені трикутники -- прямокутні; потім використовується правило № 2, яке знаходить кут KCB, за допомогою двох відомих кутів із цього трикутника; далі різонер застосовує правило № 1, аби за властивістю визначити катет CK у трикутнику ACK; Після цього запускається правило № 4, щоб визначити трикутник CKB як рівнобедрений за двома однаковими кутами. І в кінці різонер залучає правило № 3. Це правило вказує на рівність ребер рівнобедреного трикутника. Останнє застосоване правило фактично знаходить шукане із задачі, тобто довжину KB.
Програма Protege має зручний інтерфейс та достатній інструментарій для роботи над онтологіями, проте в системі не передбачена можливість виведення висновків різонера за її межі. Аби уможливити подальше опрацювання висновків від інструментів логічного виводу, прийнято рішення скористатися OWL API. OWL API -- це Java інтерфейс програмування застосунків та еталонна реалізація для створення, маніпулювання та серіалізації онтологій OWL [6].
OWL API надає можливість доєднати Pellet та реалізувати вивід пояснення для його висновків. Код починається з імпорту необхідних бібліотек та класів для роботи з OWL онтологіями та генерування пояснень. Далі, стандартний потік виводу перенаправлено до файлу, що уможливлює зберегти пояснення висновків локально та потім їх опрацювати. Ініціалізовано компонент «Pellet Explanation», який генерує пояснення для заданих аксіом. За допомогою «Manchester Syntax Explanation Renderer» налаштовано вивід пояснень у форматі Manchester Syntax, який є зрозумілим для людини. Для роботи з онтологією вказано файл онтології, створено екземпляр різонера з бібліотеки Pellet та ініціалізовано генератор пояснень. У коді визначено індивід та властивість, для яких генеруватиметься пояснення. Створено аксіому, яка стверджує, що певний індивід має властивість із вказаним значенням. Нарешті, генеруються пояснення для цієї аксіоми.
Варто зазначити, що хоч і сформовано аксіому із застосуванням літерала (вписано числове значення, якому прирівнюється індивід), проте є можливість переробити код у такий спосіб, щоб ця інформація генерувалася за допомогою логічного виводу Pellet та підставлялася безпосередньо в аксіому, якщо заздалегідь відповідь є невідомою.
Зважаючи на те, що основну частину рекомендаційної системи для розв'язування задач написано мовою програмування Python, а модуль отримання автоматичних висновків кроків отримання рішення із задач написано мовою Java, то результат роботи Java коду, який збережено в текстовий файл далі опрацьовується за допомогою мови Python задля подальшої роботи над формуванням користувацького інтерфейсу.
Користувацький інтерфейс вирішено сформувати так: спершу користувач обирає задачу зі списку, яку він прагне розв'язати, далі для конкретної задачі формується список кроків у випадковій послідовності, разом із додатковими кроками, які є неправильними до конкретної задачі. Кроки сформовано на основі заготовленої інформації від кожного правила SWRL. Під кожне правило в онтології є його заготовлений текстовий еквівалент та прописано змінні (індивіди), які використовуються в правилі (ці додаткові відомості збережено у форматі JSON для правил). Користувач зі списку може обрати крок, зважаючи на послідовність. Якщо вибрано неправильний крок на певному етапі, то висвітлюється помилка поточного кроку. Якщо вибрано правильний крок, то відображаються поля, які потрібно ввести. До прикладу, якщо це перший крок, який стверджує, що висота ділить трикутник на два прямокутні трикутники, то користувачу виводяться 2 поля для введення: «Назва трикутника» та «Назва висоти».
Кроки сформовано так, щоб автоматично підставляти їхню кількість та назву, проте не додаткові параметри, до яких застосовувалося SWRL правило. Це реалізовано завдяки логічному висновуванню від Pellet, оскільки висновки відображають усі залучені знання з бази знань, а не лише SWRL правила.
Після заповнення вказаних полів, користувач може натиснути кнопку «Відправити», та пересвідчитись у правильності ходу свого виконання. Якщо введені дані коректні, користувач обирає зі списку наступний крок. І так відбуватиметься допоки не буде здійснено останнього кроку розв'язання задачі. На фінальному етапі, після введення всіх даних коректно, користувачу буде відображено ствердний результат роботи.
мовний модель математичний інтерфейс
Висновки
Запропоновано підхід, що уможливлює автоматичне формування кроків для розв'язування математичних задач. Спершу за допомогою інтерфейсу Protege створюється фрагмент предметної онтології для потрібної математичної галузі, додатково для опису онтології залучаються правила SWRL. Далі для отримання логічних висновків використовується OWL API, що уможливлює їхнє збереження та подальше опрацювання. До кожного SWRL правила додатково прописується текстовий еквівалент та змінні, які в ньому використовуються. Інструменти логічного виведення, як Pellet зберігають послідовність застосування правил. Залишається лише з тексту висновку вичленити таку інформацію, як послідовність та кількість цих правил. Додатково, для перевірки даних, що стосуються SWRL правил, виокремлюється та зберігається у форматі JSON.
Описано створення користувацького інтерфейсу до рекомендаційної системи для розв'язування математичних задач, що уможливлює автономну роботу користувача із системою, без залучення вчителя.
Окреслений підхід формування кроків може бути використаним у багатьох галузях математики, охопно з планіметрією.
Література
1. OpenAI. (2024). ChatGPT(4) [Large language model].
2. Baldazzi T., Bellomarini L., Ceri S., Colombo A., Gentili A., Sallinger E. (2024). Fine-tuning large language models for financial markets via ontological reasoning (№ 44). Bank of Italy, Directorate General for Markets and Payment System.
3. Жежерун О.П., Смиш О.Р. Автоматизація розв'язування задач із планіметрії, записаних природною українською мовою. Проблеми програмування. 2020. №4. С. 071-080.
4. O'Connor M.J., Das A.K. (2006). The SWRLTab: An Extensible Environment for working with SWRL Rules in Protege-OWL.
5. Мерзляк А.Г. Геометрія: підруч. для 7 кл. закладів заг. серед. освіти. 2-ге вид. Харків, Україна: Гімназія, 2020. 240 с.
6. OWL API. OWL API.
References
1. OpenAI. (2024). ChatGPT (4) [Large language model].
2. Baldazzi T., Bellomarini L., Ceri S., Colombo A., Gentili A., Sallinger E. (2024). Fine-tuning large language models for financial markets via ontological reasoning (№ 44). Bank of Italy, Directorate General for Markets and Payment System.
3. Zhezherun O.P., Smysh O.R. (2020). Avtomatyzatsiia rozviazuvannia zadach z planimetrii, zapysanykh pryrodnoiu ukrainskoiu movoiu [Automation of solving planimetry problems written in Ukrainian]. Problemy Prohramuvannia - Problems in programming, (4), 71-80 [in Ukrainian].
4. O'Connor M.J., Das A. (2006). The SWRLTab: An extensible environment for working with SWRL rules in Protege-OWL. In Proc. 2nd Int. Conf. Rules Rule Markup Lang. Semantic Web (pp. 1-2)
5. Merzliak A.H. (2020). Heometriia: pidruch. dlia 7 kl. zakladiv zah. sered. osvity. (2nd ed.) [in Ukrainian].
6. OWL API. (n.d.). OWL API.
Размещено на Allbest.ru
...Подобные документы
Обліковий запис root. Настройка атрибутів користувацького облікового запису. Програми для створення облікових записів користувачів. Створення програми-скрипта add_user для надання робочого інтерфейсу програмі useradd. Блок схема алгоритму програми.
курсовая работа [35,9 K], добавлен 10.01.2013Проектування інтерфейсу користувача. Стилі взаємодії користувача з програмними системами. Стилі представлення інформації і доцільність графічного представлення даних. Правила проектування засобів підтримки користувача, вбудованих в програмне забезпечення.
доклад [1,2 M], добавлен 08.12.2008Структура мережевої підсистеми Linux. Створення мережевого інтерфейсу. Передача пакетів та аналіз поведінки інтерфейсу. Протокол транспортного рівня. Використання модулів ядра. Вплив маршрутизації на процес розробки і налагодження мережевих модулів.
курсовая работа [56,2 K], добавлен 23.05.2013Створення одночасного режиму роботи декількох відеокарт. Історія розвитку інтерфейсу взаємодії відеокарти та материнської плати. Технологія збільшення продуктивності відео AMD CrossFireX. Використання спеціалізованих рішень для промислових додатків.
курсовая работа [6,7 M], добавлен 03.01.2016Створення одночасного режиму роботи декількох відеокарт. Розвиток інтерфейсу взаємодії відеокарти та материнської плати. Технологія збільшення продуктивності відео AMD CrossFireX та NVIDIA SLI. Використання спеціалізованих рішень для промислових додатків.
курсовая работа [3,5 M], добавлен 09.01.2016Формування електронного реєстру та презентацію готелів по країнах (регіонах) та містах, визначених користувачем. Структура даного програмного продукту, опис інтерфейсу з користувачем, план тестування, інструкція по експлуатації, функціональні вимоги.
курсовая работа [199,9 K], добавлен 30.04.2016Сучасні тенденції у галузі розподілених систем виявлення комп’ютерних атак. Обґрунтування вибору програмного середовища та мови програмування для розробки підсистеми. Розробка узгодженого інтерфейсу взаємодії користувача з підсистемою, візуалізації даних.
дипломная работа [2,4 M], добавлен 16.07.2014Аналіз проектування баз даних та створення програми на тему IC "Туристичні агентства". Розробка простого для розуміння інтерфейсу, огляд реалізації додавання, редагування, видалення, пошуку інформації. Характеристика задач автоматизації і фізичної моделі.
курсовая работа [4,1 M], добавлен 12.01.2012Аналіз особливостей роботи I2C-інтерфейсу, фізичного середовища для його реалізації. Функціональні можливості модуля TWI мікроконтролерів AVR для забезпечення обміну даними за I2C-протоколом. Організація структури даних для мультимайстерного режиму.
дипломная работа [268,7 K], добавлен 10.10.2013Розгляд та аналіз основних способів розв’язання звичайних диференціальних рівнянь за методом Рунге-Кутта з автоматичним вибором кроку. Способи оцінки погрішності і збіжності методу Рунге-кутти четвертого порядку з автоматичним вибором довжини кроку.
контрольная работа [31,0 K], добавлен 18.01.2013Огляд переваг та недоліків мови Пролог, історія її створення. Числення предикатів як математична основа її функціонування. Порівняльна характеристика середовищ програмування Prolog. Алгоритми розв’язування математичних задач за допомогою цієї мови.
курсовая работа [504,5 K], добавлен 23.12.2014Операційна система Android: поняття та загальна характеристика, оцінка переваг та недоліків, принципи програмування в ній. Основні типи елементів інтерфейсу, використання адаптерів. Розробка програми, головні файли, система взаємодії. Асинхронні запити.
курсовая работа [1,4 M], добавлен 13.05.2014Створення програми, в якій є можливість вибрати три режими: редактор питань, перегляд рекордів гри та пункт для того щоб, розпочати нову гру. Побудова інформаційно-математичної моделі задачі. Розробка інтерфейсу програми з користувачем, її тестування.
дипломная работа [2,7 M], добавлен 28.10.2014Процес конфігурації комп’ютерної бухгалтерської системи, його специфіка та значення, основні етапи. Створення інтерфейсу, що призначається певній групі користувачів. Призначення користувачу створеного набору прав (повноважень) та структури інтерфейсу.
лабораторная работа [520,2 K], добавлен 24.11.2010Об’єктно-орієнтований аналіз, визначення класів та методів. Загальна схема функціонування системи. Представлення учбового матеріалу, питань та відповідей. Графічний інтерфейс користувача для роботи з програмою. Використання програми викладачами.
курсовая работа [1,3 M], добавлен 09.01.2014Побудова інформаційно-математичної моделі задачі. Визначення структури даних. Розробка інтерфейсу програми з користувачем. Реалізація проекту у візуальному середовищі. Аналіз та тестування програми. Розгляд результатів та інструкція з експлуатації.
курсовая работа [4,2 M], добавлен 07.05.2009Методи, засоби та алгоритми розв'язування задачі. Розробка інтерфейсу програми для забезпечення діалогу: ком'ютер - користувач при роботі з базою даних довідкової системи навчальних закладів. Програма та її опис, призначення. Логічна структура програми.
курсовая работа [234,8 K], добавлен 14.03.2010Створення програмного модуля, який виконуватиме формування електронного підручника та презентацію тестів з пройденого матеріалу по темах, визначених користувачем. Склад та призначення програмних компонентів модуля Unit1.cpp., опис інтерфейсу додатку.
курсовая работа [381,2 K], добавлен 06.05.2016Порядок обміну даними через порт принтера (інтерфейсу Centronics). Розряди паралельного порту. Особливості протоколів та типів паралельного порту. Фізичні характеристики передавачів і приймачів сигналів. Проектування апаратури для спряження з Centronics.
реферат [204,3 K], добавлен 19.06.2010Опис структур даних та вмісту файлів з вхідними, вихідними даними. Проектування програми автоматизації процесу обліку (поставки та видачі) товарів для невеликого магазину. Математична постановка основних задач. Опис програмного інтерфейсу з користувачем.
курсовая работа [526,9 K], добавлен 07.10.2014