Cтраница 1
Файл сотрудников упорядочен по возрастанию номеров профессий. [1]
Файл сотрудников ( OLD-PERSONNEL-FILE) представляет собой набор записей, формат которых был описан в предыдущем разделе. Каждая запись содержит сведения об отдельном сотруднике. В этих записях описывается лишь небольшая доля той информации, которую можно было бы в них хранить. Файл сотрудников должен корректироваться при появлении новых сотрудников или при уходе старых, или при изменении значений каких-то данных. В результате корректировки могут меняться отдельные поля, а иногда и целые записи. [2]
По исчерпыванию файла сотрудников вычисляются значения среднего возраста ( AVERAGE-AGE) и оклада ( AVERAGE-SALARY) делением итоговых сумм на количество записей в файле, Эти средние значения записываются в файл-печати. После этого производится установка файла А таким образом, чтобы его первая запись была подготовлена к чтению. [3]
Файл изменений и файл сотрудников упорядочены по одному и тому же параметру - идентификационному номеру сотрудника. Это делает возможным создание новой копии и выполнение процесса внесения изменений. ID-номер используется либо для установления соответствия записей из двух файлов, либо для идентификации новой записи, порождаемой по очередной записи из файла изменений, аналога которой не оказалось в файле сотрудников. [4]
В этом разделе предполагается, что имеется файл сотрудников, записи которого располагаются в произвольном порядке. Записи файла считываются последовательно до его исчерпывания. В результате вычисляется величина среднего возраста всех сотрудников и величина среднего годового оклада. Кроме того, печатаются два списка: список записей всех сотрудников, которые не были повышены в должности в течение последних шести месяцев, и список записей сотрудников с годовым окладом менее 5500 долларов. [5]
В этом примере порядок следования записей в файле сотрудников может быть произвольно изменен по сравнению с предыдущими разделами. В целях упрощения рассматриваемой программы записи в файле сотрудников расположим по возрастанию номеров специальностей. Таким образом, поиск сотрудника с соответствующей специальностью заключается в последовательном просмотре файла до тех пор, пока либо не будет обнаружена соответствующая запись, либо номер специальности в файле сотрудников не станет превышать номер специальности, требуемой для выполнения работы. [6]
Следующая программа на псевдокоде выдает справки на основе файла сотрудников. Справки касаются даты поступления на работу и / или текущей должности. [7]
Переключатель используется в программе только для фиксации момента исчерпания файла сотрудников. Такой метод часто используется в тех случаях, когда наступление события ( в данном случае конец файла) может произойти в нескольких местах программы, но проверка ( совершилось событие или нет) должна осуществляться только один раз. [8]
Первой записи из файла изменений не соответствует ни одна запись в файле сотрудников. В этом случае происходит добавление новой записи, соответствующей новому сотруднику. ID-номера следующих двух записей файла изменений имеются в обоих файлах. В этом случае могут быть либо удаления, либо изменения записей файла сотрудников. Последняя запись в файле изменений с ID-номером, равным 0000395995, порождает еще одну новую запись в файле сотрудников. [9]
![]() |
Программа, разделенная на модули. [10] |
Здесь предполагается, что головной модуль работает в условиях, когда выполнены начальные требования для программы Сопровождение файла сотрудников. Конечно, каждый из изображенных на рисунке модулей также может требовать специфических начальных условий. Важно понять, что на этом этапе проектирования не нужно думать о том, как выполняет свою функцию каждый модуль. [11]
Предположим, что рассматривается пример программы обработки наряда ( заказа) на работу, которая может быть выполнена одним из сотрудников, перечисленных в файле сотрудников, сформированном в предыдущих примерах. Первоначально предполагается, что среди данных о сотруднике имеется восьмизначный номер специальности ( OLD-JOB-SKILL), по которому могут быть выбраны сотрудники, способные выполнить заданную работу. Просмотрим файл сотрудников и отыщем всех тех из них, которые имеют соответствующий номер специальности. [12]
Если ID-номер состоит из десяти цифр ( любые пробелы также приведут к выходу по ошибке), то производятся действия по проверке правильности следования карт. Для удобства обработки файла сотрудников в последующих программах, файл изменений необходимо формировать в порядке возрастания ID-номеров. Это может быть достигнуто путем механической сортировки карт до ввода их этой программой. При этом необходимо проверять при чтении правильность следования карт во входном файле. [13]
В этом примере порядок следования записей в файле сотрудников может быть произвольно изменен по сравнению с предыдущими разделами. В целях упрощения рассматриваемой программы записи в файле сотрудников расположим по возрастанию номеров специальностей. Таким образом, поиск сотрудника с соответствующей специальностью заключается в последовательном просмотре файла до тех пор, пока либо не будет обнаружена соответствующая запись, либо номер специальности в файле сотрудников не станет превышать номер специальности, требуемой для выполнения работы. [14]
Программа, рассматриваемая в данном разделе, реализует еще один поисковый процесс в файле и содержит более сложное сравнение, чем единственный вопрос, задаваемый в предыдущем разделе. Рассматриваемая задача заключается в поиске всех записей в файле сотрудников, в которых значения определенных данных равны заданному набору значений. [15]