Реклама:

Существуют четыре источника ошибок в данных:

1. Ошибки пропуска.

2. Ошибки вставления.

3. Ошибки в содержании.

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

Пропуски

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

Кинг Д. Создание эффективного программного обеспечения

Рис. 4.3. Структура файла без ошибок.

Если мы теперь допустим возможность пропуска записей, это означает что любая запись может присутствовать или отсутствовать. Слова «может присутствовать или отсутствовать» являются ключевыми, они очевидным образом представляют выбор. Поэтому мы модифицируем структуру файла с рис. 4.3 в тот вид, который демонстрируется на рис. 4.4.

Кинг Д. Создание эффективного программного обеспечения

Рис. 4.4. Структура файла, допускающая ошибки пропуска.

На рис. 4.4 показано, что возможность отсутствия заголовка или завершителя реализована в структуре данных файла за счет использования в каждом случае выбора «отсутствия» или «реальности». В компоненте ТЕЛО ситуация отсутствия любого компонента ЗАПИСЬ уже представлена в имеющейся структуре. Дело в том, что конструкция повторения может быть представлена любым положительным числом, включая нуль. Даже если отсутствуют все записи, эта ситуация будет представлена «нулем» появлений повторения. Повторение ТЕЛО завершится оператором «Пока очередная запись не ЗАВЕРШИТЕЛЬ или Конец-файла». При конструкции повторения никогда не требуется добавлять дополнительные компоненты для обработки пропусков.

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

Но что делать, если возможны другие ошибки, например вставление записей на неправильные места?

Вставления

Вставление некорректных записей может содержать одну или более записей, присутствующих на тех местах, где их не должно быть. Например, в файле, описанном на рис. 4.3, непосредственно после первой записи могут появиться несколько ошибочных записей ЗАГОЛОВОК. Возможны даже несколько совсем лишних записей до записи ЗАГОЛОВОК и т.д.

Если в каждой возможной ситуации вставления могут появиться нуль или более вставленных записей, то ясно, что мы имеем дело с повторением вставленных записей. Там, где повторение уже существует, например в конструкции ТЕЛО, повторяемую часть следует включить в выбор между хорошими и плохими записями. Сочетания вставлений с пропусками в структуре файла показано на рис. 4.5.

Ошибки в содержании

Теперь рассмотрим ошибки в содержании. Такие ошибки возникают, когда запись отнесена к определенному типу, но ее элементы данных некорректны. Мы уже давали такое определение. Применительно к рис. 4.5 мы решили, что любые лишние записи, появляющиеся между компонентами ЗАГОЛОВОК и ТЕЛО файла будут считаться некорректными записями. Но когда появляется одна запись, которая может оказаться корректной или некорректной, то для обозначения этой ситуации используется конструкция выбора.


⇐ Предыдущая страница| |Следующая страница ⇒