Азбука алгоритмизации прикладных программ
Алгоритм работы МП-контроллера составляется на основе использования ограниченного числа типовых программных структур, имеющих один вход и один выход. Использование для разработки прикладного ПО описываемых структур требует определенной дисциплины, так как вынуждает разработчика выполнять декомпозицию заданной функции таким образом, чтобы каждая функциональная процедура имела только один вход и один выход.
Использование таких структур обеспечивает монтаж полной БСА способом их последовательного соединения и значительно упрощает проблему отладки, которая становится достаточно трудоемкой при использовании структур с множественными ветвлениями. Ограниченное количество программных структур (семь), подчиняющихся правилу один вход - один выход, позволяет формализованно описать любое, сколь угодно сложное высказывание.
Линейная структура (рис. 43). Такая структура состоит из последовательно соединенных операторов, блоков операторов (процессов) или процедур любой сложности. При декомпозиции линейные структуры можно разбивать на более простые до тех пор, пока операторы не будут соответствовать одной команде МП.
Структура ЕСЛИ-ТО-ИНАЧЕ (рис.44). Содержит условный оператор, который сначала выполняет проверку (истина-ложь) заданного условия, а затем в зависимости от результата этой проверки передает управление одному из двух процессов.
Структура ЕСЛИ-ТО. Является частным случаем предыдущий, в которой альтернативный процесс отсутствует. Структура может иметь два варианта: 1) процесс выполняется при истинности условия и не выполняется при его ложности; 2) процесс выполняется при ложности условия и не выполняется при его истинности.
Такие варианты структуры ЕСЛИ-ТО находят свое отражение и в системе команд МП. Например, команды JZ и JNZ позволяют использовать в программе тот вариант структуры ЕСЛИ-ТО, который исходя из логики задачи, более уместен.
Рисунок 43 – Линейная структура
Рисунок 44 – Структура ЕСЛИ-ТО-ИНАЧЕ
Структура ПОВТОРЯТЬ-ДО (рис. 45). Циклическая структура (в двух возможных вариантах) удерживает управление внутри цикла до тех пор, пока не будет удовлетворено условие окончания цикла. В состав процесса должны входить операторы, модифицирующие условие выхода из цикла. Величина, которая задает число повторений процесса, называется переменной управления циклом. При каждом проходе цикла эта переменная инкриминируется или декриминируется в зависимости от способа построения счетчика цикла (суммирующий или вычитающий) и способа проверки окончания цикла (сравнение с константой или обнуление). Так как в данной структуре процесс выполняется до проверки условия окончания, то передача управления на выход структуры возможна только после хотя бы однократного выполнения действий, предписываемых процессом.
Структура ДЕЛАТЬ-ПОКА. Циклическая структура (в двух возможных вариантах) похожа на предыдущую с той только разницей, что в ней сначала проверяется условие, а затем управление передается или на выход, или на выполнение процесса с последующей проверкой условия. Это отличие структуры ДЕЛАТЬ-ПОКА от предыдущей порождает следствие - процесс из-за проверки условия до его выполнения может не выполняться ни разу.
Структура ВЫПОЛНЯТЬ-ПОКА (рис.46) является логической разновидностью структур ЕСЛИ-ТО-ИНАЧЕ, ПОВТОРЯТЬ-ДО и ДЕ-ЛАТЬ-ПОКА. Структура содержит, два процесса, один из которых выполняется до проверки условия.
После проверки условия управление либо передается на выход структуры, либо выполняются оба процесса.
Структура ВЫБОР (рис.47). Эта структура предназначена для реализации множественных ветвлений программы. Она напоминает структуру ЕСЛИ-ТО-ИНАЧЕ, но позволяет выбирать один из N+1 различных процессов на основе использования N-значного решающего элемента. Элемент вычисляет некоторое выражение F и передает управление в соответствии с его действительным значением. Выражение F может быть числом или последовательностью арифметических И/ИЛИ логических операций. Структура ВЫБОР используется для замены последовательностей структур ЕСЛИ-ТО и ЕСЛИ-ТО-ИНАЧЕ при необходимости выполнения N-значных ветвлений программы. Хотя число N может быть большим и сами процессы достаточно сложными, все они включены в состав данной структуры только для того, чтобы удовлетворить основному условию один вход -один выход, что не исключает возможности автономной разработки и отладки процедур, входящих в состав структуры ВЫБОР.
Рисунок 45 – Структура ПОВТОРЯТЬ-ДО
Рисунок 46 – Структура ВЫПОЛНЯТЬ-ПОКА
На основании перечисленных семи программных структур разрабатываются БСА отдельных функциональных процедур, реализующих частные вычислительные или управляющие функции, а затем монтируются в полную БСА системы. При монтаже необходимо выдержать правило: все сложные циклы, которые можно поместить внутри структур ДЕЛАТЬ-ДО и ПОВТОРЯТЬ-ПОКА, должны заканчиваться в порядке, обратном их исходной последовательности. Одной из грубых логических ошибок программирования является окончание внешних циклов до окончания внутренних.
Рисунок 47 – Структура ВЫБОР
Дата добавления: 2019-02-07; просмотров: 481;