Каждая строка должна начинаться с номера-строки. Целые числа, представляющиеномера-строк, должны быть больше нуля; ведущие ну­ли в числе, представляющем номер-строки, игнорируются. Операторы выполняются поочередно в соответствии с возрастанием номеров-строк.

Определение конца-строки зависит от реализации. В качестве койца- строки может использоваться символ возврата каретки или символ воз­врата каретки, после которого идет символ перевода строки, или конец физической записи.

Строка программы, соответствующей стандарту, может содержать до 72 символов. Признак конца-строки не входит в это число .символов.

Оператор-конца не только указывает на физический конец тела прог­раммы, но и должен завершать выполнение программы.' 2*

3.2.5. Примечания

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

3.3. Константы

'3.3.1. Общее описание

Константы могут быть числовыми и текстовыми.

Числовая константа — это число в десятичной системе счисления. Существуют четыре основных формата представления числовых конс­тант:

  1. представление с неявно заданной sd ... d точкой

  2. представление с явно заданной точ- sd ... drd ... d кой без задания порядка

  3. представление с явно заданной точ- sd ... drd ... dEsd .. . d кой с заданным порядком

  4. представление с неявно заданной sd ... dEsd .. . d точкой с заданным порядком, где d - деся­тичная цифра; г — знак-точка; s — знак- плюс или знак-минус; Е - буква Е, пока­затель порядка.

Текстовая константа — это последовательность символов, заключен­ная в кавычках.

  1. 3.2. Синтаксис

  1. числовая-константа = знак? число

  2. знак = плюс | минус

  3. число = мантисса порядок?

, 4) мантисса = (целое точка?) | (целое? дробная-часть) 5) целое = цифра цифра *

  1. дробная-часть = точка целое

  2. порядок = Е знак? целое

  3. текстовая-константа = текст-в-кавычках

  4. 3.3. Примеры

1) -21

IEI0

5E-I

.4E+I 500 I .255

  1. ”XYZ”

”Х—ЗВ2”

’’ІЕІО”

  1. Семантика

Значением числовой константы является число, представленное этой константой. Буква Е указывает ’’степень числа 10”; при отсутствии зна­ка после Е подразумевается плюс. Пробелы в числовых константах зап­рещены.

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

Порядок числовой константы также может содержать произвольное число цифр. Если величина ненулевой числовой константы выходит за пределы диапазона,’определенного реализацией, фиксирууется исключи­тельная ситуация. Минимальный диапазон для числовых констант должен быть в пределах от IE—38 до IE+38. Величины констант мецыпе машин­ной точности должны заменяться нулем. Если величина констант больше машинного максимуму, то должно диагностироваться переполнение.

Значением текстовой константы является вся последовательность символов между кавычками, включая пробелы. Длина текстовой кон­станты, т.е. число символов между кавычками, ограничена только дли­ной строки.

  1. Исключения

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

  1. Примечания

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

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

  1. Переменные

    1. Общее описание

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

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

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

Для обозначения текстовой-переменной служит буква, за которой следует знак денежной единицы.

Язык Бейсик не требует явных описаний типов переменных. Знак денежной единицы указывает на текстовую переменную, а индекс отли­чает индексированную переменную от простой-числовой переменной.

  1. Синтаксис

  1. переменная = числовая-переменная | текстовая-переменная

  2. числовая-переменная = простая-числовая-переменная | элемент- числового-массива

  3. простая-числовая-переменная = буква цифра?

  4. элемент-числового-массива = идентификатор-числового-массива индекс

  5. идентификатор-числового-массива = буква

  6. индекс = круглая-скобка-левая арифметическое-выражение (запятая арифметическое-выражение) ? круглая-скобка-правая

  7. текстовая-переменная — буква знак-денежной-единицы

  1. Примеры

  1. X

А5

  1. V(3)

W(X,X+Y/2)

  1. Sit

  1. Семантика

В каждый момент выполнения программы числовой-переменной со­ответствует единственное числовое значение, а текстовой-переменной - единственное текстовое значение. Значение, соответствующее перемен­ной, может изменяться при выполнении операторов программы. Длина текста, соответствующего текстовой-переменной, может изменяться в процессе выполнения программы от нуля символов (нулевая или пус­тая текстовая-переменная) до максимального количества символов, допускаемого реализацией. Максимально допустимая длина текстовой- переменной определяется реализацией. При этом реализация должна обеспечить длину не менее 18 символов.

