Как бы ни была сложна задача, схема алгоритма соответствующей программы всегда может быть представлена с использованием ограниченного набора базовых структур.
Примером одного из таких наборов базовых структур являются следующие три конструкции:
f THEN g- последовательность:
IF p THEN f ELSE g –выбор(ветвление):
WHILE p DO f –итерации (цикл с предусловием):
Эти базовые структуры могут соединяться между собой по тем же правилам, образуя более сложные структуры. При этом f и g могут представлять собой очень сложные схемы алгоритмов с одним входом и одним выходом.
Наборов базовых структур может быть несколько. Например, если заменить последний элемент набора на
DO f WHILE p -итерации (цикл с постусловием):
то получится еще один набор из трех базовых структур. Эти наборы эквивалентны, т.к. от WHILE p DO fлегко перейти к DO f WHILE pи наоборот:
Путем эквивалентных преобразований любую неструктурированную схему алгоритма можно привести к структурированному виду. Например:
В некоторых случаях структуризация алгоритмов может привести к появлению в них определенной избыточности (в последнем примере дважды осуществляется обращение к g), но такие “накладные расходы” полностью оправдываются достоинствами структурированных алгоритмов.
Для более эффективной разработки программ современные языки программирования кроме минимального набора управляющих структур содержат и их модификации.
4.2. Управляющие структуры и инструкции языка C++
Управляющие структуры используются для управления ходом выполнения программы. В языке C++ имеются три категории управляющих инструкций:
· инструкции выбора (ветвления):
o if - условная инструкция;
o switch – инструкция множественного выбора;
· итерационные (циклические) инструкции:
o while – цикл с предусловием;
o do while - цикл с постусловием;
o for – итерационный цикл;
· инструкции перехода:
o break – прекращение выполнения циклических инструкций и инструкции switch;
o continue – переход к следующей итерации цикла;
o return – прекращение выполнения функции
o goto – переход по метке.
Дата добавления: 2019-02-07; просмотров: 307;