Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lp_IPOVS_TP.doc
Скачиваний:
237
Добавлен:
13.08.2019
Размер:
2.88 Mб
Скачать
  1. Метод пошаговой детализации при составлении алгоритмов

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

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

Рис. 3. Пример функциональной схемы программного комплекса

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

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

  3. Разработка завершена: в модульном виде получено описание требуемой программы. Перевод этого описания в программу на конкретном языке программирования должен быть достаточно простой задачей.

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

5.0, -3.24, 10.0, -1.25, 8.33

то вывод должен выглядеть следующим образом:

0.5, -0.324, 1, -0.125, 0.833

Уровень 1:

Программа

ввести данные

найти максимум введенных данных

вывести результаты

Конец.

Детализация 1.1. Ввод данных можно детализировать на псевдокоде следующим образом:

Ввести данные:

определить количество чисел

Цикл-пока не все элементы введены

прочитать и запомнить значение элемента

Все-цикл

Детализация 1.2. Отыскание максимума можно детализировать следующим образом:

Найти максимум:

выбрать в качестве максимума первый элемент данных

сравнить все значения с максимумом, заменяя текущий максимум

на очередное значение, если оно не превысило его

Детализация 1.3. Вывод результатов можно детализировать следующим образом:

Цикл-пока не все элементы выведены

вывести значение элемента

Все-цикл

Уровень 2. Он включает в себя три детализованные выше части, из которых только детализация 1.2 требует дополнительного внимания. Ее можно детализировать на псевдокоде следующим образом:

Найти максимум:

выбрать в качестве максимума первый элемент данных

Цикл-пока не все элементы проверены

сравнить все значения с максимумом

Если текущее значение больше максимума

Максимум = текущее значение

Конец-если

Конец-цикл

Задача в приведенном примере проста и не требует разбиения на модули.

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

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