Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Опорный конспект по программированию (наиболее....doc
Скачиваний:
28
Добавлен:
27.10.2018
Размер:
2.51 Mб
Скачать
      1. Понятие структурной алгоритмизации

Появлению технологии структурной алгоритмизации способствовали три фактора:

  1. Формирование понятия «программистская деятельность», связанного с процессом компоновки программы из подпрограмм и ее отладки

  2. Появление языков программирования высокого уровня при отсутствии общей методологии программирования

  3. Публикация труда Э́дсгера Ви́бе Де́йкстры «Заметки по структурному программированию» (1968 г.) с доказательством достаточности трех типов управляющих структур. Автор отстаивал необходимость математического подхода к программированию, предполагающего предварительное точное, всестороннее математическое описание задачи и способа её решения, формальное доказательство правильности выбранного алгоритма и последующую реализацию алгоритма в виде максимально простой, структурированной программы, корректность которой должна быть формально доказана.

Причина неоправданной сложности компьютерных программ кроется в отсутствии в них четкой математической структуры (Э.В. Дейкстра). Решение проблемы сложности программ – в использовании трех типов управляющих структур:

  • простой последовательности,

  • альтернативы,

  • повторения.

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

В основу структурной алгоритмизации положены следующие требования:

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

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

Структурная алгоритмизация основывается на двух принципах:

  • последовательная детализация алгоритма «сверху вниз»;

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

Основные свойства и достоинства структурного программирования:

  • возможность преодоления барьера сложности программ;

  • возможность демонстрации правильности программ на различных этапах решения задач;

  • наглядность программ;

  • простота модификации (внесения изменений).

Правила составления алгоритма с применением структурной алгоритмизации:

  1. Задача записывается на естественном языке предметной области.

Пример. По результатам испытаний выбрать оптимальные параметры двигательной установки ракеты.

  1. Начало;

  2. Список данных: данные: тип; ... ; данные: тип;

  3. Ввод (исходные данные);

  4. Вывод (исходные данные);

  5. Обработка результатов испытаний;

  6. Оценка надежности двигательной установки;

  7. Выбор оптимальных параметров;

  8. Вывод (результат);

  9. Конец.

  1. Алгоритм может быть реализован на ЭВМ, если он содержит только элементарные предписания и структуры, входящие в базовый набор. Элементарными, т.е. не требующими детализации, являются следующие предписания или операции:

  • Начало;

  • Конец;

  • Список данных;

  • Ввод;

  • Вывод;

  • вычислительные операции, реализуемые операторами присваивания. Сложные конструкции, разбиваются на более простые.

Пример. Предписание 5 для рассматриваемого алгоритма может быть записано:

5.1. Начало 5;

5.2. ... Операции, раскрывающие смысл обработки результатов испытаний ... ;

5.N. Конец 5.

Количество шагов при последовательной детализации не ограничивается. Детализация заканчивается, когда конструкции алгоритма будут содержать только элементарные предписания и структуры, входящие в базовый набор. Предписания 1–4 и 8–9, как правило, присутствуют в каждом алгоритме, разрабатываемом методом структурной алгоритмизации.