
 
 
Процесс  преобразования  программы  в  структурированную  состоит  из 
нижеприведенной последовательности шагов. 
1.  Каждому  блоку  неструктурированной  схемы  приписывается  номер. 
Обычно первому блоку присваивается 1, последнему – 0 (см. рис. 3.12). 
2.  В  программу  вводится  дополнительная  переменная  целого  типа 
(например I), называемая переменной состояния. 
3.  Функциональные  блоки  исходной  схемы  заменяются  блоками, 
выполняющими  помимо  основных  функций  преобразование  переменной I: 
переменной I 
присваивается  значение,  равное  номеру  блока-приёмника  в 
исходной схеме. 
4.  Аналогично  преобразуются  логические  блоки.  При  этом  если  в 
логическом  блоке  условие  истинно,  то  это  соответствует  одному  значению I, 
если ложно – другому. 
5.  Исходная  схема  пребразуется  к  виду,  предложенному  Ашкрофтом–
Манной (рис. 3.13). 
На  данной  схеме  блоки  1а – nа
 
являются  аналогами  соответствующих 
блоков исходной схемы и, помимо этого, присваивают значение переменной I. 
В  результате  преобразований  Ашкрофта–Манны  исходная 
неструктурированная  схема (см. рис. 3.12) принимает вид, представленный  на 
рис. 3.14. 
При  выполнении  алгоритма,  реализованного  по  методу  Ашкрофта–
Манны, переменная состояния I устанавливается в начальное значение, равное 
номеру  первого  блока  непреобразованной  схемы (как  правило,  это  единица
).  
Затем осуществляется последовательный опрос переменной I, начиная с нуля и 
заканчивая  максимальным  номером  блока  исходной  схемы (в  нашем  примере 
он  равен  пяти).  Выполняется  тот  блок  исходной  схемы,  номер  которого 
соответствует  текущему  значению I. Помимо  этого  в I заносится  значение, 
равное  номеру  того  блока  исходной  схемы,  который  должен  выполняться  за 
текущим блоком. Когда значение I 
станет равно нулю, выполняется последний 
блок непреобразованной схемы (блок с номером ноль) и осуществляется выход 
из алгоритма. 
Полученная  по  методу  Ашкрофта–Манны  схема  алгоритма  является 
структурированной.  Для  доказательства  этого  достаточно  последовательно 
преобразовать данную схему к одному функциональному блоку. 
Шаг 1 преобразования 
Конструкции 1а, 3а
 
и
 
4а представляют собой конструкции If-Then-Else с 
одним входом и одним выходом, конструкции 2а, 5а являются конструкциями 
следования. Следовательно, они могут быть преобразованы к соответствующим 
функциональным  блокам.  Данный  шаг  преобразований  и  все  последующие 
шаги поясняет рис. 3.15. 
Следующие  шаги  преобразований  необходимо  проводить  снизу  вверх 
схемы.