ГОСТ 21551-76 сторінка 6 з 8
-
Оператор вывода чисел
Оператор вывода чисел задает вывод значений целых и действительных выражений и массивов, перечисленных в списке объектов вывода. Все числа выводятся в одном и том же формате, определяемом вторым фактическим параметром оператора.
-
Е Синтаксис числового формата
<повторитель> :: = <целое без знака>| <пусто>
| <В—часть> : : = <повторитель>В | <В—часть> <повтори- тель>В | <пусто> |
|---|---|---|
| <D — часть> : : = <повторитель>В/ <D— часть> <повто- ритель>Б | <D — часть><В—часть> | <пусто> |
| <знаковая часть> :: = + | — | <пусто> |
■Спелый формат> :: = <В — часть> <знаковая часть> <D — часть>
Сдробный формат> : : = <целый формат> | <целый фор.мат>. <D — часть>
<экспоненциалыный формат> : : = «Сдробный формат> 10<це- лый формат>
<числовой формат> : : = ‘E’|'Y’|‘Z’|‘Z1’|‘ZT|
‘ Е<экопоненциальный формат>’(
*¥<дробный формат>’
‘2<дробный формат>’
-
Семантика числового формата. Числовой формат определяет вид, в котором выводятся числа (в десятичной системе счисления). Числа перед выводом округляются. Буква D означает десятичную цифру, буква В — пропуск (интервал) между выводимыми символами, точка—десятичную точку.
Буква Z означает замену незначащих нулей пропусками (так называемое подавление нулей).
Если при этом перед десятичной точкой нет значащих цифр (пли число, выводимое в целом формате, оказывается равным нулю), то сохраняется один пуль. Знак помещается на место последнего подавленного пуля выводимого числа. Буква Y означает вывод без подавления пулей, то есть вывод такого количества цифр, какое указано в формате. Буква Е означает вывод числа в экспоненциальной форме с отличной от нуля первой цифрой. Знак + о знача- ет вывод знака числа во всех случаях, знак — означает вывод знака только у отрицательных чисел.
Если знаковая часть пустая, то знак не печатается (выводится абсолютное значение числа). Конструкция <повторитель> В или <повторитель> D эквивалентна соответствующее число раз повторенной букве В или D. Так, например, 5В эквивалентно ВВВВВ, 4D.3D эквивалентно DDDD.DDD. Числовой формат вида ‘Е’, ‘Y’, ‘Z’. ‘YI’ или ‘Z’ означает вывод чисел в стандартной форме. Для различных машин стандартные формы могут быть разными; они зависят от особенностей соответствующих выводных устройств. Буквы Z, Y и Е в числовых форматах ‘Z’, ‘Y’ и ‘Е’ имеют указанный выше смысл. ‘YE означает вывод целых чисел в стандартной форме без подавления нулей, ‘ZI’ означает вывод целых чисел в стандартной форме с подавлением нулей.
-
Оператор вывода логических значении
Оператор вывода логических значений задает вывод значений булевских выражений и массивов, перечисленных в списке объектов вывода. Все значения выдаются в одном и том же формате, определяемом вторым фактическим параметром оператора.
-
Синтаксис логического формата
<F — часть> :: ==5F| F
<логический формат>:: =‘L’/‘L <В - - часть> <F - - часть>
<В — часть>’
-
-
Семантика логического формата. 5F означает вывод значения логического выражения в виде FALSE или TRUE, причем при выводе TRUE после этого слова делается один пропуск. F означает вывод значения логического выражения, соответственно, в виде F или Т. ‘L’ означает вывод в стандартной форме.
-
-
Оператор вывода текста
Этот оператор задает вывод текстов, определяемых списком текстовых объектов вывода. Если текстовый объект есть строка, то выдается эта строка без внешних кавычек. Если текстовый объект есть переметшая с индексами, то она указывает на элемент массива, нанимая с которого располагаются целые числа, соответствующие последовательным символам выводимой строки в смысле процедурі,: TEXT (см. и. 6.6). Предполагаетс я, что указанный элемент массив,,а соответствует тг к рыгающей кавычке, которая не будет выведена. Конец ст,’Ок;і определяется элементом массива, соответствующим закрызаюид'й кавычке, которая также не выводится. Элементы массива, имеющие значение -нуль, исключаются из рассмотрения, то есть пуль трактуется как отсутствие информации. Отличные от нуля значения, не предусмотренные в таблице из п. 6.6.2, трактуются как ошибочные. В выводимых строках двоеточие используется только для изменения смысла следующего за ним символа. А именно,
комбинация:В задает пробел при выводе
комбинация:/задает переход к началу следующей строки
комбинация: Xзадает переход к началу следующей страницы комбинация:! задает вывод символа' комбинация^ задает вывод символа’ комбинация^ задает вывод символа:
-
Оператор размещения
-
Синтаксис формата размещения.
-
<знак размещения> :: =В | /1X
<указатель размещения^*:: = <повторитель> <знак разме- щення> J <указатель размещения> <повторитель> <знак размещения >
<формат размещения<:: =‘<указатель размещения>’
-
Семантика. В формате размещения знак В задает пробел, знак/задает переход к началу следующей строки, знак X задает переход к началу следующей страницы.
Все эти операции выполняются в том порядке, как они заданы в формате (слева направо). Если перед какой-либо операцией помещен повторитель, то она выполняется соответствующее количество раз.
Третий фактический параметр оператора размещения (если он имеется) определяет число повторений всей совокупности операций, задаваемых форматом размещения.
‘3.4. Опер а т о р р а з м е т к и
-
Синтаксис
<оператор разметки>:: =MARG (<канал>, <арифметиче- ское выражение>, <арифметическое выражение^*, <арифметическое выражение>, <арифметическое выражение^*, <арифметическое выражение>, <арифметическое выраже- i!iie>)| MARG (<канал>, <арифметическое выражение^*, <арифметическое выражение>, <арифметическое выраже- пие>, < арифметическое выражение>, <арифметическое выражение^*, <арифметическое выражение^*, Аарифметп- ческое выражение>)| LMARG(<i<aiiaB>, <переменная>, <перемениая>, <перемен'ная>, <переменная>, <пере- меппая>, <переменная>)
-
Семантика
С каждым каналом вывода связан некоторый стандарт разметки выводимой информации (для каждой машины свой). Эта раз- метка характеризуется шестью величинами': размер левого поля, длина печатаемой строки, размер правого поля, размер верхнег
о
поля, число печатаемых на одной странице строк, размер 'нижнего поля (см. чертеж). При выполнении оператора LMARG перечисленным в нем переменным присваиваются значения указанных выше шести величин в том порядке, в каком они выписаны. Для изменения указанных выше стандартных размеров слу
ж
ит оператор процедуры MARG. После выполнения этого оператора шесть размеров, определяющих вид страницы, делаются равными значениям фактических параметров со второго по седьмой в таком же порядке, как и для процедуры LMARG.
Восьмой фактический параметр процедуры MARG задает начальное значение номера страницы. Если этого параметра нет, то нумерация страниц начинается с 1.
6.5. Процедуры ввода
-
Синтаксис
<оператор ввода> ::= INPUT (<канал>, <сппсок объектов ввода>)
Ссписок объектов ввода> : : =<объект ввода>| <список объектов ввода>, <объект ввода>
<объект ввода> : : =<идентификатор массива> ] Спростая пе- ременная> I <переменпая с ипдексом>
-
Семантика операторов ввода
Операторы ввода задают ввод числовых, логических или текстовых данных через канал, номер которого определяется первым фактическим параметром. Форма, в которой должны быть подготовлены эти данные, определяется в п. 6.5.3. Каждому объекту ввода должна соответствовать одна группа данных (см. п. 6.5.3). Простым переменным и идентификаторам массивов соответствуют группы числовых или логических данных, переменным с индексами соответствуют группы текстовых данных. Если количество данных в группе превосходит динамически определяемые описаниями размеры объектов ввода, то результат выполнения оператора ввода не определен.
При вводе текста последовательным элементам массива, начиная с указанного в объекте ввода, присваиваются целые значения, соответствующие последовательным символам вводимой строки (включая внешние кавычки) в смысле процедуры TEXT (см. п. 6.6).
-
Группы данных
<элемент числового ввода> :". = <ч,исло> / <"комментарий >
<число>
<список элементов числового ввода> : : = <элемент числового ввода> I <список элементов числового ввода>, <элемент числового ввода>
<группа числовых данных> : : = <список элементов числового ввода >;
<элемент логического ввода> : : = <логическое значение> | <комментарий><логическое значение>
<список элементов логического ввода> : : = <элемент логического ввода> I <список элементов логического ввода>,<эле- мент логического ввода>
Сгруппа логических данных> : : = <список элементов логического ввода >;
<открытый комментарий>:: = <буква> / <открытый коммен- тар.ий><любой символ, кроме символа «:», символа « = » или «: = »>
<коммеитарий> : : = <открытый комментарий> : | <открытый комментарий> = I <открытый комментарий> : =
<группа текстовых данных> : : = <строка>
-
Процедура TEXT
-
Синтаксис
-
<оператор текст> : : =ТЕХТ (<строка>, <перемеппая с индексами^
-
Семантика
Процедура TEXT присваивает последовательным элементам массива, начиная с элемента, указанного вторым фактическим параметром, целые значения, соответствующие последовательным символам строки, являющейся первым фактическим параметром (включая внешние кавычки).
Соответствие между символами строки и целыми числами определяется следующей таблицей.
|
А |
1 |
К |
И |
и |
21 |
4 |
84 |
X |
136 |
Л |
146 |
|||||
|
В |
2 |
L |
12 |
V |
22 |
5 |
85 |
/ |
137 |
V |
147 |
|||||
|
С |
3 |
М |
13 |
W |
23 |
6 |
86 |
А |
138 |
Л |
148 |
|||||
|
I) |
4 |
N |
14 |
X |
24 |
7 |
87 |
139 |
4 |
149 |
||||||
|
Е |
5 |
О |
15 |
Y |
25 |
8 |
88 |
ПО |
go to |
200 |
||||||
|
F |
6 |
Р |
16 |
Z |
26 |
9 |
89 |
- |
141 |
if |
201 |
|||||
|
G |
7 |
Q |
17 |
0 |
80 |
true |
130 |
142 |
then |
202 |
||||||
|
II |
8 |
R |
18 |
1 |
81 |
False |
131 |
143 |
else |
203 |
||||||
|
I |
9 |
S |
19 |
2 |
82 |
• |
134 |
144 |
For |
201 |
||||||
|
J |
10 |
Т |
20 |
3 |
83 |
135 |
145 |
do |
205 |
|||||||
|
210 |
comment |
220 |
integer |
230 |
||||||||||||
|
• |
211 |
( |
221 |
real |
231 |
|||||||||||
|
10 |
212 |
) |
222 |
array |
232 |
|||||||||||
|
- |
213 |
I |
223 |
switch |
233 |
|||||||||||
|
> |
214 |
J |
224 |
procedure |
234 |
|||||||||||
|
: = |
215 |
225 |
string |
235 |
||||||||||||
|
216 |
* |
226 |
label |
236 |
||||||||||||
|
step |
217 |
begin |
227 |
value |
237 |
|||||||||||
|
until |
218 |
end |
228 |
|||||||||||||
|
while |
219 |
Boolean |
229 |
|||||||||||||
Побачили розбіжність з офіційним текстом?
Дивіться також
Сборник ГОСТ ЕСКД
Збірник із 154 стандартів