- •Часть 1
- •Введение 4
- •2.1. Метод покрытия операторов
- •2.2. Метод покрытия решений (покрытия переходов)
- •2.3. Метод покрытия условий
- •2.4. Критерий решений (условий)
- •Д ва теста метода покрытия условий
- •3.1. Правила применения символов и линий в схемах программ
- •2.5. Метод комбинаторного покрытия условий
- •3. Методика выполнения работы
- •3.2. Пример разработки схемы программы
- •3.3. Порядок выполнения работы
- •4. Содержание отчета
- •5. Контрольные вопросы
- •6. Варианты заданий
- •Лабораторная работа 2 Разработка алгоритмов обработки файловой информации
- •Цель работы
- •Краткие теоретические сведения. Общие сведения о файловых структурах данных
- •Методика выполнения работы
- •Обработка файловой информации
- •16 Увеличить
- •3.3 Порядок выполнения работы
- •4. Содержание отчета
- •5. Контрольные вопросы
- •6. Варианты заданий
- •7.Приемы обработки информации, разработка схем и тестирование программ
- •Методические указания
- •450000, Уфа-центр, ул. К. Маркса, 12
Обработка файловой информации
Обработку файловой информации рекомендуется усваивать студентам на примере программирования функции “проверка на корректность справочного файла”.
Эта функция является частью задачи совместной обработки двух файлов, например таких:
Таблица 3.1 - Структура справочного файла
-
Номер предмета
Наименование предмета
Таблица 3.2 – структура файла с оперативной информацией
-
ФИО студента
Группа
Номер предмета
Оценка по предмету
Результатом совместной обработки должен быть выходной документ, структура которого приведена в таблице 3.3.
Таблица 3.3 – структура выходной таблицы
-
Группа
Наименование предмета
Оценка по предмету
Количество оценок в группе
Основное положение проектирования программного обеспечения гласит: хорошая программа должна воспринимать любые данные на ее входе и правильные и неправильные (о чем часто программисты забывают) /3/. Иными словами, обработку неправильных входных данных нужно программировать также тщательно, как и правильных.
Исходя из этого постулата, функция “ проверка на корректность справочного файла” должна осуществлять проверку полей “ номер предмета ” и “наименование предмета на уникальность”. Иначе говоря, эти поля должны удовлетворять условию:
- разным номерам предметов не могут соответствовать одинаковые наименования предметов и один и тот же номер не может быть присвоен двум или более наименованиям предметов.
Кроме того, хорошая программа удовлетворяет следующим требованиям:
- не прекращает работу сразу же после первой выявленной ошибки в исходных данных, а проверяет всю информацию, относящуюся к одной структуре данных;
- сообщения программы об ошибках настолько информативны, что позволяют легко отыскивать входные ошибочные данные среди большого объема данных в файле.
Один из возможных вариантов схемы программы обработки информации из справочного файла приведен на рисунке 3.1. Символы схемы пронумерованы для пояснений их функций.
Прежде всего следует отметить, что соответствующая этой схеме программа за одно чтение справочного файла от начала до конца выявит неуникальные номера предметов или неуникальные наименования предметов, выдаст сообщения о соответствующих ошибках и при их наличии установит признак некорректности файла flag, при этом прочитает все записи из файла и выявит все возможные повторения номеров или наименований. Кроме того, программа подсчитает количество прочитанных из файла записей и сохранит это значение в переменной I.
Такая обработка предполагает возможность доступа к любой прочитанной записи по индексу. Доступ можно обеспечить, если записи из файла поместить в таблицу (таблица реализуется в программах как массив записей одинакового формата). Заметим, что аналогичный алгоритм обработки можно реализовать, если записи из файла помещать в другую структуру данных – список. Однако, такой список должен быть двусвязным (первый указатель – на следующую запись списка, второй указатель – на предыдущую), в таком случае возможна выборка записей от последней прочитанной записи к первой, что является особенностью предлагаемой схемы программы.
Установить
файл
на
начало
3
занести за- пись в таблиц
4
Счетчик записей I=1
5
Пока не
конец файла
Читать очередную
запись файла
8
J=I-1,
J=J-1
Цикл перебора
предыдущих
записей
Рисунок 3.1. Схема программы обработки информации из файла
да
Совпадают
номера предметов
в
I
и J
записях?
нет
Сообщение
об ошибке
11
Установить flag=false
да
Совпадают
наименован.
предметов
в
I
и J
записях?
нет
Сообщение
об ошибке
14
Установить flag=false
15 J=1