Простые-числовые-переменные и текстовые-переменные объявля­ются неявно при их первом появлении в программе.

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

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

Начальные значения, присваиваемые переменным, должны опреде­ляться реализацией.

  1. Исключения

Значения индекса выходит за границы явно или неявно объявлен­ного диапазона (неустранимая ошибка).

ЗА.6. Примечания

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

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

  1. Выражения

    1. Общее описание

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

Текстовые-выражения составляются либо из текстовых переменных, либо из текстовых констант.

  1. Синтаксис

  1. выражение = арифметическое-выражение | текстовое-выражение

  2. арифметическое-выражение = знак? терм (знак терм) *

  3. терм = сомножитель (знак-умножения сомножитель) *

  4. сомножитель = первичный (стрелка-вверх первичный) *

  5. знак-умножения = звездочка дробная-черта

  6. первичный = числовая-переменная | число | обращение-к-число- вой-функции I круглая-скобка-левая арифметическое-выражение круг­лая -скобка-правая

  7. обращение-к-числовой-функции = имя-числовой-функции список- аргументов?

  8. имя-числовой-функции = функция-определенная-пользователем | встроенная-числОвая функция

список-аргументов = круглая-скобка-левая аргумент круглая- скобка-права

  1. яаргумент = арифметическое-выражение

  2. текстовое-выражение = текстовая-переменная I текстовая- константа

  1. Примеры

2) 3*Х—Ул2

А(1)+А(2)+А(3)

. —X/Y

4) 2Л(—X)

6) SQR(XA2+YA2)

  1. Семантика

Формирование и вычисление арифметических-выражений произ­водится по обычным алгебраическим правилам. Символы стрелка- вверх (Л), звездочка (*), дробная черта(/), плюс (+) и минус (-) пред­ставляют операции возведения в степень, умножения, деления, сложения и вычитания соответственно. Если скобки не меняют порядка вычисле­ний, то операции возведения в степень выполняются первыми, затем вы­полняются операции умножения и деления и, наконец, операции сложе­ния и вычитания. При отсутствии скобок операции одного старшинства выполняются слева направо.

А—В—С интерпретируются как (А—В)—С;

АЛВЛС как (АЛВ)ЛС;

А/В/С как (А/В)/С и

лВкак — (АЛВ).

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

0J0 по определению равно I.

При вычислении выражения учитываются свойства ассоциативнос­ти и коммутативности операций.

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

Обращение-к-функции - это запись вызова ранее определенного алгоритма, в который вместо параметра, заданного в описании функции, подставляется значение аргумента.

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

Значением текс^ового-выражения является значение текстовой- переменной или текстовой-константы, которая образует текстовое-вы­ражение.

  1. Исключения

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

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

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

  1. Примечания

Точность вычисления выражений зависит от реализации, но резуль­тат должен иметь не менее 6 значащих цифр.

Метод вычисления степени числа может зависеть от того, является ли показатель степени целым числом или нет. Если показатель степени целое число, то возведение в степень можно заменить многократным умноже­нием, если же показатель степени дробное число, то вычисление степени рекомендуется выполнять при помощи встроенных функций LOG и ЕХР (см. п. 3.6.).

  1. В с т р о е н н ы е-ф у н к ц и и

    1. Общее описание

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

  1. Синтаксис

Встроенная функция = ABS | ATN | COS | EXP | INTI LOG |RND|SGN| -SINISQRITAN

  1. Семантика

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

Таблица 1

Функция

Значение функции

ABS (X)

Абсолютное значение X

ATN(X)

Арктангенс X в радианах, т.е. угол, тангенс которого равен X. Диапазоном функции является 0 < ATN(X) < (pi/2), при этом pi является отношением длины окружности круга к его диаметру

COS(X)

Косинус X, где X измеряется в радианах

ЕХР(Х)

Экспонента X, т.е. значение основания натурального логарифма (е = 2.718(28. . ,), возведенное в степень X; если ЕХР(Х) меньше


машинного минимума, то ее значение заменяется нулем

INT(X)

Наибольшее целое, не превышающее X"; например, INT (1.3) = 1 и

INT(—1.3)=-2

LOG(X) 1

3-Г265

Натуральный логарифм X; X должен быть больше нуля