Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции сем. 1.doc
Скачиваний:
9
Добавлен:
13.11.2019
Размер:
2.03 Mб
Скачать

Использование базовых структур

Использование трех базовых структур (следование, ветвление, цикл) позволяет исключить использование оператора GOTO.

Алгоритм, в котором использованы только три базовые структуры, называют структурированным.

Для структурирования неструктурированных алгоритмов используются три основных приема структурирования.

Приемы структурирования

Основными приемами структурирования являются:

  • дублирование участков алгоритма,

  • использование булевого признака,

  • использование переменной состояния.

Использование булевого признака

Задача: В одномерном массиве определить индекс первого по порядку отрицательного элемента.

Исходные данные :

  • А - массив,

  • К- количество элементов в массиве.

Выходные данные:

  • N- индекс первого по порядку отрицательного элемента.

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

  • VV- ввод одномерного массива,

  • OPR - определение индекса первого по порядку отрицательного элемента.

Схема алгоритма ввода одномерного массива приведена на рис.10.

Схема неструктурированного алгоритма определения индекса первого по порядку отрицательного элемента приведена на рис .11.

Здесь из цикла имеется два выхода:

  • естественный (i>k),

  • при обнаружении первого отрицательного элемента.

В базовой структуре «Цикл» выход должен быть один.

Схема структурированного алгоритма определения индекса первого по порядку отрицательного элемента приведена на рис 12. Здесь в цикле имеется один выход и булева переменная f позволяет определить после выхода из цикла имеется в массиве отрицательные элементы или нет.

Р ис.9. Схема алгоритма первого уровня детализации.

Рис. 10. Схема алгоритма ввода одномерного массива.

Схема неструктурированного алгоритма определения индекса первого по порядку отрицательного элемента приведена на рис .11.

Здесь из цикла имеется два выхода:

  • естественный (i > k),

  • при обнаружении первого отрицательного элемента.

В базовой структуре «Цикл» выход должен быть один.

Рис. 11. Схема неструктурированного алгоритма подзадачи OPR.

Р ис.12. Схема структурированного алгоритма подзадачи OPR.

Схема структурированного алгоритма определения индекса первого по порядку отрицательного элемента приведена на рис 12.

Здесь в цикле имеется один выход и булева переменная f позволяет определить после выхода из цикла имеется в массиве отрицательные элементы или нет.

Сквозной структурный контроль

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

Сквозной структурный контроль - это проверка сопряжения между подзадачами (модулями) по данным.

Тестирование и отладка программ

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

Тестирование - это обнаружение ошибок в программе с помощью тестов.

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

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

Тест считается удачным, если при его помощи была обнаружена ошибка.

Отладка включает в себя следующие этапы:

  • поиск ошибок с помощью тестов,

  • локализацию ошибки,

  • исправление ошибки.

Только исчерпывающее тестирование (на всех возможных наборах входных данных) может дать право говорить о том, что программа функционирует нормально (не имеет ошибок). Это практически не возможно. Отсюда возникает понятие сопровождения программно­го изделия.

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

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