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

3. Организация хранения данных с позиций эффективности отладки и использования программы

3.1. Как лучше хранить, вводить и выводить данные

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

  • одни и те же данные приходится набирать заново для каждого прогона теста столько раз, сколько потребуется для отладки программы на этом тесте;

  • сделав хотя бы одну ошибку при наборе, надо завершить (прервать или закончить набор данных) программу, перезапустить и начать все заново;

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

Прежде всего это долго; но главное – это отвлекает от собственно отладки и вынуждает уделять массу внимания очень простому на первый взгляд моменту – набору на клавиатуре заранее подготовленных данных. К тому же в общем случае нельзя предугадать, какие ошибки могут быть сделаны при наборе и как на них отреагирует программа. Решение, что делать при совершении ошибки, приходится принимать «на ходу».

Вывод результатов на экран также часто сопровождается неудобствами:

  • если экран не очищается в программе, вообще непросто разобраться в его содержимом, если очищается – теряются предшествующие результаты;

  • при достаточно объемном выводе его начало оказывается за пределами экрана;

  • анализировать результаты можно только визуально; нельзя даже указать нужный элемент с помощью курсора;

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

Гораздо удобнее до отладки занести данные всех тестов в файлы на диске и организовать чтение данных из этих файлов. Применительно к выводу удобно организовать запись результатов в файлы. Практически для этого требуются несложные умения работы с текстовыми файлами. Именно в таком утилитарном аспекте рассмотрены файлы в § 3.1.

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

Простейший, но не лучший выход – каждый раз в программе изменять имя файла. Это несложно, но формально каждый раз будет отлаживаться другаяпрограмма! Нарушается важное правило программирования:текст программы не должен меняться при изменении данных.

Второй, не лучший, выход – заносить поочередно данные в один и тот же файл.

В § 3.2 предлагается использовать третий, универсальный и в высшей степени удобный способ использования файлов данных – задание имен файлов как параметров программы. В этом случае текст программы неизменен, а конкретные имена файлов задаются при ее запуске на выполнение. Достоинства этого способа:

  • полное отделение программы от данных; данные можно готовить отдельно и независимо от программы;

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

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

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

Важно отметить, что описываемые механизмы работы с файлами в других языках высокого уровня – Си, Фортране – полностью аналогичны механизмам в языке Паскаль.

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