СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ

Оглавление

Структурное кодирование

Типы алгоритмов


В зависимости от используемых унифицированных структур алгоритмы программных модулей, составляющих программный комплекс, могут быть линейными, разветвляющимися, циклическими и сложными. В таблице 1 знаком + указаны унифицированные структуры, используемые при разработке тех или иных типов алгоритмов.

Таблица 1

Современные системы программирования (система программирования включает язык программирования, компилятор или интерпретатор программ, представленных на этом языке, документацию и вспомогательные средства для подготовки программ к выполнению), как правило, ориентированы на технологию нисходящего структурного программирования. В частности, язык программирования LogoWriter  включает унифицированные структуры СЛЕДОВАНИЕ, РАЗВИЛКА ПОЛНАЯ, РАЗВИЛКА НЕПОЛНАЯ и ЦИКЛ С ПАРАМЕТРОМ. Язык программирования Турбо Паскаль, Модула-2  включает все показанные на рис. 1-а и 1-б унифицированные структуры. Ряд версий языка Бейсик, например, Turbo Basic фирмы Borland, Quick Basic и другие также имеют унифицированные структуры.

Для разработки структурированных программ на "неструктурированном" Бейсике унифицированные структуры реализуются с помощью команды условного перехода IF и команды безусловного перехода GOTO, при этом команда GOTO служит только для реализации унифицированных структур. 

В таблице 2 приведены шаблоны для реализации унифицированных структур для языка Турбо Паскаль и для версий "неструктурированного" языка Бейсик. 

Таблица 2

В таблице 2 использованы следующие обозначения: P - логическое выражение, S, S1, S2,... Sn - унифицированные структуры, процедуры, функции и алгоритмы любой сложности, k - выражение, определяющее номер строки пе_рехода (для языка Бейсик) или метку (для языка Паскаль), x, x1, x2, d_x - соответственно параметр цикла, начальное и конечное значения параметра и шаг изменения параметра, not - логическое отрицание, n, n1, n2 и т. д. обозначают номера строк (команд) в тексте программы.

Оглавление

   

 
   
 
Hosted by uCoz