Опубликован: 05.11.2013 | Доступ: свободный | Студентов: 542 / 46 | Длительность: 11:51:00
Лекция 3:

Основные элементы программной документации

Проектирование и реализация

Рассмотрим эту часть подробнее на элементарном примере. Пусть нам надо выбрать максимальное значение из трех заданных параметров A, B и C. Назовем эту задачу (функцию) MAX3(A, B, C).

Схема решения задачи MAX3(A, B, C)

Рис. 2.3(а). Схема решения задачи MAX3(A, B, C)
Улучшенная схема решения задачи MAX3(4, B, C)

Рис. 2.3(б). Улучшенная схема решения задачи MAX3(4, B, C)
Схема решения задачи MAX2(MAX, Р)

Рис. 2.3(в). Схема решения задачи MAX2(MAX, Р)
Линейная схема решения задачи MAX3(A, B, C)

Рис. 2.3(г). Линейная схема решения задачи MAX3(A, B, C)

Одно из наиболее простых решений может быть изображено схемой (рис. 2.3(а)).

Такая схема достаточно проста для понимания, но ее дальнейшее развитие для 4-х, 5-и и более параметров выглядит весьма затруднительно. В этом смысле куда более привлекательным выглядит решение на рис. 2.3(б). Оно более соответствует идеологии структурного программирования и позволяет неограниченно наращивать количество обрабатываемых параметров.

Основу его составляет простой программный фрагмент, состоящий из элемента (рис. 2.3(в)) проверки условия: значение, ранее выбранное как максимальное, действительно является таковым по отношению к очередному проверяемому параметру. И если указанное условие нарушается, то запоминается новое максимальное значение.

Фактически элемент, изображенный на рис. 2.3(в), представляет собой функцию MAX2(MAX, X), которая из двух переданных ей элементов MAX и X выбирает большее значение и запоминает его в MAX.

Осознание полезности выделенной структуры в отдельную функцию на этапе проектирования архитектуры приводит к куда более простому программному коду основной функции MAX3(A, B, C) (рис. 2.3(г)). Это линейная последовательность трех операций.

Именно к подобной архитектуре должен стремиться разработчик на этапе проектирования.

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