1. Примеры

  1. DATA 3.I4I59, PI, 5E-I0,

  1. READ X, У, Z

READ X(I), А(3)

  1. RESTORE

  1. Семантика

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

При выполнении оператора-хранения-данных никаких действий не производится, происходит переход на следующую строку.

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

Оператор-восстановления-указателя-рассылки возвращает указа­тель на начало последовательности, так что при выполнении следующе­го оператора-рассылки-данных данные будут считываться, начиная с первой заданной-величины из' последовательности;

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

Индексированные выражения из списка-переменных вычисляются после того, как предшествующим переменным (т.е. стоящим левее их) присвоены соответствующие значения.

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

Список-переменных в операторе-рассылки-данных требует, большее число данных, чем осталось в списке, заданном оператором-хранения- данных (неустранимая ошибка).

Попытка присвоить числовой-переменной текст-в-кавычках или текст-не-в-ковычках, которая не является представлением числовой константы (неустранимая ошибка).

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

Присваивание заданной-величины текстовой-переменной приводит к переполнению текстовой переменной. Возникает неустранимая ошиб­ка.

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

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

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

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

  1. О б ъ я в л е н и я массивов

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

Оператор-обьявления-массива резервирует память под одномер­ный или двумерный массив. Оператор-обьявления-нижней-границы оп­ределяет нижнюю границу для всех индексов массива. Использование оператора-объявления-нижней-границы дает возможность объявить в качестве нижней границы индексов массива нуль или единицу. Если нет объявления верхней границы индексов массива, по умолчанию они полагается равной 10. Таким образом, резервируется память для 10 или 'П элементов в одномерном случае и 100 или 121 элемента в дву­мерном случае в зависимости от установленной нижней границы. Опе- ратор-объявления-массива может объявлять массивы с верхней грани цей индексов, отличной от десяти.

Общая синтаксическая форма оператора-объявления-массива сле­дующая:

,DIM объявление,.. ., объявление где каждое объявление имеет вид: буква (целое)

или

буква (целое, целое)

Общая . синтаксическая. форма оператора-объявления-нижней-гра- ницы следующая:

OPTION BASE n

где n — либо 0, либо I.

  1. Синтаксис

  1. оператор-объявления-массива = DIM объявление-массива (запя­тая объявление-массива) *

  2. объявление-массива = имя-числового-массива круглая-скобка- левая границы круглая-скобка-правая

  3. границы = целое (запятая целое) ?

  4. оператор-объявления-нижней-границы = OPTION BASE (0| I)

  1. Примеры

  1. DIM A (6), В (10,10)

  1. OPTION BASE I

  1. Семантика

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

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

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

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

Программа может содержать только один оператор-объявления- нижней-границы.

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

Каждый массив в программе можно объявлять только один раз.

  1. О п е р а т о р-п р им еч ан и й

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

Оператор-примечаний позволяет документировать программу.

  1. Синтаксис

Оператор-примечаний = REM текст-примечаний

  1. Примеры

REM ОКОНЧАТЕЛЬНАЯ ПРОВЕРКА

  1. Семантика

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

  1. 3 а пу*с к-г е н ератора-псевдослучайных-чи- с е л

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

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

Оператор-запуска-генератора псевдослучайных-чисел = RANDOMIZE

  1. Примеры '

RANDOMIZE

  1. Семантика

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

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

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

4. МОДУЛЬ РАСШИРЕНИЯ ОСНОВНЫХ СРЕДСТВ

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

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

  1. Уровень 1

    1. С и м в о л ы и тексты

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

Набор символов дополнительно включает строчные буквы латинско­го и русского алфавитов.

  1. Синтаксис

5) символ-текста-в-кавычках = строчная-буква-латинская | строч- цая-бу кв а-русск ая

  1. строчная-буква-латинская = a|b|c|d|e|f|g|h|i|jfk|l|m|o|p|q|r| sfjt|u|v|w|x|y|'z

  2. строчная-буква-русская = а|б|в|г|д|е|ё|ж|з|и|й|к|л|м|н|о|п| р|с|т|у|ф.|х|ц| ч||ш| щ|ъ |ы| ь| э|ю| я

  1. Семантика

Все буквы представляют собой множество прописных и строчных букв латинского и русского алфавитов.

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

Все строчные буквы латинского и русского алфавитов могут исполь­зоваться только в примечаниях и в качестве констант (см. п. 4.1.3.).

  1. Программы

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

Расширение основных средств допускает размещение в одной строке нескольких операторов. Кроме того, расширен список допустимых операторов.

  1. Синтаксис

. 3) строка-с-оператором = номер-строки пробел * оператор (пробел * двоеточие пробел * оператор) * конец-строки

  1. оператор = оператор-определения функции I оператор-определе- ния-типа-переменной | оператор-описания-массива | оператор-условного- перехода І оператор-ввода | оператор-присваивания I оператор-ввода- текста I оператор-вывода-строки-на-печать | оператор-выделения-под- стрбки I оператор-обработки-ошибок | оператор-вычисляемого-вызова- подпрограммы | оператор-записи-в-оперативную-память | оператор-фор- матированного-вывода | оператор-выхода-из-подпрограммы-обработки- ошибок I оператор-восстановления-указателя-рассылки | оператор-вклю- чения-трассировки | оператор-выключения-трассировки

4 Л,2-3. Примеры

  1. ПО LET А = 5 : PRINT А : STOP

  2. Сёмантика

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

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

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

После некоторых операторов не допускается наличие других опера­торов, отделенных двоеточием (см. пп. 3.15,4.1.9).

  1. К о н с т а н т ы

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

Дополнительно допускаются следующие типы числовых констант:

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

  2. представление с неявно заданной sd . . . dDsd . . . d точкой с за­данным порядком

  3. представление в виде &Hh ... h шестнадцатеричного числа

Здесь D — явный символ D, Н — явный символ Н, a h — десятичная цифра или одна из прописных букв А, В, С, D, Е или F.

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

  1. Синтаксис

  1. 4) мантисса = (целое тип?) | (целое точка тип?) | (целое дробная- часть тип?) I шестнадцатеричное-значениепорядок = (Е знак? целое) | (D знак? целое)

  1. тип = процент I восклицательный-знак | номер

  2. шестнадцатеричное-значение =&Н шестнадцатеричная-цифра шес- тнадцатеричная-цифра *

  3. шестандцатеричная-цифра = цифра |A|B|C|D|E|t

4 Л 3.5. Примеры

’ 3) 5.7 #

6%

7! •

  1. &Н2В7

  1. Семантика

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

Числовая константа с одинарной точностью - это вещественное число, содержащее в записи не более семи цифр, или содержащее порядок с буквой Е, или заканчивающееся символом восклицательный знак (!), или не содержащее указателя типа.

Числовая константа с'удвоенной точностью — это вещественное число, содержащее в записи более семи цифр, или содержащее порядок с буквой D, или заканчивающееся символом номер (N).

Целая константа - это целое число, заканчивающееся символом про­цент (%).

Шестнадцатеричные цифры представляются цифрами от 0 до 9, а так­же буквами, причем А — соответствует 10.В — 11,С — 12, D— 13, Е — 14 иЕ—15.

Шестнадцатеричные константы должны рассматриваться как кон-’ станты целого типа.

Диапазон представления чисел зависит от реализации. Диапазон для целых чисел должен быть не менее чем от — 32768 до+32/67.

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

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

Тип константы по умолчанию определяется реализацией.

4.1.4. Переменные

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

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

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