Перейти до вмісту
ГОСТ 22558-89
/ 116

П о н я т и е логической записи

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

ленные специальные фразы или набор.фраз, рассматриваемые ни­же.

Физические характеристики файла

Физические характеристики файла относятся к представлению данных на вводе или выводе и включают такие особенности как:

группирование логических записей в пределах физических границ среды файла:

средства, с помощью которых файл может быть идентифи­цирован.

Логические характеристики файла

Логические характеристики файла представлены явным опре­делением каждой логической единицы в самом файле. В Кобол- программе оператор ввода и вывода обращается к одной логиче­ской записи.

Важно отметить различие между физической и логической за­писями. Логическая запись в Коболе — это порция связанной ин­формации, однозначно идентифицируемой и обрабатываемой как единое целое.

Физическая запись — это физическая единица информации, размер и способ записи которой удобен для запоминания данных на входном или выходном устройстве определенной машины. Раз­мер физической записи зависит от оборудования и не находится в прямой связи с размером хранимого файла информации.

Логическая запись может содержаться внутри одной физиче­ской записи или несколько логических записей могут содержать­ся внутри одной физической записи; в случае файлов массовой памяти логическая запись может содержаться в нескольких физи­ческих записях. Во входном языке имеются несколько методов для описания взаимосвязи логических и физических записей. После ус­тановления взаимосвязи управление доступом к логической за­писи, связанной с физической записью, обеспечивается взаимодей­ствием объектной программы с предоставляемыми реализацией оборудованием и системами программного обеспечения. В этом документе ссылка на запись означает ссылку на логическую за­пись, если специально не оговорен термин «физическая запись».

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

При занесении логической записи или извлечении ее из физиче­ской записи выполняются все преобразования, требуемые указан­ной фразой CODE-SET (АЛФАВИТ). При необходимости добав­ляются или удаляются литеры заполнители. Ни одна из фраз, ис­пользуемых для описания данных в логической записи, не влияет на эти преобразования.

Понятііе записи.

Описание записи состоит из ряда статей описания данных, ко­торые описывают особенности отдельной записи. Каждая статья описания данных состоит из номера уровня, за которым следует имя, если оно требуется, и далее, при необходимости, следует ряд независимых фраз.

П о и я т и е уровня

Понятие уровня неотъемлемо от понятия структуры логической записи. Это понятие вводится в целях описания подразделений за­писи для обращения к составляющим ее данным. Подразделение может быть продолжено для возможности обращения к более мел­ким данным.

Неделимые составляющие записи называются элементарными данными; соответственно запись состоит из последовательности элементарных данных, либо сама запись является элементарным данным.

Для обращения к ряду элементарных данных последние объ­единяются в группы или групповые данные. Каждая группа пред­ставляет названную последовательность, включающую одно или более элементарных данных. Группы, в свою очередь, могут быть объединены в группы из двух или нескольких групп и т. д. Таким образом, элементарное данное может принадлежать более чем одной группе.

Номера уровней

Система номеров уровней задает организацию элементарных данных или групп данных. Записи — наиболее объемлющие дан­ные, им присвоен номер уровня 01. Менее объемлющим данным присваиваются численно большие (не обязательно последователь­ные) номера уровней, не превосходящие 49. Имеются специаль­ные номера уровней 66, 77, 88, которые являются исключением из этого правила. Каждому используемому номеру уровня в исходной программе соответствует отдельная статья.

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

Имеется три типа статей, для которых понятие уровня не имеет силы:

статьи, описывающие элементарные данные или группы, вводимые фразой RENAMES (ПЕРЕИМЕНОВЫВАЕТ);

статьи, описывающие несвязанные данные в секциях рабо­чей ;памяти и связи;

статьи, которые описывают имена условий.

Данным, описанным фразой RENAMES (ПЕРЕИМЕНОВЫВА­ЕТ) с целью перегруппировки данных, присвоен специальный но­мер уровня 66.

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

Статьям, которые описывают имена условий, соответствующие отдельным значениям условных переменных, присвоен специаль­ный номер уровня 88.

Понятие класса данного

Пять категорий данных (ч. 6, п. 5.9) сгруппированы в три клас­са: буквенный, числовой и буквенно-цифровой. Для буквенных и числовых данных понятия класс и категория являются синони­мами. Буквенно-цифровой класс включает категории буквенно­цифровую редактируемую, числовую редактируемую и буквенно­цифровую (без редактирования). Каждое элементарное данное- принадлежит одному из классов и одной из категорий. Групповые- данные обрабатываются как буквенно-цифровые данные, незави­симо от класса элементарных данных, на которые подразделяется это групповое данное. Таблица показывает отношение между клас­сами и категориями данных.

В ы б о р представления литер и основания системы счисления

Значение числового данного может быть представлено в не­скольких формах, таких как двоичная или десятичная, в зависи­мости от оборудования. Кроме того, имеется несколько способов представления десятичных чисел. Так как эти представления яв­ляются в действительности комбинациями битов, они обычно на­зываются двоично-кодированной десятичной формой. Выбор ос­нования системы счисления обычно зависит от арифметических возможностей машины. Если допустима более чем одна арифмети­ческая форма, то выбранная форма указывается фразой об исполь­зовании. Двоично-кодированная десятичная форма используется также для представления литер и символов, которые являются бук­венно-цифровыми данными. Выбор надлежащей двоично-кодиро­ванной буквенно-цифровой или двоично-кодированной десятичной формы зависит от возможностей машины и ее внешней среды.

