Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие Алгоритмизация и программирование.doc
Скачиваний:
57
Добавлен:
11.03.2015
Размер:
796.67 Кб
Скачать

18.2. Ручная проверка

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

Статистика утверждает, что 70% ошибок можно устранить на этапе ручного тестирования.

18.3. Машинное тестирование

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

Выделяют два вида тестирования: разрушающее и диагностическое:

  1. Разрушающее тестированиепроизводится над программой, которая считается правильной, с целью заставить ее дать сбой.

  2. Диагностическое тестированиевыполняется с целью локализации ошибки, если известно о ее существовании.

В ТР существуют системные средства для отладки программ. Они позволяют выполнить трассировку с выводом значений интересующих переменных и выражений, устанавливать точки останова, точки прерывания (контрольные точки).

18.4. Проверка правильности данных

Правильно написанная программа должна:

  1. при вводе некорректных данных выдавать сообщение, указывающее на некорректный элемент данных и сообщать о причине некорректности;

  2. произвести как можно больше правильных вычислений;

  3. встретив некорректный элемент данных, проверить остальные данные.

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

  1. Перед всяким устранением ошибки нужно подумать, к чему это приведет.

  2. После того как в программу внесены изменения, нужно заново ее протестировать.

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

19. Регулярный тип (массив)

Чтобы хранить и обрабатывать сложные виды информации, нужно научиться строить нетривиальные структуры данных. Такие структуры создают путем объединения данных, в конечном итоге, простых типов. Составные части структурированных типов называются их компонентами.

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

Одним из структурированных типов во многих алгоритмических языках является регулярный тип (тип массив). Массив представляет собой совокупность фиксированного числа компонентов одного типа. Тип компонентов массива называетсябазовым типом.

Описание массива:

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

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

Базовый тип может быть любым.