Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bileti_po_infe.doc
Скачиваний:
15
Добавлен:
31.03.2015
Размер:
225.28 Кб
Скачать

Концепция структурного программирования:

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

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

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

Важнейшими концепциями структурного программирования, направленными на получение качественных программ, являются:

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

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

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

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

Локализация и исправление ошибок в системе отладки

Ошибки в программе могут проявиться двумя способами:

1) во время выполнения программы в виде исключительных ситуаций,

2) после выполнения программы в виде неправильного решения.

Отладка - это процесс поиска и исправления ошибок в программе

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

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

Процесс отладки состоит из трех этапов:

- контроль правильности программы,

- локализация ошибок, обнаруженных в процессе контроля,

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

МЕТОД ТРАССИРОВКИ:

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

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

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

В качестве примера рассмотрим фрагмент программы: нахождение максимального значения в последовательности, которая вводится из файла fin.

fin

3 7 4

xmax:= -99;

while not eof (fin) do

begin read (fin,x);

if x>xmax then

xmax:= x;

end;

Табличка:

xmax -> x

-99 -> 3

3 -> 7

7 -> 4

7 -> -

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

1. Вставка в программу отладочной печати промежуточных данных.

2. Использование средств отладки Турбо Паскаля.

Рассмотрим способ 2. Для того, чтобы провести трассировку программы, надо:

- открыть отладочное окно Watch с помощью опции Debug/Watch;

- записать в отладочное окно имена интересующих переменных: для добавления каждой переменной надо установить опцию Debug/Add Watch (или Ctrl-F7), открывающую окно Add Watch, записать имя переменной и выполнить ОК.

Теперь можно выполнять трассировку, продвигаясь по программе с использованием функциональных клавиш F7, F8, F4 и следя за изменением значений переменных в окне Watch. При каждом нажатии F7 и F8 выполняется одна строка программы, но F8 обходит процедуры. При F4 начинается или продолжается выполнение программы до той строки, на которой стоит курсор.

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

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