Азбука алгоритмизации прикладных программ

Алгоритм работы МП-контроллера составляется на основе ис­пользования ограниченного числа типовых программных структур, имеющих один вход и один выход. Использование для разработки прикладного ПО описываемых структур требует определенной дисци­плины, так как вынуждает разработчика выполнять декомпозицию заданной функции таким образом, чтобы каждая функциональная процедура имела только один вход и один выход.

Использование таких структур обеспечивает монтаж полной БСА способом их последовательного соединения и значительно упро­щает проблему отладки, которая становится достаточно трудоемкой при использовании структур с множественными ветвлениями. Огра­ниченное количество программных структур (семь), подчиняющихся правилу один вход - один выход, позволяет формализованно описать любое, сколь угодно сложное высказывание.

Линейная структура (рис. 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;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.01 сек.