Структура автоматизированной системы научных исследований в области физико-химической биологии и биотехнологии включает использование ЭВМ как в вычислительном режиме, так и в режиме управления процессами и сложными приборами.
Подготовка к работе с использованием АСНИ проходит в три этапа:
1. Общая подготовка, включающая изучение алгоритмических языков высокого уровня (BASIC, QUASIC, FORTRAN, PASCAL), архитектуры ЭВМ и решение простейших задач в терминал-классах.
2. Учебная подготовка, состоящая из прослушивания общих и специальных курсов по биотехнологии, биофизике, биокибернетике, основам АСНИ с одновременным воспроизведением задач и практикумов по этим курсам как в терминал-классах, так и на автоматизированных рабочих местах в режиме имитации биотехнологических объектов с использованием дополнительных периферийных устройств, позволяющих получать более наглядную информацию о свойствах объекта.
3. Научно-учебная подготовка (проблемно-ориентированная), включающая работу на АРМах в режиме связи с объектом в реальном масштабе времени.
Решение биотехнологических задач в режиме имитации является базовой подготовкой при переходе к работе на ЭВМ с непосредственной связью с объектом. В данном параграфе описаны общие принципы программирования, приведены примеры решения типовых задач, представлена диалоговая система автоматизированного построения математических моделей (DISM) биотехнологических процессов по начальному диалогу с биологом-исследователем.
Порядок решения задач на ЭВМ
Практически все численные методы современной математики с известными ограничениями на объем памяти могут быть реализованы на мини- и микро-ЭВМ. Решение задач на мини- и микро-ЭВМ производится в том же порядке, что и на больших вычислительных машинах.
Процесс подготовки к машинному решению и программирование разбиваются на следующие этапы:
1. Математическая формулировка задачи. Она определяется специалистом по данной проблеме совместно с математиком При этом устанавливаются в окончательном варианте математические зависимости или уравнения.
2. Выбор численного метода. Численные математические методы позволяют свести решение самых разнообразных задач к последовательному выполнению элементарных арифметических и логических операций, для реализации которых и приспособлен процессор ЭВМ. В большинстве случаев одна и та же задача может быть решена несколькими численными методами. На данном этапе выбирается такой метод, который наилучшим образом обеспечивает выполнение поставленной задачи с наименьшей погрешностью.
3. Алгоритмизация. Это первый этап программирования. В процессе его выполнения разрабатывается алгоритм решения задачи. Алгоритмом называется строго определенная последовательность действий, четко и однозначно приводящая к решению поставленной задачи за конечное число шагов. Любая задача имеет, как правило, несколько возможных алгоритмов. Из них необходимо выбрать тот, который обеспечивает наиболее эффективное использование машины. На этом этапе алгоритм записывается сначала в словесно-формульном виде, а затем в виде блок-схемы. Элементы блок-схемы — геометрические фигуры (прямоугольники, ромбы, окружности), которые обозначают отдельные операции, условные переходы, состояния; эти фигуры связаны стрелками, определяющими последовательность выполняемых процедур. На этом этапе алгоритм составляется без учета особенностей конкретной машины.
4. Программирование. Состоит из двух стадий. Вначале строится расширенный алгоритм, представляющий собой преобразование исходного алгоритма с учетом специфики решения задач на машинах вообще и особенностей конкретной ЭВМ, на которой, будут производиться расчеты. При программировании для мини-ЭВМ на этом этапе для установления целесообразности решения задачи сравнивают объем памяти и быстродействие, необходимые для ее решения, с характеристиками конкретной ЭВМ. Затем расписывается алгоритм в виде последовательности конкретных операций, которые может выполнять данная машина на одном из алгоритмических языков. Последовательный перечень этих операций и составляет программу решения задачи на ЭВМ.
5. Отладка программы. Это завершающая стадия в разработке программы. На этом этапе путем опробования на машине разработанной программы выявляют ошибки, допущенные на предыдущих этапах. Перед отладкой необходимо решить контрольный пример. Он должен охватывать возможно большее число блоков алгоритма для того, чтобы полнее проверить программу. Вместе с тем он должен быть достаточно прост для ручного контроля правильности процесса машинного счета по составленной программе. При отладочном решении задачи промежуточные решения выводятся на терминал и сравниваются с соответствующими результатами ручного счета. Это позволяет выявить те блоки и отдельные операторы программы, где допущены ошибки, и принять меры к их исправлению путем редактирования либо уточнения самого алгоритма.
6. Решение задачи на машине. После отладки программы составляются инструкции по работе с программой и подготовке исходных данных. По этим инструкциям вычисления на ЭВМ может проводить оператор.
Основные приемы программирования
1. Элементарное программирование. Представляет собой написание программы по линейным алгоритмам, когда порядок выполнения команд в машине является естественным, т. е. команды выполняются одна за другой, начиная с первой в порядке возрастания номеров операторов.
2. Разветвляющиеся и циклические алгоритмические программы. Строятся с помощью команд условного и безусловного перехода. Команда условного перехода проверяет выполнение условия, записанного в логическом блоке. Если условие выполняется, то интерпретатор передает управление на указанный оператор, если не выполняется — вычисления продолжаются в естественном порядке. Команда безусловного перехода изменяет естественный порядок выполнения команд и осуществляет переход в любое место программы без наложения каких-либо условий. Командами безусловного перехода осуществляются соединения ветвей программы.
3. Подпрограммы. Для организации многократного решения отдельных участков задачи с разными исходными данными используют подпрограммы. Они строятся таким образом, что обращение к ним может производиться из любого места программы, а после выполнения подпрограммы управление передается на оператор, следующий за оператором, который осуществляет переход к подпрограмме.
4. Стандартные подпрограммы. Их использование упрощает составление программ, при этом требуются правильное обращение и указание общих и формальных параметров основной и стандартной программ.
Блок-схема алгоритма
Это один из наглядных и компактных способов записи расширенного алгоритма. В нем последовательность преобразования исходной информации представляется в виде геометрических фигур-блоков, соединенных между собой стрелками, которые указывают порядок перехода от одного блока к другому. Внутри блока приводится краткое содержание данного этапа вычислений или формула, по которой осуществляются эти вычисления. Блоки могут быть пронумерованы.
Законченная графическая запись алгоритма представляет собой схему решения задачи и изображает последовательность арифметических, логических и служебных действий. Арифметические операции сводятся к вычислениям, а логические определяют автоматический выбор направления перехода от блока к блоку. Служебные операции предусматривают ввод исходного материала, подготовку рабочих ячеек памяти, печать результатов, обращение к внешним устройствам и др. На схемах арифметические блоки изображаются прямоугольниками, а логические — ромбами. Геометрические фигуры, используемые в блок-схемах, приведены на рис. 9.
Рис. 9. Элементы блок-схемы: а — обработка; б — вызов подпрограммы; в — проверка условия; г — ввод, вывод; д — вход, выход; е — ссылка
В зависимости от наличия логических блоков и способов связи их с остальными блоками различают линейные, разветвляющиеся и циклические алгоритмы; все они рассмотрены в приведенных ниже примерах.