Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основная книга по С++й.doc
Скачиваний:
16
Добавлен:
28.10.2018
Размер:
2.07 Mб
Скачать

3.2. Цикл с постусловием.

Н екоторое действие А (блок операторов) повторяется до тех пор, пока условие в конце цикла не станет верным (истинным). Как только условие в конце цикла становится истинным, цикл завершается (рис.5).

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

Пример 4. Напишем два варианта структурных алгоритмов решения задачи табулирования функции, на основе циклов (рис.6).

Переход (безусловный переход)

На алгоритмическом языке

На языке программирования

Си

Паскаль

Перейти к пункту N

goto N;

goto N;

Рис.7. Безусловный переход

В некоторых языках программирования отсутствуют полноценные структуры для реализации условий и циклов. Поэтому в дополнение к трём стандартным структурам иногда применяется безусловный переход. При выполнении безусловного перехода управление передается на указанный шаг (пункт) в алгоритме (рис.7).

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

Тема 2. Жизненный цикл программы. Критерии качества программы.

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

1) постановка задачи, анализ и уточнение требований, предъявляемых к системе;

2) определение спецификаций и разработка системной архитектуры;

3) разработка проекта, детальное проектирование модулей;

4) программирование (кодирование);

5) тестирование и отладка;

6) эксплуатация и сопровождение.

Основные этапы разработки и проектирования регламентируются ГОСТ 19.102-77 в соответствии с табл.2.

Таблица 2. Стадии и этапы разработки программного обеспечения

Стадии разработки

Этапы работ

Содержание работ

1. Техническое задание

Обоснование необходимости разработки программы

Постановка задачи.

Сбор исходных материалов. Выбор и обоснование критериев эффективности и качества разрабатываемой программы. Обоснование необходимости проведения научно-исследовательских работ

Научно-исследовательские работы

Определение структуры входных и выходных данных.

Предварительный выбор методов решения задач.

Обоснование целесообразности применения ранее разработанных программ.

Определение требований к техническим средствам.

Обоснование принципиальной возможности решения поставленной задачи

Разработка и утверждение технического задания

Определение требований к программе.

Разработка технико-экономического обоснования разработки программы.

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

Выбор языков программирования.

Определение необходимости проведения научно-исследовательских работ на последующих стадиях.

Согласование и утверждение технического задания

2. Эскизный проект

Разработка эскизного проекта

Предварительная разработка структуры входных и выходных данных.

Уточнение методов решения задачи.

Разработка общего описания алгоритма решения задачи.

Разработка технико-экономического обоснования

Утверждение эскизного проекта

Разработка пояснительной записки.

Согласование и утверждение эскизного проекта

3. Технический проект

Разработка технического проекта

Уточнение структуры входных и выходных данных.

Разработка алгоритма решения задачи.

Определение формы представления входных и выходных данных.

Определение семантики и синтаксиса языка

Разработка структуры программы.

Окончательное определение конфигурации технических средств

Утверждение технического проекта

Разработка плана мероприятий по разработке и внедрению программ.

Разработка пояснительной записки.

Согласование и утверждение технического проекта

4. Рабочий проект

Разработка программы

Программирование и отладка программы

Разработка программной документации

Разработка программных документов в соответствии с ГОСТ 19.101-77

Испытания программы

Разработка, согласование и утверждение программы и методики испытаний

Испытания программы

Проведение предварительных государственных, межведомственных, приемосдаточных и других видов испытаний.

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

5. Внедрение

Подготовка и передача программы

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

Оформление и утверждение акта о передаче программы на сопровождение и (или) изготовление.

Передача программ в фонд алгоритмов и программ

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