Каждый инженер или исследователь, регулярно использующий ЭВМ для решения задач хотя бы с минимальными элементами творчества, рано или поздно приходит к необходимости применения разработки пакета подпрограмм. Этот выход на новый уровень программирования порождает и новые проблемы, о которых нужно иметь хотя бы начальное представление.
189
Важно различать метод (математический) и подпрограмму. Метод обычно может быть описан несколькими простыми формулами. Подпрограмма же должна предусматривать такие детали, как выбор величины шага; контроль погрешности; управление временной памятью; взаимодействие с другими программами; обнаружение разрывов, особенностей, зацикливания, отсутствия решения, а также континуума решений и бесконечных решений (два последних случая характерны для задач линейного программирования). Подпрограмма должна отбраковывать неправильные аргументы, корректно обрабатывать частные и особые случаи, а также любые размеры матричных объектов, допускаемые ограничениями по объему памяти (в частности, случай п = 1, т.е. скалярный). Все эти требования относятся к стандартным подпрограммам, входящим в библиотеки систем программирования и прикладные пакеты и ориентированным на широкий круг пользователей. С программы, составленной для конкретного случая, спрос меньший - но и пользы от нее меньше.
Функциональная часть пакета - это совокупность базисных процедур, комбинированием которых может быть получено решение широкого круга задач предметной области. Модульное построение функциональной части обеспечивает обозримость, структуризацию и систематизацию, возможность параллельной разработки моделей, сокращение общего объема программного текста, гибкость применения, уменьшение потребности в оперативной памяти путем избирательной загрузки только необходимых модулей.
Общие требования к функциональной части пакета:
Специальные средства системного обеспечения - это общий для функциональных модулей механизм приведения их в действие. К таким средствам можно отнести входной язык пакета, транслятор написанных на нем заданий, архивы программ и текстовых вставок, монитор интерактивного общения, справочную систему (help). Автоматическое планирование вычислений требует включения в систему в той или иной форме знаний о закономерностях предметной области, семантике процедур и их параметров, условиях применения отдельных модулей.
190
189 :: 190 :: Содержание