Когда ЭВМ обеспечивает несколько значений представления данных, должен быть использован стандартный формат данных,, если описание данного не оговаривает противного. Если как внеш­няя среда, так и машина допускают более чем одну форму пред­ставления или если внешняя среда, соответствующая данному, от­сутствует, выбор оговаривается во фразе об использовании, фразе- PICTURE (ШАБЛОН) и других фразах описания; данных. Каж- 142

дая реализация предоставляет полное объяснение возможных форм представления для ЭВМ, на которой она реализует Кобол. Метод выбора подходящей формы представления данного, исполь­зуемый реализацией, позволяет программисту предвидеть и (или) управлять этим выбором.

Данное

Класс

Категория

Элементарное

Буквенный

Буквенная

Числовой

Числовая

Буквенно-цифровой

Числовая редактируемая, буквенно-цифровая редак­тируемая, буквенно-цифро­вая

Неэлементарное .(групповое)

Буквенно-цифровой

Буквенная, числовая, чис­ловая редактируемая, бук­венно-цифровая редактиру­емая, буквенно-цифровая

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

А ліг е б р а и ч е с к и е знаки

, Алгебраические знаки разделяются на две категории: знак чис­ла,, который относится к числовому данному и числовому литералу со знаком, и знак редактирования, который появляется в редакти­рующей фразе для установления знака данного.

. Фраза SIGN (ЗНАК) позволяет программисту задать пред­ставление знака числа. Эта фраза необязательна; если она не ис­пользуется, представление знака числа определяется реализацией.

Редактирующие знаки вставляются в данное посредством ис­пользования символов фразы PICTURE (ШАБЛОН), управляе­мых знаком.

С т а н д а р т н ы е правила выравнивания

‘ Стандартные правила для расположения значения в поле эле­ментарного данного зависят от категории принимающего поля. Это следующие правила:

если принимающее поле описано как числовое, то:

данное выравнивается по десятичной точке и помещается в принимающее поле с дополнением нулями или усечением при не­обходимости на каждом из его концов;

когда подразумеваемая десятичная точка явно не задана, данное рассматривается так, как если бы оно имело подразумевае­мую десятичную точку, расположенную непосредственно за ее са­мой правой литерой, и было выровнено так, как указано выше;

если принимающее данное является числовым редактируе­мым данным, то пересылаемое данное выравнивается по десятич­ной точке и дополняется нулями или усекается на каждом из кон­цов, как указано позициями литер принимающего данного; кроме того, если это требуется редактированием, замещаются ведущие нули;

если принимающее данное буквенно-цифровое (отличное от числового редактируемого данного), буквенно-цифровое редак­тируемое или буквенное, пересылаемое данное помещается в при­нимающие позиции литер выровненным по самой левой позиции литер в данном и справа дополняется пробелами или усекается при необходимости.

Если задана фраза JUSTIFIED (СДВИНУТО) для принимаю­щего данного, перечисленные стандартные правила изменяются в соответствии с описанием для фразы JUSTIFIED (СДВИНУТО) (ч. 6, п. 5.6).

В ы р а в н и в а н и е данного для повышения эффективности объектного кода

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

Однако определенное использование данных (например, в арифметических операциях или при индексировании) может быть облегчено, если данные хранятся выровненными относительно ес­тественных границ памяти. В частности, если части двух или не­скольких данных расположены между соседними естественными границами или некоторая естественная граница дробит единое данное, для организации доступа к этим данным и их запомина­ния в рабочей программе могут потребоваться дополнительные ма­шинные операции.

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

Выделение может достигаться двумя путями:

применением фразы SYNCHRONIZED (ВЫДЕЛЕНО);

соответствующей естественным границам организацией данных без использования фразы SYNCHRONIZED (ВЫДЕЛЕ­НО).

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

Однозначность ссылок

Каждое имя, определенное пользователем в Кобол-программе, присваивается им определенному ресурсу, который будет исполь­зоваться в решении проблемы обработки данных (см. п. 4.2.2 нас­тоящей части). Что касается использования ресурсов, оператор в Кобол-программе должен содержать ссылку, которая однознач­но идентифицирует эти ресурсы.

Для гарантии однозначности ссылки имя, определенное пользо­вателем, можно уточнять, индексировать или модифицировать ссылку согласно правилам, описанным ниже.

Когда одно и то же имя используется в отдельных программах для двух или более появлений ресурсов одного и того же типа и когда само по себе уточнение не позволяет в одной из этих прог­рамм отличить два идентично названных ресурса, тогда применя­ются специальные соглашения, ограничивающие область действия имен. Эти соглашения гарантируют, что ресурсы идентифициро­ваны так, как описано в программе, содержащей ссылку (ч. 10, п. 1.3.8).

Если это не оговорено правилами для оператора, любое индек­сирование и модификация ссылки производятся только один раз как первая операция при выполнении оператора.

Уточнение

Каждое определенное пользователем имя, явно используемое в Кобол-программе, должно быть однозначным в силу одного из перечисленных ниже обстоятельств:

никакое другое имя не имеет идентичного написания;

имя однозначно в контексте фразы REDEFINES (ПЕРЕ­ОПРЕДЕЛЯЕТ) (ч. 6, п. 5.10);

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

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

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

программа содержится в другой программе либо содержит другую программу ( ч. 10, п. 1.3.8).

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

Побачили розбіжність з офіційним текстом?

Повідомити про неточність

Напишіть, що саме розходиться з офіційною публікацією. Код документа вкажіть у повідомленні — так ми швидше знайдемо потрібне місце.

Перейти до форми зворотного зв'язку

Дивіться також

Весь розділ →