Cтраница 4
Для выполнения операций ввода-вывода над файлами в Коболе имеются следующие основные операторы: ОТКРЫТЬ, ЧИТАТЬ, ПИСАТЬ, ОБНОВИТЬ и ЗАКРЫТЬ. По оператору ОТКРЫТЬ выполняются проверка и ( или) создание начальных меток файла, а по оператору ЗАКРЫТЬ - конечных. Оператор ЧИТАТЬ используется при выполнении операций чтения и обновления файла, оператор ПИСАТЬ - при создании файла, обновлении и добавлении записей к файлу, оператор ОБНОВИТЬ - при обновлении файла. [46]
Данные, поступающие на вход, подвергаются обычной первичной обработке, в состав которой входят проверка, развертывание и преобразование формата. Обычно после таких операций эти данные направляются на обновление файла, выполняемое специальной программой, которая обслуживает информационную базу. Поступающие на вход данные, кроме того, могут быть подвергнуты проверке, позволяющей определить, подходят ли они для обновления стандартных комплектов отображаемой информации или же информации, отображаемой по специальным запросам. Когда назначение входных данных установлено, то они направляются на обработку, подготавливающую их к отображению, после чего они используются для обновления соответствующих данных в файле, хранящем подготовленную к отображению информацию. Таким образом, при первичной обработке входных данных их нужно проверять, пользуясь критериями принадлежности к требующим обновления стандартным комплектам отображаемой информации или наборам информации, отображаемой по специальным запросам. В ряде случаев здесь может оказать помощь заголовок сообщения, в виде которого поступают данные, однако в более общем случае сравнению по критерию принадлежности к данным, подготовленным для отображения и хранимым в файле, нужно подвергать само содержимое сообщения. [47]
При этом мы имеем возможность выбрать, какие файлы включаются в архив и в какой папке создается результирующий файл. Мы также можем выбрать степень сжатия, указать режим обновления файлов для тех случаев, когда в архиве уже имеются файлы, одноименные добавляемым, и задать режим упаковки папок с сохранением структуры вложенных папок. [48]
Если обнаруживается ситуация, для которой не указан эффект, то фиксируется упущение в спецификациях. Может ока заться и так, что указан эффект, а условие его возникновения отсутствует. Рассмотрим, например, следующий фрагмент спецификации для программы обновления файла запасов. [49]
Продолжим рассмотрение основных примеров этого раздела, отложив на время обсуждение вопроса о приоритетах. Возвращаясь к примеру об основном цикле работы, связанной с обновлением файла, мы должны сначала выяснить, какие программные изменения потребуются. Прежде всего обратим внимание на то, что нельзя воспользоваться аппаратной автоматической задержкой, как это было в случае устройств, снабженных внешним буфером. И потому задержка, требуемая для заполнения буфера, должна быть определена и выполнена с помощью самой программы. [50]
В составе ЛВС должно быть два компьютера с характеристиками файл-сервера. На обоих должно быть сгенерировано идентичное сетевое ПО NOVELL 3.X. Имена пользователей при генерации рекомендуется задавать с признаками, позволяющими однозначно их идентифицировать, например, по номерам кабинетов - USER01 - USERXX, где 01 - XX - диапазон возможных номеров кабинетов. В директориях, где находятся загрузочные модули программ, должны быть запрещены операции стирания и обновления файлов. [51]
Средство проверки системных файлов ведет специальную базу данных, в которой хранится дата создания и номер версии каждого системного файла. Если в результате установки новой программы или по какой-то другой причине системный файл изменяется, то программа смотрит, какого рода изменения произошли. Если дата и номер версии соответствующего системного файла стали более поздними, то предполагается, что произошло нормальное обновление соответствующего файла, так что программа обновляет запись в своей базе данных. Если же обнаруживается подмена файла на более раннюю версию, то она бьет тревогу и предлагает, если это возможно, восстановить предыдущую версию соответствующего системного файла. [52]
Нужно иметь в виду, что от эталона не требуется, чтобы он представлял какие-то задачи или предполагаемую загрузку системы; единственное требование к нему, чтобы он имел смысл для его автора. Например, были случаи, когда обнаруживалось, что процедура, исправно выполнявшая некоторую работу, содержит в себе неожиданную и на вид бессмысленную подпрограмму. Например, подпрограмма вычисления всех простых чисел от единицы до N ( причем при вычислении N с плавающей точкой на исследуемой машине происходит переполнение) оказывается в середине программы обновления файла. [53]
Для выполнения операций ввода-вывода над файлами в Коболе имеются следующие основные операторы: ОТКРЫТЬ, ЧИТАТЬ, ПИСАТЬ, ОБНОВИТЬ и ЗАКРЫТЬ. По оператору ОТКРЫТЬ выполняются проверка и ( или) создание начальных меток файла, а по оператору ЗАКРЫТЬ - конечных. Оператор ЧИТАТЬ используется при выполнении операций чтения и обновления файла, оператор ПИСАТЬ - при создании файла, обновлении и добавлении записей к файлу, оператор ОБНОВИТЬ - при обновлении файла. [54]