Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Konspekt_S.doc
Скачиваний:
24
Добавлен:
09.02.2015
Размер:
1.2 Mб
Скачать

4.1. Идеи структурного программирования

При хаотическом программировании возникают очень серьезные отрицательные последствия:

  1. затруднено восприятие программы (алгоритма);

  2. сложно проводить доказательство правильности программы, ее отладку, тестирование;

  3. практически невозможна модификация программы;

  4. при отсутствии систематических приемов в программировании очень сложно организовать коллективную работу над общей задачей.

Все это привело к созданию определенных методологий в программировании. И, пожалуй, первым таким методом является структурное программирование. Его основные положения:

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

  2. сложная задача должна разбиваться на достаточно простые, легко воспринимаемые части, каждая из которых имеет только один вход и один выход;

  3. логика программы должна опираться на минимальное число достаточно простых базовых управляющих структур.

Доказана теорема о структурировании(Бем и Джекопини):

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

Примером одного из таких наборов базовых структур являются следующие три конструкции:

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++ имеются три категории управляющих инструкций:

  • инструкции выбора (ветвления):

    • if - условная инструкция;

    • switch – инструкция множественного выбора;

  • итерационные (циклические) инструкции:

    • while – цикл с предусловием;

    • do while- цикл с постусловием;

    • for – итерационный цикл;

  • инструкции перехода:

    • break– прекращение выполнения циклических инструкций и инструкцииswitch;

    • continue– переход к следующей итерации цикла;

    • return– прекращение выполнения функции

    • goto– переход по метке.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]