Глава 2. Базовые конструкции структурного программирования: обычная последовательность,выбор и повторение

. . .
а)
в)
б)
По теореме К. Боэма и Д. Якопини («Структурная теорема»): любую правильную программу можно записать с использованием только трех видов элементарных управляющих конструкций: простая последовательность (sequence), выбор (selection) и повторение (iteration) [CorradoBoehm and Giuseppe Jacopini. Flow Diagrams, Turing Machines, and Languages with Only Two Formation Rules. – Communications of the ACM, Vol. 9, No. 5, May 1966, pp. 366–371]. Каждая из этих структур имеет один вход и один выход (рис. 2.1), и так как сами по себе они являются правильными программами, то комбинируя их, можно получить правильную программу любого размера и сложности. При этом отпадает необходимость использовать оператор безусловного перехода goto.

Рис. 2.1.Основные управляющие конструкции:

а – правильная последовательность; б – выбор; в – повторение

Последовательные (линейные) конструкции представляют собой последовательное выполнение двух или более операторов (рис. 2.1, а). Выбор (ветвление) задает выполнение разных операторов, в зависимости от выполнения определенного условия (рис. 2.1, б). Повторение (цикл) задает многократное выполнение операторов (рис. 2.1, в).

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

Под алгоритмом принято понимать последовательность действий, которые выполняются с целью решения определенной задачи. Алгоритмы можно описывать словесно, графически и на языке программирования. По аналогии с программированием выделяют три базовые конструкции алгоритмов:

1) линейные – последовательное выполнение действий;

2) условные – в зависимости от условия выполняются разные действия;

3) циклические – повторное выполнение действий.

Графически алгоритмы изображаются в виде блок-схем. Основные обозначения, принятые в блок-схемах, приведены в таблице 2.1.

Таблица 2.1

Основные символы блок-схем

Обозначение Описание
Начало

Начало алгоритма
  Последовательные (линейные) конструкции. Например, оператор присваивания
  Ввод данных
  Оператор вывода
  Условные конструкции
r iOcRCOLS6oYrBV/Ht+cUhPPIGlvLpOBGDjbF40OOmbYjf9Jw8JUIJewyVFB732VSurImg25uO+KQ nW1v0Iezr6TucQzlppUvUbSUBhsOCzV2tKupvByuRsH7iON2Eb8O+8t5d/s5Jh/f+5iUeppN2zUI T5P/e4Y7P9ChCKaTvbJ2olWQBLhXsEpA3NNVugBxUpCmS5BFLv/zi18AAAD//wMAUEsBAi0AFAAG AAgAAAAhALaDOJL+AAAA4QEAABMAAAAAAAAAAAAAAAAAAAAAAFtDb250ZW50X1R5cGVzXS54bWxQ SwECLQAUAAYACAAAACEAOP0h/9YAAACUAQAACwAAAAAAAAAAAAAAAAAvAQAAX3JlbHMvLnJlbHNQ SwECLQAUAAYACAAAACEAgqf+zEIFAAA3FwAADgAAAAAAAAAAAAAAAAAuAgAAZHJzL2Uyb0RvYy54 bWxQSwECLQAUAAYACAAAACEAs0sKnt0AAAAGAQAADwAAAAAAAAAAAAAAAACcBwAAZHJzL2Rvd25y ZXYueG1sUEsFBgAAAAAEAAQA8wAAAKYIAAAAAA== ">   Циклические конструкции
Конец



Конец алгоритма

L t1UKDXHTtVBSKC5JzEtJzMnPS7VVqkwtVrK34+UCAAAA//8DAFBLAwQUAAYACAAAACEASdF92sIA AADcAAAADwAAAGRycy9kb3ducmV2LnhtbESPQWvCQBSE7wX/w/KE3upGUavRVYKg9lpbPT92n0kw +zZkNyb117uFQo/DzHzDrLe9rcSdGl86VjAeJSCItTMl5wq+v/ZvCxA+IBusHJOCH/Kw3Qxe1pga 1/En3U8hFxHCPkUFRQh1KqXXBVn0I1cTR+/qGoshyiaXpsEuwm0lJ0kylxZLjgsF1rQrSN9OrVWQ Yfu4umk913g5nNEfjn33zkq9DvtsBSJQH/7Df+0Po2C2WMLvmXgE5OYJAAD//wMAUEsBAi0AFAAG AAgAAAAhAPD3irv9AAAA4gEAABMAAAAAAAAAAAAAAAAAAAAAAFtDb250ZW50X1R5cGVzXS54bWxQ SwECLQAUAAYACAAAACEAMd1fYdIAAACPAQAACwAAAAAAAAAAAAAAAAAuAQAAX3JlbHMvLnJlbHNQ SwECLQAUAAYACAAAACEAMy8FnkEAAAA5AAAAEAAAAAAAAAAAAAAAAAApAgAAZHJzL3NoYXBleG1s LnhtbFBLAQItABQABgAIAAAAIQBJ0X3awgAAANwAAAAPAAAAAAAAAAAAAAAAAJgCAABkcnMvZG93 bnJldi54bWxQSwUGAAAAAAQABAD1AAAAhwMAAAAA " strokeweight="1pt">

Начало
Глава 2. Базовые конструкции структурного программирования: обычная последовательность,выбор и повторение - student2.ru
a, b
Глава 2. Базовые конструкции структурного программирования: обычная последовательность,выбор и повторение - student2.ru
Глава 2. Базовые конструкции структурного программирования: обычная последовательность,выбор и повторение - student2.ru
t, у
Конец


Пример. Блок-схема алгоритма, состоящего только из линейных конструкций. Дано: Глава 2. Базовые конструкции структурного программирования: обычная последовательность,выбор и повторение - student2.ru , Глава 2. Базовые конструкции структурного программирования: обычная последовательность,выбор и повторение - student2.ru и Глава 2. Базовые конструкции структурного программирования: обычная последовательность,выбор и повторение - student2.ru – любые вещественные числа. Необходимо составить блок-схему алгоритма для вычисления значения выражения Глава 2. Базовые конструкции структурного программирования: обычная последовательность,выбор и повторение - student2.ru , где Глава 2. Базовые конструкции структурного программирования: обычная последовательность,выбор и повторение - student2.ru .       Рис. 2.2. Пример блок-схемы алгоритма, состоящего только из линейных конструкций

Контрольные вопросы

1. Приведите основные обозначения, используемые при построении блок-схем алгоритмов.

2. Дайте определения трех базовых конструкций структурного программирования: простая последовательность, выбор и повторение.

Рекомендуемая литература

1. Павловская, Т.А. Паскаль. Программирование на языке высокого уровня /Т.А. Павловская. – СПб.: Питер, 2010. – 464 с.

Наши рекомендации