- •Министерство образования и науки украины
- •В. Л. Лисицкий автоматизация операционных исследований на базе персональных эвм
- •7080401 – Информационные управляющие системы и технологии; 7080403 – Программное обеспечение автоматизированных систем.
- •1 Основные определения. Типовые содержательные задачи линейного программирования, являющиеся задачами исследования операций
- •1.1. Основные определения
- •1.2. Типовые содержательные задачи лп, являющиеся задачами исследования операций
- •2 Автоматизация операционных исследований. Структура интерфейса исследователя операций
- •3 Алгоритмическое обеспечение решения задач лп конечными методами
- •4.1. Основные этапы обработки информации при моделировании операцій
- •4 Программное обеспечениеисследования операций
- •4.2. Структура прикладного программного обеспечения исследования операций
- •Для задачи лп
- •4.3. Построение схемы программы
- •4.4. Отладка программы
- •4.5. Описание программы. Описание программы позволяет не только эксплуатировать ее, но и проводить необходимую модернизацию с целью дальнейшего использования в разработках.
- •Контрольные вопросы
- •Список литературы
- •Лисицький Василь Лаврентійович
4.4. Отладка программы
4.4.1. Классификация ошибок. Цель и содержание процесса отладки. Создание прикладной программы, доказательство ее работоспособности проходит ряд этапов, на каждом из которых могут возникнуть ошибки.
На этапе построения схемы программы возникают семантические ошибки, определяющие неверную реализацию конечного метода решения задачи ЛП.
При создании текста программы возникают синтаксические ошибки, обусловленные нетвердым знанием алгоритмического языка. При переносе текста программы, исходных данных на машинные носители информации возникают ошибки препарации. При осуществлении продолжительных расчетов на основе работоспособной программы происходит искажение конечных результатов за счет накопления ошибок округления.
Таким образом, ошибки могут быть четырех типов: препарации, синтаксические, семантические, округления.
Целью отладки прикладной программы является обнаружение в ней с помощью ПЭВМ ошибок, исправление их, проверка достоверности полученных на ее основе результатов.
Целесообразно уже при разработке схемы программы, написании текста ее планировать мероприятия, которые могут облегчить процесс отладки, сократить время ее осуществления:
разработка общей схемы проведения отладки, эффективной методики установления работоспособности прикладной программы, системы необходимых для отладки контрольных примеров;
анализ разработанных схем программ, реализующих основные функции главного меню, выбор контрольных мест, участков, значений, реквизитов;
проверка текстов программ, реализация отладочных мероприятий, подготовка контрольных текстов,
отладка прикладной программы с помощью ПЭВМ, в процессе которой на системе контрольных примеров устанавливается наличие семантических ошибок, осуществляется локализация и прерывание их.
Снижение времени отладки программы имеет важное значение и достичь этого можно двумя путями:
уменьшением числа ошибок, допускаемых при разработке схемы и составлении текста программ,
ускорением процессов обнаружения, локализации, исправления ошибок, имеющихся в тексте.
Если на первом пути влияния ПЭВМ несущественно и все определяется опытом программиста, то на втором пути роль ПЭВМ значительна и многое зависит от качества составления плана проведения отладки, эффективности его реализации.
4.4.2. Обнаружение и устранение ошибок. Для отладки прикладной программы достаточно обнаружить, локализовать и исправить ошибки препарации, синтаксические и семантические ошибки. Однако достоверность конечных результатов определяется также и влиянием ошибок округления. Поэтому необходимо предусматривать возможность обнаружения и устранения ошибок каждого типа.
Под препарацией понимают перенос текста программы, данных на машинный носитель. Для снижения числа ошибок препарации текст программы должен быть написан ясно, четко и наглядно.
Основным средством обнаружения ошибок препарации, проверки синтаксической правильности программ являются редакторы текстов программы, встроенные в соответствующую систему программирования на некотором языке программирования. Редакторы, рассчитанные на тексты программ, позволяют осуществлять диалоговый просмотр текста, редактирование строк, распечатку частей программы.
Для обнаружения и локализации семантических ошибок необходимо предусмотреть следующие отладочные мероприятия:
1.Проверка достоверности расчетов в пределах одной итерации. Для этого подготавливают контрольный пример, иллюстрирующий результаты обработки информации при переходе от начальной вершины допустимого множества к последующему опорному плану. В схеме программы необходимо предусмотреть просмотр и/или печать параметров новой таблицы, номераR- направляющей строки, номераK- направляющего столбца,FS- базиса новой вершины. Сравнение результатов ручного и машинного счета позволит обнаружить и локализовать ошибки в текстах программы, реализующих алгоритмы выбораR, K,формированияFS, пересчета параметров таблиц.
2.Проверка правильности обнаружения неразрешимости задач ЛП. Для осуществления этого используют небольшие по размерам, заведомо неразрешимые задачи.
3.Обнаружение ухода из допустимой области. Для этого необходимо:
предусмотреть контроль изменения целевой функции, имея в виду, что для симплекс-метода она должна не убывать, а для двойственного симплекс-метода - не возрастать;
предусмотреть контроль неотрицательности базисных компонент Хi0опорного плана (симплекс-метод), параметров
(двойственный симплекс-метод);предусмотреть формирование массива L(2m)значений целевой функции задачи по итерациям с предоставлением возможности его просмотра и/или печати.
При обнаружении семантических ошибок важное значение имеет состав и объем информации, выводимой для просмотра и/или печати.
Если процесс решения задачи прекращен по ситуации 1, то состав и объем выводимой информации должен быть достаточен для проверки достоверности полученного решения.
Если процесс решения задачи прекращен по ситуации 2, то состав и объем выводимой информации должен быть достаточен для проверки неразрешимости задачи ЛП.
На этапе отладки программы для выявления семантических ошибок применяется и блок контроля. Для этого значение рберут равным единице.
При прерывании процесса решения задачи блоком контроля состав и объем выводимой информации должен быть достаточным, чтобы установить:
численные значения всех сравниваемых величин;
результаты поэтапной обработки информации в блоке контроля.
Для обнаружения ошибок округления применяют блок контроля, описанный в 4.2.4.
Для контроля достоверности решений, полученных на основе разработанных программ обеспечения, реализующих пункт 1.4. главного меню, описанное в 4.2.5.
Таким образом, разработка работоспособной программы предполагает затраты не только на ее изготовление, но и на доказательство работоспособности программы. Последнее во многом определяется полнотой выбранной системы отладочных мероприятий.
