яние семантика конкретного языка
.
Таким образом
,
результаты
,
полу
-
ченные при исследовании программ на одном языке
,
требуют дополни
-
тельной интерпретации для преобразования программ
,
написанных на
другом
.
Естественным выходом из этого положения является преобразова
-
ние кструктурному виду не программ
,
а алгоритмов
,
описанных в неко
-
тором операторном базисе
,
который является допустимым семантикой
всех или широкого класса языков высокого уровня
.
Такой класс опе
-
раторов определен в
[11].
Он включает операторы
:
изменения данных
,
вычисления условий
,
ветвления и слияния потоков управления
,
позво
-
ляя описывать как структурные
,
таки неструктурные конструкции
.
Модель программы для решения задачи структуризации должна
отображать как отдельные операторы
,
таки последовательность их
выполнения
.
Таким свойством обладает управляющий граф алгоритма
,
однако при переходе от алгоритма к модели линейные последователь
-
ности операторов должны быть свернуты
,
что уменьшит размерность
задачи
,
но не вызовет потери информации о структуре программы
.
Кро
-
ме того
,
поскольку при решении задачи структуризации может потре
-
боваться изменение порядка выполнения операторов преобразования
данных
,
в модели должно быть отображено отношение
“
операторы
–
данные
”.
Окончательно
,
в качестве модели программы будем использовать
композицию управляющего графа и двудольного ориентированного
графа
“
операторы
-
данные
” [11],
которая отображает не только потоки
управления
,
но и потоки данных
.
Основные структурные конструкции
,
их модели и свойства
.
На
рисунке представлены фрагменты схем алгоритмов и модели основных
структурных конструкций
:
следования
,
ветвления
(
полная и усеченная
)
и цикла
-
пока
.
Перечисленные выше конструкции в свое время были выбраны в
качестве основных
[1],
таккакчерез них можно легко реализовать лю
-
бую из дополнительных структурных конструкций
:
выбор
,
цикл
-
до и
счетный цикл
,
в то время
,
как обратное достаточно сложно
.
Поскольку в алгоритмических языках программирования высоко
-
го уровня
,
таких как Паскаль и Си
,
существуют операторы
,
реализу
-
ющие как основные
,
таки дополнительные конструкции
,
при разра
-
ботке алгоритмов программ для этих языков обычно используют все
шесть конструкций
.
Однако при разработке модели структурного алго
-
ритма целесообразно использовать минимальное количество конструк
-
ций
,
ограничившись основными
,
таккакэто позволит упростить ана
-
лиз алгоритмов
.
66 ISSN 0236-3933.
ВестникМГТУ им
.
Н
.
Э
.
Баумана
.
Сер
. “
Приборостроение
”. 2005.
№
3